You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bazarr/libs/trakit-0.2.1.dist-info/METADATA

180 lines
5.1 KiB

Metadata-Version: 2.1
Name: trakit
Version: 0.2.1
Summary: Guess additional information from track titles
Home-page: https://github.com/ratoaq2/trakit
License: MIT
Keywords: video,mkv,audio,subtitles,srt,pgs,sdh,cc,sup,sub,metadata,movie,episode,tv,track,shows,series
Author: Rato
Requires-Python: >=3.8.1,<4.0.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: babelfish (>=0.6.0,<0.7.0)
Requires-Dist: pyyaml (>=6.0,<7.0)
Requires-Dist: rebulk (>=3.1.0,<4.0.0)
Project-URL: Repository, https://github.com/ratoaq2/trakit
Description-Content-Type: text/markdown
# TrakIt
Guess additional information from track titles
[![Latest
Version](https://img.shields.io/pypi/v/trakit.svg)](https://pypi.python.org/pypi/trakit)
[![tests](https://github.com/ratoaq2/trakit/actions/workflows/test.yml/badge.svg)](https://github.com/ratoaq2/trakit/actions/workflows/test.yml)
[![License](https://img.shields.io/github/license/ratoaq2/trakit.svg)](https://github.com/ratoaq2/trakit/blob/master/LICENSE)
- Project page
<https://github.com/ratoaq2/trakit>
## Info
**TrakIt** is a track name parser.
It is a tiny library created to solve a very specific problem.
It's very common that video files do not have precise metadata information,
where you can have multiple subtitle tracks tagged as **Portuguese**,
but one of them is actually **Brazilian Portuguese**:
```json lines
{
"codec": "SubRip/SRT",
"id": 19,
"properties": {
"codec_id": "S_TEXT/UTF8",
"codec_private_length": 0,
"default_track": false,
"enabled_track": true,
"encoding": "UTF-8",
"forced_track": false,
"language": "por",
"language_ietf": "pt",
"number": 20,
"text_subtitles": true,
"track_name": "Português",
"uid": 160224385584803173
}
}
{
"codec": "SubRip/SRT",
"id": 20,
"properties": {
"codec_id": "S_TEXT/UTF8",
"codec_private_length": 0,
"default_track": false,
"enabled_track": true,
"encoding": "UTF-8",
"forced_track": false,
"language": "por",
"language_ietf": "pt",
"number": 21,
"text_subtitles": true,
"track_name": "Português (Brasil)",
"uid": 1435945803220205
}
}
```
Or you have multiple audio tracks in **English**,
but one of them is **British English** (`British English Forced (PGS)`) and others are **American English**
(`American English (PGS)`)
Given a track name, **TrakIt** can guess the language:
```bash
>> trakit "Português (Brasil)"
{
"language": "pt-BR"
}
```
**TrakIt** is also able to identify:
* SDH: Subtitles for the Deaf or Hard of Hearing
* Forced flag
* Closed captions
* Alternate version tracks
* Commentary tracks
```bash
>> trakit "British English (SDH) (PGS)"
{
"language": "en-GB",
"hearing_impaired": true
}
>> trakit "English CC (SRT)"
{
"language": "en",
"closed_caption": true
}
>> trakit "Cast and Crew Commentary (English AC3 Stereo)"
{
"language": "en",
"commentary": true
}
>> trakit "Français Forced (SRT)"
{
"language": "fr",
"forced": true
}
```
All available CLI options:
```bash
>> trakit --help
usage: trakit [-h] [-l EXPECTED_LANGUAGE] [--debug] [-y] [--version] value
positional arguments:
value track title to guess
options:
-h, --help show this help message and exit
Configuration:
-l EXPECTED_LANGUAGE, --expected-language EXPECTED_LANGUAGE
The expected language to be guessed
Output:
--debug Print information for debugging trakit and for reporting bugs.
-y, --yaml Display output in yaml format
Information:
--version show program's version number and exit
```
**TrakIt** is not a release parser. Use [GuessIt](https://github.com/guessit-io/guessit)
**TrakIt** is not a video metadata extractor.
Use [KnowIt](https://github.com/ratoaq2/knowit).
KnowIt already uses **trakit** to enhance the extracted information
## Installation
**TrakIt** can be installed as a regular python module by running:
$ [sudo] pip install trakit
For a better isolation with your system you should use a dedicated
virtualenv or install for your user only using the `--user` flag.
## Data
* Available languages are the same supported by [Diaoul/babelfish](https://github.com/Diaoul/babelfish)
* Localized country names were fetched from [mledoze/countries](https://github.com/mledoze/countries)
* Localized language names were fetched from [mozilla/language-mapping-list](https://github.com/mozilla/language-mapping-list)