sandiz / rs-manager

Stats Manager for Rocksmith - Manage Playlists, Stats, Setlists and more!
https://sandiz.github.io/rs-manager/
GNU General Public License v3.0
52 stars 8 forks source link

Can not export setlist #68

Closed ghost closed 5 years ago

ghost commented 5 years ago

Describe the bug Export setlist give me an error no matter how I set the path to rsrtool.

{"code":"ENOENT","errno":"ENOENT","syscall":"spawn \"C:\Python\Lib\site-packages\rsrtools\\"","path":"\"C:\Python\Lib\site-packages\rsrtools\\"","spawnargs":["--silent","-a","76561197995688498","-p","Gaboros","-sl","2","\"D:\Temp\Windows\tmp-9132X2zTof37O1kR\songkeys.json\"","\"D:\Temp\Windows\tmp-9132X2zTof37O1kR\""]}

V2.1.9

sandiz commented 5 years ago

on windows it seems importrsm.exe is created here: C:\<PythonDir>\Scripts\importrsm.exe

can you check if you have C:\Python\Scripts\importrsm.exe, and try with that path ?

for reference here's what i am seeing on my windows10:

PS C:\> C:\Windows\system32\where.exe importrsm.exe
C:\Python37\Scripts\importrsm.exe

image

ghost commented 5 years ago

I tried it that also before submitting the ticket. Here is the result:

{"code":"ENOENT","errno":"ENOENT","syscall":"spawn \"C:\\Python\\Scripts\"","path":"\"C:\\Python\\Scripts\"","spawnargs":["--silent","-a","76561197995688498","-p","Gaboros","-sl","2","\"D:\\Temp\\Windows\\tmp-11728uSuX0NlvLuk7\\songkeys.json\"","\"D:\\Temp\\Windows\\tmp-11728uSuX0NlvLuk7\""]}

But as you can see it's there: image

sandiz commented 5 years ago

are you passing the full path including importrsm.exe or just the directory ?

ghost commented 5 years ago

Tried both. Tried a lot of thing which came in my mind. :)

{"code":"ENOENT","errno":"ENOENT","syscall":"spawn \"C:\\Python\\Scripts\\importrsm.exe\"","path":"\"C:\\Python\\Scripts\\importrsm.exe\"","spawnargs":["--silent","-a","76561197995688498","-p","Gaboros","-sl","2","\"D:\\Temp\\Windows\\tmp-11728Kike7dleIex7\\songkeys.json\"","\"D:\\Temp\\Windows\\tmp-11728Kike7dleIex7\""]}

ghost commented 5 years ago

Also the reversed \ not works: C:\Python\Scripts C:\Python\Scripts\ C:\Python\Scripts\importrsm.exe C:/Python/Scripts C:/Python/Scripts/ C:/Python/Scripts/importrsm.exe All of them give me ENOENT. BTW calling importrsm in terminal works, it's on the path.

sandiz commented 5 years ago

thanks for the info, let me try to repro!

ghost commented 5 years ago

Thanks! :)

sandiz commented 5 years ago

one more request :) can you try with double backslash C:\\Python\\Scripts\\importrsm.exe and paste the error if any

thanks!

ghost commented 5 years ago

ENOENT :(

{"code":"ENOENT","errno":"ENOENT","syscall":"spawn \"C:\\\\Python\\\\Scripts\\\\importrsm.exe\"","path":"\"C:\\\\Python\\\\Scripts\\\\importrsm.exe\"","spawnargs":["--silent","-a","76561197995688498","-p","Gaboros","-sl","2","\"D:\\Temp\\Windows\\tmp-11728lQ1H3U3phjnP\\songkeys.json\"","\"D:\\Temp\\Windows\\tmp-11728lQ1H3U3phjnP\""]}

ghost commented 5 years ago

Just realized the editor trim out some \ character. So just to be sure. The error message for C:\Python\Scripts\importrsm.exe is:

{"code":"ENOENT","errno":"ENOENT","syscall":"spawn \"C:\\Python\\Scripts\\importrsm.exe\"","path":"\"C:\\Python\\Scripts\\importrsm.exe\"","spawnargs":["--silent","-a","76561197995688498","-p","Gaboros","-sl","2","\"D:\\Temp\\Windows\\tmp-117283q4bfSxhXe40\\songkeys.json\"","\"D:\\Temp\\Windows\\tmp-117283q4bfSxhXe40\""]}

sandiz commented 5 years ago

thanks @Gaboros , you mentioned importrsm runs from the terminal, were you able to import any json to rocksmith from the terminal ?

ghost commented 5 years ago

I don't know what happened and what was the problem but it's working now with "C:\Python\Scripts\importrsm.exe".

I realised in the settings there was no active steam profile selected and even couldn't select it. Which is impossible because there was RS profile selected. So I tried to start rocksmith and steam give me an error about it could not initialise steam content or something like that. I restarted steam, started rocksmith. Also restarted RM manager and the steam profile was there. Now it's working as expected. The error was very missleading. Thank you for your help and for your awesome tool! :)

sandiz commented 5 years ago

thanks for the info, glad its working!

jonhermansen commented 4 years ago

I ran into the same issue. Turned out there was a CDLC tracked in my game save that was causing an error when running importrsm:

PS C:\Users\jon> C:\Python37\Scripts\importrsm.exe --silent -a 76561198035346209 -p jon -sl 3 "C:\Users\jon\AppData\Local\Temp\tmp-3284t5k2HUG4w2Q7\songkeys.json" "C:\Users\jon\AppData\Local\Temp\tmp-3284t5k2HUG4w2Q7"
Traceback (most recent call last):
  File "c:\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Python37\Scripts\importrsm.exe\__main__.py", line 9, in <module>
  File "c:\python37\lib\site-packages\rsrtools\importrsm.py", line 485, in main
    validate_song_keys(song_list_dict, working)
  File "c:\python37\lib\site-packages\rsrtools\importrsm.py", line 123, in validate_song_keys
    f"Song Key(s) for song list '{id}' are not alphanumeric."
ValueError: Song Key(s) for song list '3' are not alphanumeric.
    ['EnterSandman-Nacholede']

So I went into the list of owned songs, searched for the title of this song, and removed them/marked to never import again. That fixed the issue for me, hopefully this may be helpful for someone else.

BuongiornoTexas commented 4 years ago

@jonhermansen Importrsm does very basic validation on filenames for DLC/CDLC. So far, all official DLC uses only alphanumeric characters (a-z,A-Z,0-9) and maybe accented variants. I think your file failed due to the "-" in the file name. I'll fix this up when I next do a round of updates, but it may be while.

If you want to get it working again, try renaming the CDLC file to: EnterSandmanNacholede_p.psarc or EnterSandmanNacholede_p.psarc depending on platform. This may reset your progress on the song though (I can't remember if this happens or not). If it does, you can always revert the rename though.

Update: Addressed in 1.0.0 release of rsrtools.