Skip to main content

CLI SubRip editor

Project description

fsub

fsub is a Python script for cleaning, editing and fixing a SubRip (.srt) file

Installation

Through Python's pip:

pip install fsub

Usage

usage: fsub [-h] [-f F] [-c] [-s MS] [-n] [-j] [-u] [-r | -p] [-b B] [-e E] file [file ...]

Fix, edit and clean SubRip (.srt) files.

positional arguments:
  file               list of input files (they all must be SubRip files)

optional arguments:
  -h, --help         show this help message and exit
  -f F, --config F   use F as the config file (by default, on Unix it is:
                     "$HOME/.config/fsubrc"; on Windows it is: "%APPDATA%\fsubrc")
  -r, --replace      edit files in-place (--join will delete joined files too), instead of the
                     default behavior of outputing results into files prefixed with "out-"
  -p, --stdout       dump results to stdout, and do not edit nor write any file

processing:
  Flags that specify an action to be taken. Many may be specified.

  -c, --clean        remove subtitles matching regular expressions listed in the config file
                     (this is the default behavior if no other flag is passed)
  -s MS, --shift MS  shift all subtitles by MS milliseconds, which may be positive or negative
  -n, --no-html      strip HTML tags from subtitles content
  -j, --join         join all files into the first, shifting their time accordingly
  -u, --cut-out      cut the specified section from the file(s) into new files

sectioning:
  Flags that specify a section to work in. They accept either a subtitle number or a time
  stamp in the SubRip format ("<hours>:<minutes>:<seconds>,<milliseconds>", where hours,
  minutes, seconds are 2-zero padded while milliseconds is 3-zero padded). fsub will not
  modify subtitles outside this range, except while joining the files.

  -b B, --begin B    specify section beginning (inclusive)
  -e E, --end E      specify section end (inclusive)

Testing

In the project's root directory, run all the tests with:

python -m unittest tests

Or, just the unit/integration tests:

python -m unittest tests.unit
python -m unittest tests.integration

Scripted API

An example of calling the program from Python:

import fsub

fsub.run('-c', 'test.srt')

Features

  • Fixes subtitle numbering
  • Converts files to UTF-8 encoding
  • Validates file structure
  • May remove subtitles containing lines that match any regular expression listed in the config file (by default on Unix: $HOME/.config/fsubrc; on Windows: %APPDATA%\fsubrc)
  • May shift the time of all subtitles
  • May strip HTML
  • May join files together
  • May edit files in-place
  • May cut sections out

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

fsub-1.0.4.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

fsub-1.0.4-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file fsub-1.0.4.tar.gz.

File metadata

  • Download URL: fsub-1.0.4.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.7

File hashes

Hashes for fsub-1.0.4.tar.gz
Algorithm Hash digest
SHA256 638687d9fe1123419d3095d82f636bcef95042f7ed9e2efe3124ca7d6bde6c3d
MD5 1b8659b042b6e9d034b3e0db4981f0f8
BLAKE2b-256 9fe862e13f8d34fa520de21b95ea83bf1c60dc20da133e5cb0f7507a8d649070

See more details on using hashes here.

File details

Details for the file fsub-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: fsub-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.7

File hashes

Hashes for fsub-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 21a5b398551cba5296567a954c7265d36dce8a87e2505c0318efe279dbe040e4
MD5 3834c51e17390cd0194ebd77c0a0ad8b
BLAKE2b-256 2ec71506021a6fcbfa58c738caa82ef811e5d08371046fc168229fd9baffa103

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