From 389d2c46579b35adff7c48dc470f640240948e0a Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Thu, 18 May 2023 06:33:01 +0000 Subject: automatic import of python-beetcamp --- .gitignore | 1 + python-beetcamp.spec | 290 +++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 292 insertions(+) create mode 100644 python-beetcamp.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..5aaefb0 100644 --- a/.gitignore +++ b/.gitignore @@ -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 +[![image](http://img.shields.io/pypi/v/beetcamp.svg)](https://pypi.python.org/pypi/beetcamp) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=snejus_beetcamp&metric=alert_status)](https://sonarcloud.io/dashboard?id=snejus_beetcamp) +[![Coverage Status](https://coveralls.io/repos/github/snejus/beetcamp/badge.svg?branch=main)](https://coveralls.io/github/snejus/beetcamp?branch=main) +[ ![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fsnejus%2Fbeetcamp&count_bg=%23842424&title_bg=%23846060&icon=postwoman.svg&icon_color=%23CF4D4D&title=hits&edge_flat=true)](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 or perform +bandcamp search with . 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 ` to return release metadata in JSON format. +- Use `beetcamp [-alt] ` to search albums, labels and tracks on Bandcamp and return + results in JSON. +- Search results are indexed - add `-o ` 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]). +![image](https://github.com/snejus/beetcamp/blob/fe6ea71a0ab0035d657d13f664de957befb4552c/images/search.png?raw=true) +[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 +[![image](http://img.shields.io/pypi/v/beetcamp.svg)](https://pypi.python.org/pypi/beetcamp) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=snejus_beetcamp&metric=alert_status)](https://sonarcloud.io/dashboard?id=snejus_beetcamp) +[![Coverage Status](https://coveralls.io/repos/github/snejus/beetcamp/badge.svg?branch=main)](https://coveralls.io/github/snejus/beetcamp?branch=main) +[ ![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fsnejus%2Fbeetcamp&count_bg=%23842424&title_bg=%23846060&icon=postwoman.svg&icon_color=%23CF4D4D&title=hits&edge_flat=true)](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 or perform +bandcamp search with . 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 ` to return release metadata in JSON format. +- Use `beetcamp [-alt] ` to search albums, labels and tracks on Bandcamp and return + results in JSON. +- Search results are indexed - add `-o ` 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]). +![image](https://github.com/snejus/beetcamp/blob/fe6ea71a0ab0035d657d13f664de957befb4552c/images/search.png?raw=true) +[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 +[![image](http://img.shields.io/pypi/v/beetcamp.svg)](https://pypi.python.org/pypi/beetcamp) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=snejus_beetcamp&metric=alert_status)](https://sonarcloud.io/dashboard?id=snejus_beetcamp) +[![Coverage Status](https://coveralls.io/repos/github/snejus/beetcamp/badge.svg?branch=main)](https://coveralls.io/github/snejus/beetcamp?branch=main) +[ ![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fsnejus%2Fbeetcamp&count_bg=%23842424&title_bg=%23846060&icon=postwoman.svg&icon_color=%23CF4D4D&title=hits&edge_flat=true)](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 or perform +bandcamp search with . 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 ` to return release metadata in JSON format. +- Use `beetcamp [-alt] ` to search albums, labels and tracks on Bandcamp and return + results in JSON. +- Search results are indexed - add `-o ` 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]). +![image](https://github.com/snejus/beetcamp/blob/fe6ea71a0ab0035d657d13f664de957befb4552c/images/search.png?raw=true) +[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 - 0.16.3-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..018bb4c --- /dev/null +++ b/sources @@ -0,0 +1 @@ +ea05c7932c081c7425d46a6dd4b0f414 beetcamp-0.16.3.tar.gz -- cgit v1.2.3