ligh7s / smoked-salmon

salmon uploading tools~
Apache License 2.0
131 stars 27 forks source link

Syntax Error while migrating database #30

Open rmrf-sl4sh opened 3 years ago

rmrf-sl4sh commented 3 years ago

(.venv) [user@server .smoked-salmon]$ python3 run.py migrate Traceback (most recent call last): File "/home/user/.smoked-salmon/run.py", line 7, in import salmon.commands File "/home/user/.smoked-salmon/salmon/commands.py", line 11, in import salmon.converter File "/home/user/.smoked-salmon/salmon/converter/init.py", line 4, in from salmon.converter.downconverting import convert_folder File "/home/user/.smoked-salmon/salmon/converter/downconverting.py", line 13, in from salmon.tagger.audio_info import gather_audio_info File "/home/user/.smoked-salmon/salmon/tagger/init.py", line 19, in from salmon.tagger.metadata import get_metadata File "/home/user/.smoked-salmon/salmon/tagger/metadata.py", line 10, in from salmon.search import SEARCHSOURCES, run_metasearch File "/home/user/.smoked-salmon/salmon/search/init.py", line 15, in from salmon.search import ( File "/home/user/.smoked-salmon/salmon/search/tidal.py", line 25 for rank in zip_longest((await asyncio.gather(tasks))): ^ SyntaxError: can't use starred expression here

rmrf-sl4sh commented 3 years ago

the ^ points to the *await

nathom commented 3 years ago

I'm getting the same error when installing salmon with python3.9 on macOS:

    Running setup.py install for yarl ... done
    Running setup.py install for markupsafe ... done
    Running setup.py install for bencoder.pyx ... done
    Running setup.py install for bs4 ... done
    Running setup.py install for pycryptodome ... done
    Running setup.py install for pyimgur ... done
    Running setup.py install for pyperclip ... done
    Running setup.py install for ratelimit ... done
Successfully installed aiohttp-3.6.2 aiohttp-jinja2-1.2.0 async-timeout-3.0.1 attrs-19.3.0 beautifulsoup4-4.8.2 bencoder.pyx-2.0.1 bitstring-3.1.6 bs4-0.0.1 certifi-2019.11.28 chardet-3.0.4 click-7.0 colorama-0.4.3 commonmark-0.9.1 dottorrent-1.10.1 heybrochecklog-1.3.2 idna-2.9 jinja2-2.11.1 markupsafe-1.1.1 multidict-4.7.5 musicbrainzngs-0.7.1 mutagen-1.44.0 pprintpp-0.4.0 pycryptodome-3.9.7 pygments-2.6.1 pyimgur-0.6.0 pyperclip-1.7.0 ratelimit-2.2.1 requests-2.23.0 rich-1.3.1 soupsieve-2.0 typing-extensions-3.7.4.1 urllib3-1.25.8 yarl-1.4.2 yaspin-0.16.0
WARNING: You are using pip version 20.2.3; however, version 21.1 is available.
You should consider upgrading via the '/Users/nathan/.smoked-salmon/.venv/bin/python3 -m pip install --upgrade pip' command.
Traceback (most recent call last):
  File "/Users/nathan/.smoked-salmon/run.py", line 7, in <module>
    import salmon.commands
  File "/Users/nathan/.smoked-salmon/salmon/commands.py", line 11, in <module>
    import salmon.converter
  File "/Users/nathan/.smoked-salmon/salmon/converter/__init__.py", line 4, in <module>
    from salmon.converter.downconverting import convert_folder
  File "/Users/nathan/.smoked-salmon/salmon/converter/downconverting.py", line 13, in <module>
    from salmon.tagger.audio_info import gather_audio_info
  File "/Users/nathan/.smoked-salmon/salmon/tagger/__init__.py", line 19, in <module>
    from salmon.tagger.metadata import get_metadata
  File "/Users/nathan/.smoked-salmon/salmon/tagger/metadata.py", line 10, in <module>
    from salmon.search import SEARCHSOURCES, run_metasearch
  File "/Users/nathan/.smoked-salmon/salmon/search/__init__.py", line 15, in <module>
    from salmon.search import (
  File "/Users/nathan/.smoked-salmon/salmon/search/tidal.py", line 25
    for rank in zip_longest((*await asyncio.gather(*tasks))):
                             ^
SyntaxError: can't use starred expression here
flying-sausages commented 3 years ago

Can you reproduce this on 3.6.6 as well?

kitschmensch commented 3 years ago

I haven't tested python 3.6.6 but I got a successful migration on 3.8.10, and a failed one on 3.9.6. Exact same location.

(.venv) username@server ~/.smoked-salmon $ python3 run.py migrate
Traceback (most recent call last):
  File "/mnt/mpathah/username/.smoked-salmon/run.py", line 7, in <module>
    import salmon.commands
  File "/mnt/mpathah/username/.smoked-salmon/salmon/commands.py", line 11, in <module>
    import salmon.converter
  File "/mnt/mpathah/username/.smoked-salmon/salmon/converter/__init__.py", line 4, in <module>
    from salmon.converter.downconverting import convert_folder
  File "/mnt/mpathah/username/.smoked-salmon/salmon/converter/downconverting.py", line 13, in <module>
    from salmon.tagger.audio_info import gather_audio_info
  File "/mnt/mpathah/username/.smoked-salmon/salmon/tagger/__init__.py", line 19, in <module>
    from salmon.tagger.metadata import get_metadata
  File "/mnt/mpathah/username/.smoked-salmon/salmon/tagger/metadata.py", line 10, in <module>
    from salmon.search import SEARCHSOURCES, run_metasearch
  File "/mnt/mpathah/username/.smoked-salmon/salmon/search/__init__.py", line 15, in <module>
    from salmon.search import (
  File "/mnt/mpathah/username/.smoked-salmon/salmon/search/tidal.py", line 25
    for rank in zip_longest((*await asyncio.gather(*tasks))):
                             ^
SyntaxError: can't use starred expression here

EDIT: I'm able to bypass the syntax error with this quick refactor of tidal.py. I unpacked into a new list variable and then passed that on to the loop. I haven't tested it yet, so the Tidal search may fail.

        newlist = [*await asyncio.gather(*tasks)]
        for rank in zip_longest(newlist):