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.
Files changed (59) hide show
  1. {pycaption-2.2.16 → pycaption-2.2.18}/MANIFEST.in +0 -1
  2. {pycaption-2.2.16/pycaption.egg-info → pycaption-2.2.18}/PKG-INFO +4 -3
  3. pycaption-2.2.18/pycaption/transcript.py +33 -0
  4. {pycaption-2.2.16 → pycaption-2.2.18/pycaption.egg-info}/PKG-INFO +4 -3
  5. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption.egg-info/SOURCES.txt +0 -1
  6. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption.egg-info/requires.txt +1 -1
  7. {pycaption-2.2.16 → pycaption-2.2.18}/setup.py +2 -2
  8. pycaption-2.2.16/pycaption/english.pickle +0 -61702
  9. pycaption-2.2.16/pycaption/transcript.py +0 -35
  10. {pycaption-2.2.16 → pycaption-2.2.18}/LICENSE +0 -0
  11. {pycaption-2.2.16 → pycaption-2.2.18}/README.rst +0 -0
  12. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/__init__.py +0 -0
  13. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/base.py +0 -0
  14. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/dfxp/__init__.py +0 -0
  15. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/dfxp/base.py +0 -0
  16. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/dfxp/extras.py +0 -0
  17. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/exceptions.py +0 -0
  18. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/geometry.py +0 -0
  19. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/microdvd.py +0 -0
  20. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/sami.py +0 -0
  21. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/__init__.py +0 -0
  22. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/constants.py +0 -0
  23. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/specialized_collections.py +0 -0
  24. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/state_machines.py +0 -0
  25. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/scc/translator.py +0 -0
  26. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/srt.py +0 -0
  27. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/utils.py +0 -0
  28. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption/webvtt.py +0 -0
  29. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption.egg-info/dependency_links.txt +0 -0
  30. {pycaption-2.2.16 → pycaption-2.2.18}/pycaption.egg-info/top_level.txt +0 -0
  31. {pycaption-2.2.16 → pycaption-2.2.18}/setup.cfg +0 -0
  32. {pycaption-2.2.16 → pycaption-2.2.18}/tests/__init__.py +0 -0
  33. {pycaption-2.2.16 → pycaption-2.2.18}/tests/conftest.py +0 -0
  34. {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/__init__.py +0 -0
  35. {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/dfxp.py +0 -0
  36. {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/microdvd.py +0 -0
  37. {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/sami.py +0 -0
  38. {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/scc.py +0 -0
  39. {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/srt.py +0 -0
  40. {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/translated_scc.py +0 -0
  41. {pycaption-2.2.16 → pycaption-2.2.18}/tests/fixtures/webvtt.py +0 -0
  42. {pycaption-2.2.16 → pycaption-2.2.18}/tests/mixins.py +0 -0
  43. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_base.py +0 -0
  44. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_dfxp.py +0 -0
  45. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_dfxp_conversion.py +0 -0
  46. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_dfxp_extras.py +0 -0
  47. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_functions.py +0 -0
  48. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_geometry.py +0 -0
  49. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_microdvd.py +0 -0
  50. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_microdvd_conversion.py +0 -0
  51. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_sami.py +0 -0
  52. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_sami_conversion.py +0 -0
  53. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_scc.py +0 -0
  54. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_scc_conversion.py +0 -0
  55. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_scc_translator.py +0 -0
  56. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_srt.py +0 -0
  57. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_srt_conversion.py +0 -0
  58. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_webvtt.py +0 -0
  59. {pycaption-2.2.16 → pycaption-2.2.18}/tests/test_webvtt_conversion.py +0 -0
@@ -1,3 +1,2 @@
1
- include pycaption/english.pickle
2
1
  recursive-include tests *
3
2
  include README.rst
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pycaption
3
- Version: 2.2.16
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.8.0; extra == "transcript"
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.2
1
+ Metadata-Version: 2.4
2
2
  Name: pycaption
3
- Version: 2.2.16
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.8.0; extra == "transcript"
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
@@ -4,7 +4,6 @@ README.rst
4
4
  setup.py
5
5
  pycaption/__init__.py
6
6
  pycaption/base.py
7
- pycaption/english.pickle
8
7
  pycaption/exceptions.py
9
8
  pycaption/geometry.py
10
9
  pycaption/microdvd.py
@@ -7,4 +7,4 @@ pytest
7
7
  pytest-lazy-fixture
8
8
 
9
9
  [transcript]
10
- nltk==3.8.0
10
+ nltk==3.9.1
@@ -16,11 +16,11 @@ dependencies = [
16
16
 
17
17
  dev_dependencies = ["pytest", "pytest-lazy-fixture"]
18
18
 
19
- transcript_dependencies = ["nltk==3.8.0"]
19
+ transcript_dependencies = ["nltk==3.9.1"]
20
20
 
21
21
  setup(
22
22
  name="pycaption",
23
- version="2.2.16",
23
+ version="2.2.18",
24
24
  description="Closed caption converter",
25
25
  long_description=open(README_PATH).read(),
26
26
  author="Joe Norton",