Skip to main content

Subtitles extremely clean

Project description

CleanIt

Subtitles extremely clean.

Latest Version

Travis CI build status

License

CleanIt is a command line tool that helps you to keep your subtitles clean. You can specify your own rules to detect entries to be removed or patterns to be replaced. Simple text matching or complex regex can be used. It comes with standard rules out of the box:

  • ocr: Fix common OCR errors
  • tidy: Fix common formatting issues (e.g.: extra/missing spaces after punctuation)
  • no-sdh: Remove SDH descriptions
  • no-lyrics: Remove lyrics
  • no-spam: Remove ads and spams
  • no-style: Remove font style tags like <i> and <b>
  • minimal: includes only ocr and tidy rules
  • default: includes all rules except no-style

Usage

CLI

Clean subtitles:

$ cat mysubtitle.srt
1
00:00:46,464 --> 00:00:48,549
-And then what?
-| don't know.

2
00:49:07,278 --> 00:49:09,363
- If you cross the sea
with an army you bought ...


$ cleanit -t default mysubtitle.en.srt
1 subtitle collected / 0 subtitle filtered out / 0 path ignored
1 subtitle saved / 0 subtitle unchanged

$ cat mysubtitle.srt
1
00:00:46,464 --> 00:00:48,549
- And then what?
- I don't know.

2
00:49:07,278 --> 00:49:09,363
If you cross the sea
with an army you bought...


$ cleanit -t ocr -t no-sdh -t tidy -l en -l pt-BR ~/subtitles/
423 subtitles collected / 107 subtitles filtered out / 0 path ignored
Cleaning subtitles  [####################################]  100%
268 subtitles saved / 155 subtitles unchanged

Using docker:

$ docker run -it --rm -v /medias:/medias -u $(id -u username):$(id -g username) ratoaq2/cleanit -t default /medias
1072 subtitles collected / 0 subtitle filtered out / 0 path ignored
Cleaning subtitles  [####################################]  100%
980 subtitle saved / 92 subtitles unchanged

API

from cleanit import Config, Subtitle

sub = Subtitle('/subtitle/path/subtitle.en.srt')
cfg = Config.from_path('/config/path')
rules = cfg.select_rules(tags={'ocr'})
if sub.clean(rules):
    sub.save()

YAML Configuration file

templates:
  - &ocr
    tags:
      - ocr
      - minimal
      - default
    priority: 10000
    languages: en

rules:
  replace-l-to-I-character[ocr:en]:
    <<: *ocr
    patterns: '\bl\b'
    replacement: 'I'
    examples:
      ? |
        And if l refuse?
      : |
        And if I refuse?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cleanit-0.4.5.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

cleanit-0.4.5-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

Details for the file cleanit-0.4.5.tar.gz.

File metadata

  • Download URL: cleanit-0.4.5.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/5.15.0-1024-azure

File hashes

Hashes for cleanit-0.4.5.tar.gz
Algorithm Hash digest
SHA256 80dcd1ffa738ec24468740310ca353703f56439c81a7334b6d2fca0653a5c998
MD5 e52d3f6ff829f1f9bebcf835fdeed495
BLAKE2b-256 3833a9f76902cae09ab9f5a0eb43b07b90cc9bf0ee31925ae0d4fdd558bd1b60

See more details on using hashes here.

File details

Details for the file cleanit-0.4.5-py3-none-any.whl.

File metadata

  • Download URL: cleanit-0.4.5-py3-none-any.whl
  • Upload date:
  • Size: 25.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/5.15.0-1024-azure

File hashes

Hashes for cleanit-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e7fc8a6a49e274e582333599db37bc250edcf0921bf389c315b4ed759ea285ca
MD5 e4fa4223cbe45e947427cb2a98c29727
BLAKE2b-256 0a494c132c0ca260d37e6d56b49183c17bd44bd26b271aa8c99e82ad7f5a8873

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page