Stricter canConvert for speech conversions

This commit is contained in:
2021-12-14 14:25:30 -07:00
parent 4378c91ae2
commit ccb6e23cb6

View File

@@ -1,8 +1,13 @@
// KTxt2 Conversions for Fountain files // KTxt2 Conversions for Fountain files
(function isUpperCase [s]
(= s (s.toUpperCase)))
(registerConversion (registerConversion
(new ktxt2.StreamConversion "On Phone Speech" "fountain" "hollywoo" (new ktxt2.StreamConversion "On Phone Speech" "fountain" "hollywoo"
->stream ?(whenLet [(Some name) (stream.takeUntilAndDrop " (O.P.")] true) ->stream
?(whenLet [(Some name) (stream.takeUntilAndDrop " (O.P.")]
(and (isUpperCase name) {(stream.dropWhitespace) !(stream.isEmpty)}))
->stream ->stream
(let [name (whenLet [(Some name) (stream.takeUntilAndDrop "(O.P.")] name) (let [name (whenLet [(Some name) (stream.takeUntilAndDrop "(O.P.")] name)
&mut output ""] &mut output ""]
@@ -18,7 +23,7 @@
(new ktxt2.StreamConversion "Normal Speech" "fountain" "hollywoo" (new ktxt2.StreamConversion "Normal Speech" "fountain" "hollywoo"
->stream ?(whenLet [(Some name) (stream.takeLine) ->stream ?(whenLet [(Some name) (stream.takeLine)
None (indexOf name "(O.P.") None (indexOf name "(O.P.")
None (indexOf name "(V.O.")] true) None (indexOf name "(V.O.")] (and (isUpperCase name) {(stream.dropWhitespace) !(stream.isEmpty)}))
->stream ->stream
(let [name (whenLet [(Some name) (stream.takeLine)] name) (let [name (whenLet [(Some name) (stream.takeLine)] name)
&mut output ""] &mut output ""]