pycaption 2.2.16__tar.gz → 2.2.18__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pycaption-2.2.16 → pycaption-2.2.18}/MANIFEST.in +0 -1
- {pycaption-2.2.16/pycaption.egg-info → pycaption-2.2.18}/PKG-INFO +4 -3
- pycaption-2.2.18/pycaption/transcript.py +33 -0
- {pycaption-2.2.16 → pycaption-2.2.18/pycaption.egg-info}/PKG-INFO +4 -3
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption.egg-info/SOURCES.txt +0 -1
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption.egg-info/requires.txt +1 -1
- {pycaption-2.2.16 → pycaption-2.2.18}/setup.py +2 -2
- pycaption-2.2.16/pycaption/english.pickle +0 -61702
- pycaption-2.2.16/pycaption/transcript.py +0 -35
- {pycaption-2.2.16 → pycaption-2.2.18}/LICENSE +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/README.rst +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/__init__.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/base.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/dfxp/__init__.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/dfxp/base.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/dfxp/extras.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/exceptions.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/geometry.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/microdvd.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/sami.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/__init__.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/constants.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/specialized_collections.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/state_machines.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/translator.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/srt.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/utils.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/webvtt.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption.egg-info/dependency_links.txt +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/pycaption.egg-info/top_level.txt +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/setup.cfg +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/__init__.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/conftest.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/__init__.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/dfxp.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/microdvd.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/sami.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/scc.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/srt.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/translated_scc.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/webvtt.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/mixins.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_base.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_dfxp.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_dfxp_conversion.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_dfxp_extras.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_functions.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_geometry.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_microdvd.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_microdvd_conversion.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_sami.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_sami_conversion.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_scc.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_scc_conversion.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_scc_translator.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_srt.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_srt_conversion.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_webvtt.py +0 -0
- {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_webvtt_conversion.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pycaption
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.18
|
|
4
4
|
Summary: Closed caption converter
|
|
5
5
|
Author: Joe Norton
|
|
6
6
|
Author-email: joey@nortoncrew.com
|
|
@@ -29,11 +29,12 @@ Provides-Extra: dev
|
|
|
29
29
|
Requires-Dist: pytest; extra == "dev"
|
|
30
30
|
Requires-Dist: pytest-lazy-fixture; extra == "dev"
|
|
31
31
|
Provides-Extra: transcript
|
|
32
|
-
Requires-Dist: nltk==3.
|
|
32
|
+
Requires-Dist: nltk==3.9.1; extra == "transcript"
|
|
33
33
|
Dynamic: author
|
|
34
34
|
Dynamic: author-email
|
|
35
35
|
Dynamic: classifier
|
|
36
36
|
Dynamic: description
|
|
37
|
+
Dynamic: license-file
|
|
37
38
|
Dynamic: project-url
|
|
38
39
|
Dynamic: provides-extra
|
|
39
40
|
Dynamic: requires-dist
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from pycaption.base import BaseWriter, CaptionNode
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class TranscriptWriter(BaseWriter):
|
|
5
|
+
def __init__(self, *args, **kw):
|
|
6
|
+
try:
|
|
7
|
+
from nltk import PunktSentenceTokenizer
|
|
8
|
+
|
|
9
|
+
self.tokenizer = PunktSentenceTokenizer()
|
|
10
|
+
except ModuleNotFoundError as exc:
|
|
11
|
+
raise ModuleNotFoundError(
|
|
12
|
+
"Missing Dependency: You must install nltk"
|
|
13
|
+
) from exc
|
|
14
|
+
|
|
15
|
+
def write(self, captions):
|
|
16
|
+
transcripts = []
|
|
17
|
+
|
|
18
|
+
for lang in captions.get_languages():
|
|
19
|
+
lang_transcript = ""
|
|
20
|
+
|
|
21
|
+
for caption in captions.get_captions(lang):
|
|
22
|
+
lang_transcript = self._strip_text(caption.nodes, lang_transcript)
|
|
23
|
+
|
|
24
|
+
lang_transcript = "\n".join(self.tokenizer.tokenize(lang_transcript))
|
|
25
|
+
transcripts.append(lang_transcript)
|
|
26
|
+
|
|
27
|
+
return "\n".join(transcripts)
|
|
28
|
+
|
|
29
|
+
def _strip_text(self, elements, lang_transcript):
|
|
30
|
+
return " ".join(
|
|
31
|
+
[lang_transcript]
|
|
32
|
+
+ [el.content for el in elements if el.type_ == CaptionNode.TEXT]
|
|
33
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pycaption
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.18
|
|
4
4
|
Summary: Closed caption converter
|
|
5
5
|
Author: Joe Norton
|
|
6
6
|
Author-email: joey@nortoncrew.com
|
|
@@ -29,11 +29,12 @@ Provides-Extra: dev
|
|
|
29
29
|
Requires-Dist: pytest; extra == "dev"
|
|
30
30
|
Requires-Dist: pytest-lazy-fixture; extra == "dev"
|
|
31
31
|
Provides-Extra: transcript
|
|
32
|
-
Requires-Dist: nltk==3.
|
|
32
|
+
Requires-Dist: nltk==3.9.1; extra == "transcript"
|
|
33
33
|
Dynamic: author
|
|
34
34
|
Dynamic: author-email
|
|
35
35
|
Dynamic: classifier
|
|
36
36
|
Dynamic: description
|
|
37
|
+
Dynamic: license-file
|
|
37
38
|
Dynamic: project-url
|
|
38
39
|
Dynamic: provides-extra
|
|
39
40
|
Dynamic: requires-dist
|
|
@@ -16,11 +16,11 @@ dependencies = [
|
|
|
16
16
|
|
|
17
17
|
dev_dependencies = ["pytest", "pytest-lazy-fixture"]
|
|
18
18
|
|
|
19
|
-
transcript_dependencies = ["nltk==3.
|
|
19
|
+
transcript_dependencies = ["nltk==3.9.1"]
|
|
20
20
|
|
|
21
21
|
setup(
|
|
22
22
|
name="pycaption",
|
|
23
|
-
version="2.2.
|
|
23
|
+
version="2.2.18",
|
|
24
24
|
description="Closed caption converter",
|
|
25
25
|
long_description=open(README_PATH).read(),
|
|
26
26
|
author="Joe Norton",
|