diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-18 06:33:01 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-18 06:33:01 +0000 |
commit | 389d2c46579b35adff7c48dc470f640240948e0a (patch) | |
tree | f0997610d7ec23cc87f0c05936f09a010514b9b7 | |
parent | 46238c18cda79d7fe584eb8122a6b6d9497e2e8a (diff) |
automatic import of python-beetcamp
-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 |