text: A small package and CLI for manipulating and creating subtitles (SubRip, .srt, etc.)
  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 them manually.
  $ pyzub slide -h Usage: pyzub slide [OPTIONS] FILEPATH Options: --hours FLOAT --minutes FLOAT --seconds FLOAT --milliseconds FLOAT --microseconds FLOAT --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 pyzub 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.
  This is OK too:
  $ pyzub slide Game_of_Thrones_s03ep09.srt --seconds -70.5 --milliseconds 5000
  This would move your subtitles 65.5 seconds back
  in time.
  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)
  Relative Path: /home/user/mysubtitle.srt Codec: ISO-8859-1 No. of 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:
  # modify the text subtile.text = 'modified subtitle' # times use timedelta from the datetime package subtitle.start_time = timedelta(minutes=10) # also, you can assign directly a string subtitle.end_time = '01:25:59,650' # write the changes to disk subfile.dump('/home/user/mysubtitle_modified.srt')
  And finally:
  print(len(subfile)) # output: 451 (i.e, the number of subtitles in the file)
  print(len(subtitle)) # output: 21 (i.e, the number of chars in the subtitle's text attribute)
  Planned features:
  - Insert, delete subtitles, etc.
  - Automatic grammar and syntax correction
  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.