diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 05:23:05 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 05:23:05 +0000 |
commit | a1f07894f8a2beb4ba8dcdf91a41befde6f965e5 (patch) | |
tree | e99841b9027d2eabcd3ed6a5825702f1fa76e248 | |
parent | adb92596b9ebd1983f094403671fa08ce07d89af (diff) |
automatic import of python-parse-torrent-titleopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-parse-torrent-title.spec | 735 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 737 insertions, 0 deletions
@@ -0,0 +1 @@ +/parse-torrent-title-2.5.tar.gz diff --git a/python-parse-torrent-title.spec b/python-parse-torrent-title.spec new file mode 100644 index 0000000..7470d98 --- /dev/null +++ b/python-parse-torrent-title.spec @@ -0,0 +1,735 @@ +%global _empty_manifest_terminate_build 0 +Name: python-parse-torrent-title +Version: 2.5 +Release: 1 +Summary: Extract media information from torrent-like filename +License: MIT +URL: https://github.com/platelminto/parse-torrent-title +Source0: https://mirrors.aliyun.com/pypi/web/packages/ec/b7/d61394e76937060027db463677aa3b1ed9ac4a5fa941f1e31b33462bdef2/parse-torrent-title-2.5.tar.gz +BuildArch: noarch + + +%description +# parse-torrent-title + +> Extract media information from torrent-like filename + + +[](https://travis-ci.com/platelminto/parse-torrent-title) + +Originally based off of [this JavaScript +library](https://github.com/jzjzjzj/parse-torrent-name). + +Extract all possible media information from a filename. Multiple regex +rules are applied on the filename, each of which extracts appropriate +information. If a rule matches, the corresponding part +is removed from the filename. Finally, what remains is taken as the +title of the content. + + +## Install + +PTN can be installed automatically using `pip`. + +```sh +$ pip install parse-torrent-title +``` + +### Requirements + +Requirements are **optional**. That being said, the `regex` library increases performance on Python 2 by more than 10x, so it might be worth installing with: + +```sh +$ pip install -r requirements.txt +``` + +With Python 3, the default `re` module is faster than `regex`, so it will always be used regardless of installed requirements. + +## Why? + +Online APIs by providers like +[TMDb](https://www.themoviedb.org/documentation/api), +[TVDb](http://thetvdb.com/wiki/index.php?title=Programmers_API), and +[OMDb](http://www.omdbapi.com/) don't react well to +queries which include any kind of extra information. To get proper results from +these APIs, only the title of the content should be provided in the search +query. The accuracy of the results can be +improved by passing in the year, which can also be extracted using this library. + +## Examples + +Movies, series (seasons & episodes), and subtitles can be parsed. All meaningful information is +extracted and returned in a dictionary. Text which couldn't be +parsed is returned in the `excess` field. + +```py +import PTN + + +PTN.parse('The Walking Dead S05E03 720p HDTV x264-ASAP[ettv]') +# { +# 'encoder': 'ASAP', +# 'title': 'The Walking Dead', +# 'season': 5, +# 'episode': 3, +# 'resolution': '720p', +# 'codec': 'H.264', +# 'quality': 'HDTV', +# 'website': 'ettv' +# } + +PTN.parse('Vacancy (2007) 720p Bluray Dual Audio [Hindi + English] ⭐800 MB⭐ DD - 2.0 MSub x264 - Shadow (BonsaiHD)') +# { +# 'encoder': 'Shadow', +# 'title': 'Vacancy', +# 'resolution': '720p', +# 'codec': 'H.264', +# 'year': 2007, +# 'audio': 'Dolby Digital 2.0', +# 'quality': 'Blu-ray', +# 'language': ['Hindi', 'English'], +# 'subtitles': 'Available', +# 'size': 800MB, +# 'website': BonsaiHD +# 'excess': '⭐⭐' +# } + +PTN.parse('Deadliest.Catch.S00E66.No.Safe.Passage.720p.AMZN.WEB-DL.DDP2.0.H.264-NTb[TGx]') +# { +# 'encoder': 'NTb', +# 'title': 'Deadliest Catch', +# 'resolution': '720p', +# 'codec': 'H.264', +# 'audio' : 'Dolby Digital Plus 2.0', +# 'network': 'Amazon Studios', +# 'season': 0, +# 'episode': 66, +# 'quality': 'WEB-DL', +# 'episodeName': 'No Safe Passage', +# 'website': 'TGx' +# } + +PTN.parse('Z Nation (2014)S01-01-13 (2014) Full Season.XviD - Italian English.Ac3.Sub.ita.eng.MIRCrew') +# { +# 'website': 'MIRCrew', +# 'title': 'Z Nation', +# 'season': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], +# 'codec': 'Xvid', +# 'year': 2014, +# 'audio': 'Dolby Digital', +# 'language': ['Italian', 'English'], +# 'subtitles': ['Italian', 'English'] +# } +``` + +More examples (inputs and outputs) can be found looking through `tests/files`. + +### Raw info + +The matches in the torrent name are standardised into specific strings, according to scene rules where possible - `'WEBDL'`, `'WEB DL'`, and `'HDRip'` are all converted to `'WEB-DL'`, for example. `'DDP51'` becomes `'Dolby Digital Plus 5.1'`. `['ita', 'eng']` becomes `['Italian', 'English']`.To disable this, and return just what was matched in the torrent, run: + +```py +PTN.parse('A freakishly cool movie or TV episode', standardise=False) +``` + +### Types of parts + +The types of parts can be strings, integers, booleans, or lists of the first 2. To simplify this, you can enable the `coherent_types` flag. This will override the types described below according to these rules: +- `title` and `episodeName` will always be strings. +- All other non-boolean fields will become lists of the type they currently are. For example, `language` will always be a list of strings, and `episode` a list of episodes. This can be weird for some fields, but it avoids a lot of `isinstance` calls - just always use `x in y` and you should be fine. +- Boolean types will remain as booleans. + +To enable this flag: +```py +PTN.parse('An even cooler movie or TV episode', coherent_types=True) +``` + +### Parts extracted + +* **audio** *(string)* +* **bitDepth** *(integer)* +* **codec** *(string)* +* **day** *(integer)* +* **directorsCut** *(boolean)* +* **documentary** *(boolean)* +* **encoder** *(string)* +* **episode** *(integer, integer list)* +* **episodeName** *(string)* +* **excess** *(string, string list)* +* **extended** *(boolean)* +* **filetype** *(string)* +* **fps** *(integer)* +* **genre** *(string, string list)* +* **hardcoded** *(boolean)* +* **hdr** *(boolean)* +* **internal** *(boolean)* +* **internationalCut** *(boolean)* +* **language** *(string, string list)* +* **limited** *(boolean)* +* **month** *(integer)* +* **network** *(string)* +* **proper** *(boolean)* +* **quality** *(string)* +* **readnfo** *(boolean)* +* **region** *(string)* +* **remastered** *(boolean)* +* **remux** *(boolean)* +* **repack** *(boolean)* +* **resolution** *(string)* +* **sbs** *(string)* +* **season** *(integer, integer list)* +* **site** *(string)* +* **size** *(string)* +* **subtitles** *(string, string list)* +* **title** *(string)* +* **unrated** *(boolean)* +* **untouched** *(boolean)* +* **upscaled** *(boolean)* +* **widescreen** *(boolean)* +* **year** *(integer)* +* **3d** *(boolean)* + +## Contributing + +Submit a PR on the `dev` branch, including tests for what gets newly matched (if applicable), having run the `pre-commit` hooks. Please provide input torrent names in `tests/files/input.json` and full output json objects (with `standardise=False`) in `tests/files/output_raw.json` (where the fields `encoder`, `excess`, `site`, and `episodeName` don't have to be included). Also add the standardised output to `tests/files/output_standard.json`, only including fields that are changed, along with `title`. + +## Additions to parse-torrent-name + +Below are the additions that have been made to [/u/divijbindlish's original repo](https://github.com/divijbindlish/parse-torrent-name), including other contributors' work. parse-torrent-title was initially forked from [here](https://github.com/roidayan/parse-torrent-name/tree/updates), but a lot of extra work has been done since, and given that the original repo is inactive, it was unforked. + +### Updates on top of [/u/roidayan's work](https://github.com/roidayan/parse-torrent-name/tree/updates) + +- Added standardisation of output strings. +- Added multi-language support. +- Added multi-episode support. +- Improved support for anime tv releases. +- Improved support for Indian releases. +- Added various fields (see field list above). +- Added proper subtitle support. +- Added proper support for matching episode names. +- Added support for full `YYYY-MM-DD`-type dates, usually useful for daily shows that otherwise have no episode name. +- Added support for 2020s release years. +- Added exceptions list for media with known, non-fixable issues. +- Expanded and improved matching for various fields. +- Fixed incorrect parsing of titles containing years. +- Fixed groups/encoders/websites mixups: a group/encoder is now just called an encoder, and a public tracker site goes under website. +- Added more tests and cleaned up previous ones. + + +### [/u/roidayan's work](https://github.com/roidayan/parse-torrent-name/tree/updates) on top of [the original](https://github.com/divijbindlish/parse-torrent-name) + +- Added support for complete season parsing (either just a full season, or a range), not just single episodes. +- Added to various fields' patterns. +- Improved season & episode matching. +- Fixed group names from having the container & bt site name. +- Added more tests. + +## License + +MIT © 2015-2017 [Divij Bindlish](http://divijbindlish.in) + +MIT © 2020 [Giorgio Momigliano](https://github.com/platelminto) + + + + +%package -n python3-parse-torrent-title +Summary: Extract media information from torrent-like filename +Provides: python-parse-torrent-title +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-parse-torrent-title +# parse-torrent-title + +> Extract media information from torrent-like filename + + +[](https://travis-ci.com/platelminto/parse-torrent-title) + +Originally based off of [this JavaScript +library](https://github.com/jzjzjzj/parse-torrent-name). + +Extract all possible media information from a filename. Multiple regex +rules are applied on the filename, each of which extracts appropriate +information. If a rule matches, the corresponding part +is removed from the filename. Finally, what remains is taken as the +title of the content. + + +## Install + +PTN can be installed automatically using `pip`. + +```sh +$ pip install parse-torrent-title +``` + +### Requirements + +Requirements are **optional**. That being said, the `regex` library increases performance on Python 2 by more than 10x, so it might be worth installing with: + +```sh +$ pip install -r requirements.txt +``` + +With Python 3, the default `re` module is faster than `regex`, so it will always be used regardless of installed requirements. + +## Why? + +Online APIs by providers like +[TMDb](https://www.themoviedb.org/documentation/api), +[TVDb](http://thetvdb.com/wiki/index.php?title=Programmers_API), and +[OMDb](http://www.omdbapi.com/) don't react well to +queries which include any kind of extra information. To get proper results from +these APIs, only the title of the content should be provided in the search +query. The accuracy of the results can be +improved by passing in the year, which can also be extracted using this library. + +## Examples + +Movies, series (seasons & episodes), and subtitles can be parsed. All meaningful information is +extracted and returned in a dictionary. Text which couldn't be +parsed is returned in the `excess` field. + +```py +import PTN + + +PTN.parse('The Walking Dead S05E03 720p HDTV x264-ASAP[ettv]') +# { +# 'encoder': 'ASAP', +# 'title': 'The Walking Dead', +# 'season': 5, +# 'episode': 3, +# 'resolution': '720p', +# 'codec': 'H.264', +# 'quality': 'HDTV', +# 'website': 'ettv' +# } + +PTN.parse('Vacancy (2007) 720p Bluray Dual Audio [Hindi + English] ⭐800 MB⭐ DD - 2.0 MSub x264 - Shadow (BonsaiHD)') +# { +# 'encoder': 'Shadow', +# 'title': 'Vacancy', +# 'resolution': '720p', +# 'codec': 'H.264', +# 'year': 2007, +# 'audio': 'Dolby Digital 2.0', +# 'quality': 'Blu-ray', +# 'language': ['Hindi', 'English'], +# 'subtitles': 'Available', +# 'size': 800MB, +# 'website': BonsaiHD +# 'excess': '⭐⭐' +# } + +PTN.parse('Deadliest.Catch.S00E66.No.Safe.Passage.720p.AMZN.WEB-DL.DDP2.0.H.264-NTb[TGx]') +# { +# 'encoder': 'NTb', +# 'title': 'Deadliest Catch', +# 'resolution': '720p', +# 'codec': 'H.264', +# 'audio' : 'Dolby Digital Plus 2.0', +# 'network': 'Amazon Studios', +# 'season': 0, +# 'episode': 66, +# 'quality': 'WEB-DL', +# 'episodeName': 'No Safe Passage', +# 'website': 'TGx' +# } + +PTN.parse('Z Nation (2014)S01-01-13 (2014) Full Season.XviD - Italian English.Ac3.Sub.ita.eng.MIRCrew') +# { +# 'website': 'MIRCrew', +# 'title': 'Z Nation', +# 'season': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], +# 'codec': 'Xvid', +# 'year': 2014, +# 'audio': 'Dolby Digital', +# 'language': ['Italian', 'English'], +# 'subtitles': ['Italian', 'English'] +# } +``` + +More examples (inputs and outputs) can be found looking through `tests/files`. + +### Raw info + +The matches in the torrent name are standardised into specific strings, according to scene rules where possible - `'WEBDL'`, `'WEB DL'`, and `'HDRip'` are all converted to `'WEB-DL'`, for example. `'DDP51'` becomes `'Dolby Digital Plus 5.1'`. `['ita', 'eng']` becomes `['Italian', 'English']`.To disable this, and return just what was matched in the torrent, run: + +```py +PTN.parse('A freakishly cool movie or TV episode', standardise=False) +``` + +### Types of parts + +The types of parts can be strings, integers, booleans, or lists of the first 2. To simplify this, you can enable the `coherent_types` flag. This will override the types described below according to these rules: +- `title` and `episodeName` will always be strings. +- All other non-boolean fields will become lists of the type they currently are. For example, `language` will always be a list of strings, and `episode` a list of episodes. This can be weird for some fields, but it avoids a lot of `isinstance` calls - just always use `x in y` and you should be fine. +- Boolean types will remain as booleans. + +To enable this flag: +```py +PTN.parse('An even cooler movie or TV episode', coherent_types=True) +``` + +### Parts extracted + +* **audio** *(string)* +* **bitDepth** *(integer)* +* **codec** *(string)* +* **day** *(integer)* +* **directorsCut** *(boolean)* +* **documentary** *(boolean)* +* **encoder** *(string)* +* **episode** *(integer, integer list)* +* **episodeName** *(string)* +* **excess** *(string, string list)* +* **extended** *(boolean)* +* **filetype** *(string)* +* **fps** *(integer)* +* **genre** *(string, string list)* +* **hardcoded** *(boolean)* +* **hdr** *(boolean)* +* **internal** *(boolean)* +* **internationalCut** *(boolean)* +* **language** *(string, string list)* +* **limited** *(boolean)* +* **month** *(integer)* +* **network** *(string)* +* **proper** *(boolean)* +* **quality** *(string)* +* **readnfo** *(boolean)* +* **region** *(string)* +* **remastered** *(boolean)* +* **remux** *(boolean)* +* **repack** *(boolean)* +* **resolution** *(string)* +* **sbs** *(string)* +* **season** *(integer, integer list)* +* **site** *(string)* +* **size** *(string)* +* **subtitles** *(string, string list)* +* **title** *(string)* +* **unrated** *(boolean)* +* **untouched** *(boolean)* +* **upscaled** *(boolean)* +* **widescreen** *(boolean)* +* **year** *(integer)* +* **3d** *(boolean)* + +## Contributing + +Submit a PR on the `dev` branch, including tests for what gets newly matched (if applicable), having run the `pre-commit` hooks. Please provide input torrent names in `tests/files/input.json` and full output json objects (with `standardise=False`) in `tests/files/output_raw.json` (where the fields `encoder`, `excess`, `site`, and `episodeName` don't have to be included). Also add the standardised output to `tests/files/output_standard.json`, only including fields that are changed, along with `title`. + +## Additions to parse-torrent-name + +Below are the additions that have been made to [/u/divijbindlish's original repo](https://github.com/divijbindlish/parse-torrent-name), including other contributors' work. parse-torrent-title was initially forked from [here](https://github.com/roidayan/parse-torrent-name/tree/updates), but a lot of extra work has been done since, and given that the original repo is inactive, it was unforked. + +### Updates on top of [/u/roidayan's work](https://github.com/roidayan/parse-torrent-name/tree/updates) + +- Added standardisation of output strings. +- Added multi-language support. +- Added multi-episode support. +- Improved support for anime tv releases. +- Improved support for Indian releases. +- Added various fields (see field list above). +- Added proper subtitle support. +- Added proper support for matching episode names. +- Added support for full `YYYY-MM-DD`-type dates, usually useful for daily shows that otherwise have no episode name. +- Added support for 2020s release years. +- Added exceptions list for media with known, non-fixable issues. +- Expanded and improved matching for various fields. +- Fixed incorrect parsing of titles containing years. +- Fixed groups/encoders/websites mixups: a group/encoder is now just called an encoder, and a public tracker site goes under website. +- Added more tests and cleaned up previous ones. + + +### [/u/roidayan's work](https://github.com/roidayan/parse-torrent-name/tree/updates) on top of [the original](https://github.com/divijbindlish/parse-torrent-name) + +- Added support for complete season parsing (either just a full season, or a range), not just single episodes. +- Added to various fields' patterns. +- Improved season & episode matching. +- Fixed group names from having the container & bt site name. +- Added more tests. + +## License + +MIT © 2015-2017 [Divij Bindlish](http://divijbindlish.in) + +MIT © 2020 [Giorgio Momigliano](https://github.com/platelminto) + + + + +%package help +Summary: Development documents and examples for parse-torrent-title +Provides: python3-parse-torrent-title-doc +%description help +# parse-torrent-title + +> Extract media information from torrent-like filename + + +[](https://travis-ci.com/platelminto/parse-torrent-title) + +Originally based off of [this JavaScript +library](https://github.com/jzjzjzj/parse-torrent-name). + +Extract all possible media information from a filename. Multiple regex +rules are applied on the filename, each of which extracts appropriate +information. If a rule matches, the corresponding part +is removed from the filename. Finally, what remains is taken as the +title of the content. + + +## Install + +PTN can be installed automatically using `pip`. + +```sh +$ pip install parse-torrent-title +``` + +### Requirements + +Requirements are **optional**. That being said, the `regex` library increases performance on Python 2 by more than 10x, so it might be worth installing with: + +```sh +$ pip install -r requirements.txt +``` + +With Python 3, the default `re` module is faster than `regex`, so it will always be used regardless of installed requirements. + +## Why? + +Online APIs by providers like +[TMDb](https://www.themoviedb.org/documentation/api), +[TVDb](http://thetvdb.com/wiki/index.php?title=Programmers_API), and +[OMDb](http://www.omdbapi.com/) don't react well to +queries which include any kind of extra information. To get proper results from +these APIs, only the title of the content should be provided in the search +query. The accuracy of the results can be +improved by passing in the year, which can also be extracted using this library. + +## Examples + +Movies, series (seasons & episodes), and subtitles can be parsed. All meaningful information is +extracted and returned in a dictionary. Text which couldn't be +parsed is returned in the `excess` field. + +```py +import PTN + + +PTN.parse('The Walking Dead S05E03 720p HDTV x264-ASAP[ettv]') +# { +# 'encoder': 'ASAP', +# 'title': 'The Walking Dead', +# 'season': 5, +# 'episode': 3, +# 'resolution': '720p', +# 'codec': 'H.264', +# 'quality': 'HDTV', +# 'website': 'ettv' +# } + +PTN.parse('Vacancy (2007) 720p Bluray Dual Audio [Hindi + English] ⭐800 MB⭐ DD - 2.0 MSub x264 - Shadow (BonsaiHD)') +# { +# 'encoder': 'Shadow', +# 'title': 'Vacancy', +# 'resolution': '720p', +# 'codec': 'H.264', +# 'year': 2007, +# 'audio': 'Dolby Digital 2.0', +# 'quality': 'Blu-ray', +# 'language': ['Hindi', 'English'], +# 'subtitles': 'Available', +# 'size': 800MB, +# 'website': BonsaiHD +# 'excess': '⭐⭐' +# } + +PTN.parse('Deadliest.Catch.S00E66.No.Safe.Passage.720p.AMZN.WEB-DL.DDP2.0.H.264-NTb[TGx]') +# { +# 'encoder': 'NTb', +# 'title': 'Deadliest Catch', +# 'resolution': '720p', +# 'codec': 'H.264', +# 'audio' : 'Dolby Digital Plus 2.0', +# 'network': 'Amazon Studios', +# 'season': 0, +# 'episode': 66, +# 'quality': 'WEB-DL', +# 'episodeName': 'No Safe Passage', +# 'website': 'TGx' +# } + +PTN.parse('Z Nation (2014)S01-01-13 (2014) Full Season.XviD - Italian English.Ac3.Sub.ita.eng.MIRCrew') +# { +# 'website': 'MIRCrew', +# 'title': 'Z Nation', +# 'season': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], +# 'codec': 'Xvid', +# 'year': 2014, +# 'audio': 'Dolby Digital', +# 'language': ['Italian', 'English'], +# 'subtitles': ['Italian', 'English'] +# } +``` + +More examples (inputs and outputs) can be found looking through `tests/files`. + +### Raw info + +The matches in the torrent name are standardised into specific strings, according to scene rules where possible - `'WEBDL'`, `'WEB DL'`, and `'HDRip'` are all converted to `'WEB-DL'`, for example. `'DDP51'` becomes `'Dolby Digital Plus 5.1'`. `['ita', 'eng']` becomes `['Italian', 'English']`.To disable this, and return just what was matched in the torrent, run: + +```py +PTN.parse('A freakishly cool movie or TV episode', standardise=False) +``` + +### Types of parts + +The types of parts can be strings, integers, booleans, or lists of the first 2. To simplify this, you can enable the `coherent_types` flag. This will override the types described below according to these rules: +- `title` and `episodeName` will always be strings. +- All other non-boolean fields will become lists of the type they currently are. For example, `language` will always be a list of strings, and `episode` a list of episodes. This can be weird for some fields, but it avoids a lot of `isinstance` calls - just always use `x in y` and you should be fine. +- Boolean types will remain as booleans. + +To enable this flag: +```py +PTN.parse('An even cooler movie or TV episode', coherent_types=True) +``` + +### Parts extracted + +* **audio** *(string)* +* **bitDepth** *(integer)* +* **codec** *(string)* +* **day** *(integer)* +* **directorsCut** *(boolean)* +* **documentary** *(boolean)* +* **encoder** *(string)* +* **episode** *(integer, integer list)* +* **episodeName** *(string)* +* **excess** *(string, string list)* +* **extended** *(boolean)* +* **filetype** *(string)* +* **fps** *(integer)* +* **genre** *(string, string list)* +* **hardcoded** *(boolean)* +* **hdr** *(boolean)* +* **internal** *(boolean)* +* **internationalCut** *(boolean)* +* **language** *(string, string list)* +* **limited** *(boolean)* +* **month** *(integer)* +* **network** *(string)* +* **proper** *(boolean)* +* **quality** *(string)* +* **readnfo** *(boolean)* +* **region** *(string)* +* **remastered** *(boolean)* +* **remux** *(boolean)* +* **repack** *(boolean)* +* **resolution** *(string)* +* **sbs** *(string)* +* **season** *(integer, integer list)* +* **site** *(string)* +* **size** *(string)* +* **subtitles** *(string, string list)* +* **title** *(string)* +* **unrated** *(boolean)* +* **untouched** *(boolean)* +* **upscaled** *(boolean)* +* **widescreen** *(boolean)* +* **year** *(integer)* +* **3d** *(boolean)* + +## Contributing + +Submit a PR on the `dev` branch, including tests for what gets newly matched (if applicable), having run the `pre-commit` hooks. Please provide input torrent names in `tests/files/input.json` and full output json objects (with `standardise=False`) in `tests/files/output_raw.json` (where the fields `encoder`, `excess`, `site`, and `episodeName` don't have to be included). Also add the standardised output to `tests/files/output_standard.json`, only including fields that are changed, along with `title`. + +## Additions to parse-torrent-name + +Below are the additions that have been made to [/u/divijbindlish's original repo](https://github.com/divijbindlish/parse-torrent-name), including other contributors' work. parse-torrent-title was initially forked from [here](https://github.com/roidayan/parse-torrent-name/tree/updates), but a lot of extra work has been done since, and given that the original repo is inactive, it was unforked. + +### Updates on top of [/u/roidayan's work](https://github.com/roidayan/parse-torrent-name/tree/updates) + +- Added standardisation of output strings. +- Added multi-language support. +- Added multi-episode support. +- Improved support for anime tv releases. +- Improved support for Indian releases. +- Added various fields (see field list above). +- Added proper subtitle support. +- Added proper support for matching episode names. +- Added support for full `YYYY-MM-DD`-type dates, usually useful for daily shows that otherwise have no episode name. +- Added support for 2020s release years. +- Added exceptions list for media with known, non-fixable issues. +- Expanded and improved matching for various fields. +- Fixed incorrect parsing of titles containing years. +- Fixed groups/encoders/websites mixups: a group/encoder is now just called an encoder, and a public tracker site goes under website. +- Added more tests and cleaned up previous ones. + + +### [/u/roidayan's work](https://github.com/roidayan/parse-torrent-name/tree/updates) on top of [the original](https://github.com/divijbindlish/parse-torrent-name) + +- Added support for complete season parsing (either just a full season, or a range), not just single episodes. +- Added to various fields' patterns. +- Improved season & episode matching. +- Fixed group names from having the container & bt site name. +- Added more tests. + +## License + +MIT © 2015-2017 [Divij Bindlish](http://divijbindlish.in) + +MIT © 2020 [Giorgio Momigliano](https://github.com/platelminto) + + + + +%prep +%autosetup -n parse-torrent-title-2.5 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-parse-torrent-title -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 2.5-1 +- Package Spec generated @@ -0,0 +1 @@ +bd12202dc59ccead15b75783937258ac parse-torrent-title-2.5.tar.gz |