diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-beetcamp.spec | 290 | ||||
| -rw-r--r-- | sources | 1 | 
3 files changed, 292 insertions, 0 deletions
@@ -0,0 +1 @@ +/beetcamp-0.16.3.tar.gz diff --git a/python-beetcamp.spec b/python-beetcamp.spec new file mode 100644 index 0000000..aaf5e07 --- /dev/null +++ b/python-beetcamp.spec @@ -0,0 +1,290 @@ +%global _empty_manifest_terminate_build 0 +Name:		python-beetcamp +Version:	0.16.3 +Release:	1 +Summary:	Bandcamp autotagger source for beets (http://beets.io). +License:	GPL-2.0 +URL:		https://github.com/snejus/beetcamp +Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/66/fe/76e271dabd1f77618d06f90cdbd5ff0ba08e5769ab114567428129c0070f/beetcamp-0.16.3.tar.gz +BuildArch:	noarch + +Requires:	python3-requests +Requires:	python3-cached-property +Requires:	python3-pycountry +Requires:	python3-beets +Requires:	python3-ordered-set + +%description +[](https://pypi.python.org/pypi/beetcamp) +[](https://sonarcloud.io/dashboard?id=snejus_beetcamp) +[](https://coveralls.io/github/snejus/beetcamp?branch=main) +[ ](https://hits.seeyoufarm.com) +Bandcamp autotagger plugin for [beets]. It mostly focuses on +- Staying up-to-date with information Bandcamp provide in the JSON metadata +- Parsing **all possible** (if relevant) metadata from various places +  - For example, a catalog number given in the release or media description +- Correctness of the data +  - For example, determining artist names from various artists releases +- Compliance with MusicBrainz fields format, to remove the need for pre-processing if, for +  example, one wishes to upload the metadata to MB. +Thanks to [unrblt] for [beets-bandcamp] providing the idea and initial implementation. +[beets]: https://github.com/beetbox/beets +[unrblt]: https://github.com/unrblt +[beets-bandcamp]: https://github.com/unrblt/beets-bandcamp +# Installation +## Recommended method +1. Install `beets` with `pipx` so that it's isolated from your system and other projects +```bash +pipx install beets +``` +2. Inject `beetcamp` and other dependencies that you need +```bash +pipx inject beets beetcamp [python-mpd2 ...] +``` +3. Add `bandcamp` to the `plugins` list to your beets configuration file. +## Otherwise +Navigate to your `beets` virtual environment and install the plug-in with +```bash +   pip install beetcamp +``` +# CLI +The plugin exposes some of its functionality through a command-line application `beetcamp`: +```xml +usage: beetcamp [-h] [-a] [-l] [-t] [release_url | query] +Get bandcamp release metadata from the given <release-url> or perform +bandcamp search with <query>. Anything that does not start with https:// +will be assumed to be a query. Search type flags: -a for albums, -l for +labels and artists, -t for tracks. By default, all types are searched. +positional arguments: +  release_url  Release URL, starting with https:// OR +  query        Search query +options: +  -h, --help   show this help message and exit +  -a, --album  Search albums +  -l, --label  Search labels and artists +  -t, --track  Search tracks +  -o INDEX, --open INDEX +                        Open search result indexed by INDEX in the browser +``` +- Use `beetcamp <bandcamp-release-url>` to return release metadata in JSON format. +- Use `beetcamp [-alt] <query>` to search albums, labels and tracks on Bandcamp and return +  results in JSON.  +- Search results are indexed - add `-o <index>` in order to open the chosen URL in the browser. +You can see how the data looks below (the output is prettified with [rich-tables]). + +[rich-tables]: https://github.com/snejus/rich-tables +# Configuration +## Default +```yaml +bandcamp: +  include_digital_only_tracks: true +  search_max: 2 +  art: yes +  comments_separator: "\n---\n" +  exclude_extra_fields: [] +  genre: +    capitalize: no +    maximum: 0 +    always_include: [] +    mode: progressive # classical, progressive or psychedelic + +%package -n python3-beetcamp +Summary:	Bandcamp autotagger source for beets (http://beets.io). +Provides:	python-beetcamp +BuildRequires:	python3-devel +BuildRequires:	python3-setuptools +BuildRequires:	python3-pip +%description -n python3-beetcamp +[](https://pypi.python.org/pypi/beetcamp) +[](https://sonarcloud.io/dashboard?id=snejus_beetcamp) +[](https://coveralls.io/github/snejus/beetcamp?branch=main) +[ ](https://hits.seeyoufarm.com) +Bandcamp autotagger plugin for [beets]. It mostly focuses on +- Staying up-to-date with information Bandcamp provide in the JSON metadata +- Parsing **all possible** (if relevant) metadata from various places +  - For example, a catalog number given in the release or media description +- Correctness of the data +  - For example, determining artist names from various artists releases +- Compliance with MusicBrainz fields format, to remove the need for pre-processing if, for +  example, one wishes to upload the metadata to MB. +Thanks to [unrblt] for [beets-bandcamp] providing the idea and initial implementation. +[beets]: https://github.com/beetbox/beets +[unrblt]: https://github.com/unrblt +[beets-bandcamp]: https://github.com/unrblt/beets-bandcamp +# Installation +## Recommended method +1. Install `beets` with `pipx` so that it's isolated from your system and other projects +```bash +pipx install beets +``` +2. Inject `beetcamp` and other dependencies that you need +```bash +pipx inject beets beetcamp [python-mpd2 ...] +``` +3. Add `bandcamp` to the `plugins` list to your beets configuration file. +## Otherwise +Navigate to your `beets` virtual environment and install the plug-in with +```bash +   pip install beetcamp +``` +# CLI +The plugin exposes some of its functionality through a command-line application `beetcamp`: +```xml +usage: beetcamp [-h] [-a] [-l] [-t] [release_url | query] +Get bandcamp release metadata from the given <release-url> or perform +bandcamp search with <query>. Anything that does not start with https:// +will be assumed to be a query. Search type flags: -a for albums, -l for +labels and artists, -t for tracks. By default, all types are searched. +positional arguments: +  release_url  Release URL, starting with https:// OR +  query        Search query +options: +  -h, --help   show this help message and exit +  -a, --album  Search albums +  -l, --label  Search labels and artists +  -t, --track  Search tracks +  -o INDEX, --open INDEX +                        Open search result indexed by INDEX in the browser +``` +- Use `beetcamp <bandcamp-release-url>` to return release metadata in JSON format. +- Use `beetcamp [-alt] <query>` to search albums, labels and tracks on Bandcamp and return +  results in JSON.  +- Search results are indexed - add `-o <index>` in order to open the chosen URL in the browser. +You can see how the data looks below (the output is prettified with [rich-tables]). + +[rich-tables]: https://github.com/snejus/rich-tables +# Configuration +## Default +```yaml +bandcamp: +  include_digital_only_tracks: true +  search_max: 2 +  art: yes +  comments_separator: "\n---\n" +  exclude_extra_fields: [] +  genre: +    capitalize: no +    maximum: 0 +    always_include: [] +    mode: progressive # classical, progressive or psychedelic + +%package help +Summary:	Development documents and examples for beetcamp +Provides:	python3-beetcamp-doc +%description help +[](https://pypi.python.org/pypi/beetcamp) +[](https://sonarcloud.io/dashboard?id=snejus_beetcamp) +[](https://coveralls.io/github/snejus/beetcamp?branch=main) +[ ](https://hits.seeyoufarm.com) +Bandcamp autotagger plugin for [beets]. It mostly focuses on +- Staying up-to-date with information Bandcamp provide in the JSON metadata +- Parsing **all possible** (if relevant) metadata from various places +  - For example, a catalog number given in the release or media description +- Correctness of the data +  - For example, determining artist names from various artists releases +- Compliance with MusicBrainz fields format, to remove the need for pre-processing if, for +  example, one wishes to upload the metadata to MB. +Thanks to [unrblt] for [beets-bandcamp] providing the idea and initial implementation. +[beets]: https://github.com/beetbox/beets +[unrblt]: https://github.com/unrblt +[beets-bandcamp]: https://github.com/unrblt/beets-bandcamp +# Installation +## Recommended method +1. Install `beets` with `pipx` so that it's isolated from your system and other projects +```bash +pipx install beets +``` +2. Inject `beetcamp` and other dependencies that you need +```bash +pipx inject beets beetcamp [python-mpd2 ...] +``` +3. Add `bandcamp` to the `plugins` list to your beets configuration file. +## Otherwise +Navigate to your `beets` virtual environment and install the plug-in with +```bash +   pip install beetcamp +``` +# CLI +The plugin exposes some of its functionality through a command-line application `beetcamp`: +```xml +usage: beetcamp [-h] [-a] [-l] [-t] [release_url | query] +Get bandcamp release metadata from the given <release-url> or perform +bandcamp search with <query>. Anything that does not start with https:// +will be assumed to be a query. Search type flags: -a for albums, -l for +labels and artists, -t for tracks. By default, all types are searched. +positional arguments: +  release_url  Release URL, starting with https:// OR +  query        Search query +options: +  -h, --help   show this help message and exit +  -a, --album  Search albums +  -l, --label  Search labels and artists +  -t, --track  Search tracks +  -o INDEX, --open INDEX +                        Open search result indexed by INDEX in the browser +``` +- Use `beetcamp <bandcamp-release-url>` to return release metadata in JSON format. +- Use `beetcamp [-alt] <query>` to search albums, labels and tracks on Bandcamp and return +  results in JSON.  +- Search results are indexed - add `-o <index>` in order to open the chosen URL in the browser. +You can see how the data looks below (the output is prettified with [rich-tables]). + +[rich-tables]: https://github.com/snejus/rich-tables +# Configuration +## Default +```yaml +bandcamp: +  include_digital_only_tracks: true +  search_max: 2 +  art: yes +  comments_separator: "\n---\n" +  exclude_extra_fields: [] +  genre: +    capitalize: no +    maximum: 0 +    always_include: [] +    mode: progressive # classical, progressive or psychedelic + +%prep +%autosetup -n beetcamp-0.16.3 + +%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-beetcamp -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.16.3-1 +- Package Spec generated @@ -0,0 +1 @@ +ea05c7932c081c7425d46a6dd4b0f414  beetcamp-0.16.3.tar.gz  | 
