diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml new file mode 100644 index 00000000..5573db43 --- /dev/null +++ b/.github/workflows/pypi-publish.yml @@ -0,0 +1,31 @@ +# This workflow will upload a Python Package using Twine when a release is created +# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries + +name: PyPi Upload + +on: + release: + types: [created] + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build and publish + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + python setup.py sdist bdist_wheel + twine upload dist/* \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..d8c720f6 --- /dev/null +++ b/setup.py @@ -0,0 +1,31 @@ +import pathlib +from setuptools import setup +import setuptools + + + +# The directory containing this file +HERE = pathlib.Path(__file__).parent + +# The text of the README file +README = (HERE / "README.md").read_text() + +# This call to setup() does all the work +setup( + name="zspotify", + version="0.5.3", + description="A spotify downloader.", + long_description=README, + long_description_content_type="text/markdown", + url="https://github.com/Footsiefat/zspotify.git", + author="logykk", + author_email="logyx1@protonmail.com", + license="GPLv3", + classifiers=[ + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Programming Language :: Python :: 3.9", + ], + packages=['zspotify'], + install_requires=['ffmpy', 'music_tag', 'Pillow', 'protobuf', 'tabulate', 'tqdm', 'git+https://github.com/kokarare1212/librespot-python'], + include_package_data=True, +) diff --git a/zspotify/app.py b/zspotify/app.py index c39cd957..bb17bc77 100644 --- a/zspotify/app.py +++ b/zspotify/app.py @@ -82,11 +82,14 @@ def download_from_urls(urls: list[str]) -> bool: download = True playlist_songs = get_playlist_songs(playlist_id) name, _ = get_playlist_info(playlist_id) + enum = 1 + char_num = len(str(len(playlist_songs))) for song in playlist_songs: if not song[TRACK][NAME]: Printer.print(PrintChannel.SKIPS, '### SKIPPING: SONG DOES NOT EXIST ON SPOTIFY ANYMORE ###' + "\n") else: - download_track('playlist', song[TRACK][ID], extra_keys={'playlist': name}) + download_track('playlist', song[TRACK][ID], extra_keys={'playlist': name, 'playlist_num': str(enum).zfill(char_num)}) + enum += 1 elif episode_id is not None: download = True download_episode(episode_id)