Metadata-Version: 2.1
Name: srtcleaner
Version: 1.0.2
Summary: Clean up SRT subtitle files removing ads and misplaced credits.
Home-page: https://github.com/MestreLion/srtcleaner
Author: Rodrigo Silva (MestreLion)
Author-email: linux@rodrigosilva.com
License: GPLv3+
Project-URL: Bug Tracker, https://github.com/MestreLion/srtcleaner/issues
Project-URL: Source Code, https://github.com/MestreLion/srtcleaner
Description: SRT Cleaner
        ===========
        
        A simple tool to clean up SRT subtitle files removing ads and misplaced credits,
        also fixing their encoding.
        
        
        Usage
        -----
        
        #### Library
        
        ```python
        import srtcleaner
        
        srtfiles = ['/data/TVSeries/Cosmos/Cosmos.S01E01.srt',
                    '/data/TVSeries/Cosmos/Cosmos.S01E02.srt']
        
        srtcleaner.srtcleaner(srtfiles, in_place=True, backup=False, convert='UTF-8')
        ```
        
        #### Command-line
        
        ```
        $ srtcleaner --help
        
        usage: srtcleaner [-h] [-q | -v] [--recursive] [--input-encoding ENCODING]
                          [--input-fallback-encoding FALLBACK_ENCODING]
                          [--convert OUTPUT_ENCODING] [--in-place] [--no-backup]
                          [--no-rebuild-index] [--blacklist BLACKLISTPATH]
                          srtpaths [srtpaths ...]
        
        Clean subtitles deleting items that matches entries in blacklist file. Useful
        to remove ads and misplaced credits
        
        positional arguments:
          srtpaths              SRT file(s) or dir(s) to modify
        
        optional arguments:
          -h, --help            show this help message and exit
          -q, --quiet           Suppress informative messages and summary statistics.
          -v, --verbose         Print additional information for each processed file.
          --recursive, -r       recurse inside directories.
          --input-encoding ENCODING, -e ENCODING
                                Encoding used in subtitles, if known. By default tries
                                to autodetect encoding.
          --input-fallback-encoding FALLBACK_ENCODING, -f FALLBACK_ENCODING
                                Fallback encoding to read subtitles if encoding
                                autodetection fails. [Default: windows-1252]
          --convert OUTPUT_ENCODING, -c OUTPUT_ENCODING
                                Convert subtitle encoding. By default output uses the
                                same encoding as the input.
          --in-place, -i        Overwrite original file instead of outputting to
                                standard output
          --no-backup, -B       When using --in-place, do not create a backup file.
          --no-rebuild-index, -I
                                Do not rebuild subtitles indexes after removing items.
                                Resulting SRT will not be strictly valid, although it
                                will work in most players. Useful when debugging for
                                comparing original and modified subtitles
          --blacklist BLACKLISTPATH, -b BLACKLISTPATH
                                Blacklist file path. [Default:
                                /home/user/.config/srtcleaner/srtcleaner.conf]
        
        Copyright (C) 2021 Rodrigo Silva. License: GPLv3 or later, at your choice.
        $
        $ srtcleaner -v --in-place -B --convert 'UTF-8' '/data/series/Cosmos/Cosmos.S01E01.srt'
        [DEBUG] Auto-detected encoding: 'iso-8859-1'
        [INFO ] 20      00:00:45,653 --> 00:00:48,842   <b>UNITED       apresenta</b>
        [INFO ] 21      00:00:49,270 --> 00:00:52,638   <b>Legenda:     rickSG | .:FGMsp:.</b>
        [INFO ] 741     00:46:55,499 --> 00:46:58,557   UNITED  Quality is Everything!
        [INFO ] 3 items deleted
        
        $ srtcleaner -v --in-place -B --convert 'UTF-8' '/data/series/Cosmos/Cosmos.S01E01.srt'
        [DEBUG] Auto-detected encoding: 'utf-8'
        ```
        
        
        Configuring
        -----------
        
        SRT Cleaner will remove any entries that matches any record on its blacklist file,
        located by default at `~/.config/srtcleaner/srtcleaner.conf`. Create or edit it
        before using `srtcleaner`.
        
        A record can span over multiple lines, so use a blank line to separate each record.
        Its text is matched against each SRT entry by a simple `text in entry` comparison,
        in a _case-insensitive_ way. So if the whole text is found as part of an entry,
        the whole entry is removed from the SRT file. Escape sequences such as `\n` and
        `\t` are also interpreted, so you can use `\n` when you want to include a newline
        at the end of the text to match.
        
        Example of a basic `srtcleaner.conf`:
        ```
        OpenSubtitles.org
        
        facebook.com/
        
        fb.com/
        
        @gmail.com
        
        Resync
        
        Legendas:\n
        
        UNITED4EVER
        
        UNITED
        Quality is everything
        
        <b>UNITED
        Qualidade É Tudo</b>
        
        INSUBS\n
        
        L.O.T.S\n
        ```
        
        
        Requirements
        ------------
        - Python 2.7 or 3.6+
        - [Pysrt](https://github.com/byroot/pysrt), to parse the SRT files
        - [file-magic](https://github.com/file/file), to detect encoding.
        
        **Note**: There are (at least) 3 python modules named `magic` available on
        PyPI, all wrappers to [`libmagic`](https://github.com/file/file),
        but with very distinct API:
        
          - [file-magic](https://github.com/file/file), from `libmagic` project itself
          - [python-magic](https://github.com/ahupp/python-magic)
          - [filemagic](https://github.com/aliles/filemagic)
        
        SRT Cleaner supports any of the above `libmagic` wrappers, and on install pulls
        the one from the `file`/`libmagic` project. And all of them obviously requires
        `libmagic` to be installed on your system. It usually ships in the `file`
        package and comes pre-installed in most GNU/Linux distributions and MacOS.
        
        On Windows, the following could be used to install `libmagic`:
        - [file-windows](https://github.com/nscaife/file-windows)
        - [libmagicwin64](https://github.com/pidydx/libmagicwin64)
        
        
        Installing
        ----------
        
        #### From Git:
        
        ```sh
        git clone https://github.com/MestreLion/srtcleaner
        cd srtcleaner
        python3 -m srtcleaner [ARGS...]           # Run/Test prior to installing
        pip3 install --user .                     # Regular install, OR
        pip3 install --user --no-use-pep517 -e .  # Editable/Development install
        ```
        
        #### From PyPi:
        
        ```sh
        pip3 install --user srtcleaner
        ```
        
        
        Contributing
        ------------
        
        Patches are welcome! Fork, hack, request pull!
        
        If you find a bug or have any enhancement request, please open a
        [new issue](https://github.com/MestreLion/srtcleaner/issues/new)
        
        
        Author
        ------
        
        Rodrigo Silva (MestreLion) <linux@rodrigosilva.com>
        
        
        License and Copyright
        ---------------------
        ```
        Copyright (C) 2021 Rodrigo Silva (MestreLion) <linux@rodrigosilva.com>.
        License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
        This is free software: you are free to change and redistribute it.
        There is NO WARRANTY, to the extent permitted by law.
        ```
Keywords: subtitles srt library
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: DFSG approved
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Text Processing
Classifier: Topic :: Utilities
Requires-Python: >=2.7
Description-Content-Type: text/markdown
