Skip to main content

A small package and CLI for manipulating subtitles

Project description

Pyzub: Manipulate subtitles

Pyzub is a small package and CLI for manipulating subtitles

Suported Formats:

  • SubRip [.srt].

** Plans to Support:**

  • SubStation Alpha [.ssa]
  • SubViewer [.sub]
  • Universal Subtitle Format [.usf]

Installation:

Run pip install pyzub

Command Line Interface:

At the moment only the slide command is available (arguably the most important feature). The slide command of pyzub lets you move your subtitles so you can synchronize your subtitles manually.

$ pyzub slide -h
Usage: pyzub slide [OPTIONS] FILEPATH

Options:
  --hours INTEGER
  --minutes INTEGER
  --seconds INTEGER
  --milliseconds INTEGER
  --overwrite             Modifies the subtitle file in place.
  --verbose               Displays a progress bar and a message when finished.
  --help, -h              Show this message and exit.

Example:

This will move your subtitles by 2.5 seconds (you can also give negative values).

$ pyzub slide Game_of_Thrones_s03ep09.srt --seconds 2 --milliseconds 500

By default it will generate an output file named Game_of_Thrones_s03ep09_MODIFIED.srt, unless --overwrite is used. The output file will always be in utf-8 encoding and use your system new line character.

Package:

You can read a subtitle file:

from pyzub.subfiles import SRTFile

filepath = '/home/user/mysubtitle.srt'
subfile = SRTFile(filepath)

Iterate over the file:

for subtitle in subfile:
	print(subtitle)   

Print a SRTFile:

print(subfile)
Path: /home/user/mysubtitle.srt
Codec: ISO-8859-1
Subtitles: 451

Get a subtitle:

# idx could be a number from 1 to 451 in this case
subtitle = subfile.get_subtitle(idx)

Print the subtitle:

print(subtitle)
Index: 1
Start Time: 00:00:04,605
End Time: 00:00:06,105
Text: En un día cualquiera,

An of course modify anything you want directly:

subtile.text = 'modified subtitle'
subtitle.start_time = timedelta(minutes=10)

# write the changes to disk
subfile.dump('/home/user/mysubtitle_modified.srt')

Planed features:

  • Automatic grammar and syntax correction
  • Automatic synchronization from audio
  • Automatic subtitle file downloads

License

MIT

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

pyzub-0.1.5.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

pyzub-0.1.5-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file pyzub-0.1.5.tar.gz.

File metadata

  • Download URL: pyzub-0.1.5.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyzub-0.1.5.tar.gz
Algorithm Hash digest
SHA256 51aff9f5ee7354c96b72b1533e6bf733e472a7cd056c190d0f16981ecdf1c343
MD5 a9f7bee01d5889ce34f2e6b41095cd9e
BLAKE2b-256 ca60265c6f807daacbe065c8b18be8712708986ce7f3cf42505730c3598e160b

See more details on using hashes here.

File details

Details for the file pyzub-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for pyzub-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5656f72d61ec810658f585df77ab401afda4d9775a331b6fbb8f9af8c58bba84
MD5 250857a1c306a6f0bd621099d78a810d
BLAKE2b-256 ca7ed65a00153b623ee5e7a17e80a9c6a9a4002ed02c56123dd2502482f96014

See more details on using hashes here.

Supported by

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