%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 ![Python versions](https://img.shields.io/badge/Python-2.7%2C%203.5-brightgreen.svg?style=flat-square) [![Build Status](https://travis-ci.com/platelminto/parse-torrent-title.svg?branch=master)](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 ![Python versions](https://img.shields.io/badge/Python-2.7%2C%203.5-brightgreen.svg?style=flat-square) [![Build Status](https://travis-ci.com/platelminto/parse-torrent-title.svg?branch=master)](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 ![Python versions](https://img.shields.io/badge/Python-2.7%2C%203.5-brightgreen.svg?style=flat-square) [![Build Status](https://travis-ci.com/platelminto/parse-torrent-title.svg?branch=master)](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 - 2.5-1 - Package Spec generated