jmriego / emulation

0 stars 0 forks source link

Traceback #9

Closed TonyBirt closed 1 year ago

TonyBirt commented 1 year ago

Hi, using Kodi again after a bit of hiatus. Getting the below traceback error, not sure what I might have wrong. I am using a fresh install of kodi matrix 19.5 with just AEL 10.1 installed, a fresh install of Launchbox with Steam and Genesis added as platforms, thanks Tony.

C:\Applications\Launchbox2AEL>launchbox2ael.py Traceback (most recent call last): File "C:\Applications\Launchbox2AEL\LaunchBox2AEL.py", line 130, in categories, launchers, collections = generate_data() ^^^^^^^^^^^^^^^ File "C:\Applications\Launchbox2AEL\LaunchBox2AEL.py", line 35, in generate_data launchers = AELLaunchersCatalog(launchbox.games, DOSBOX_EXE, DOSBOX_ARGS, AELDIR) ^^^^^^^^^^^^^^^ File "C:\Applications\Launchbox2AEL\launchbox\catalog.py", line 62, in games self.platforms, ^^^^^^^^^^^^^^ File "C:\Applications\Launchbox2AEL\launchbox\catalog.py", line 48, in platforms self._platforms = PlatformsCatalog( ^^^^^^^^^^^^^^^^^ File "C:\Applications\Launchbox2AEL\launchbox\platform.py", line 35, in init self.platforms[platform_name].category = categories.search(category_name)


KeyError: ''
jmriego commented 1 year ago

hi! I was recently starting to use Kodi again myself and doing some improvements.

From what I can see the issue seems to be that in LaunchBox you have a category assigned to a platform that does not exist. I think I know what the issue is but can you have a look at the LaunchBox file Data/Platforms.xml or attach it so I can have a look?

TonyBirt commented 1 year ago

Attached as jpg, thanks for taking a look.

Platforms

jmriego commented 1 year ago

ah yes, I can see that file format is not supported. But it's not letting me see it as a JPG either image

what about if you copy that file as a .txt file? I think that should work

TonyBirt commented 1 year ago

Platforms.txt

Try that, thanks.

jmriego commented 1 year ago

Thanks! do you mind also sending the Parents xml file? I think I'm getting close to the issue

TonyBirt commented 1 year ago

Parents.txt

Great, attached

jmriego commented 1 year ago

I think this should be good to go. I'll keep on doing some testing, but do you mind trying the logger branch? I have added the code in #10 to add better logging and fixing this issue

TonyBirt commented 1 year ago

Adds category to AEL but say's category has no launchers.

D:\emulation-logger> D:\emulation-logger>launchbox2ael.py INFO:main:Reading LaunchBox data from D:\LaunchBox INFO:main:Generating AEL categories from LaunchBox categories INFO:main:Generating AEL launchers from LaunchBox platforms and emulators WARNING:launchbox.platform:This category mapping doesnt seem to include a platform WARNING:launchbox.platform:This category mapping doesnt seem to include a platform INFO:launchbox.game:Generating list of Windows games INFO:launchbox.game:Generating list of Sega Genesis games INFO:ael.launcher:Generating list of AEL launchers from the games that use them INFO:ael.launcher:Generating count of games for each AEL launcher INFO:main:Generating AEL collections from LaunchBox playlists INFO:main:Writing AEL categories INFO:main:Writing AEL launchers INFO:main:Writing launcher games INFO:main:Writing collections file INFO:main:Writing collections games

jmriego commented 1 year ago

Are you referring to the warning saying This category mapping doesnt seem to include a platform? If that's it, it is expected and the rest of the data should be exported anyway.

I have separated the 4 category/platform parent relations that you have in the Parents.xml file. The script shoud have done this for each of those parents in this exact order:

  1. Add Windows platform to the Computers category
  2. There's a platform with no name added to the Computers category. Throws a warning
  3. Add Sega Genesis platform to the Consoles category
  4. Add a not specified platform to the Consoles category. Throws a warning

The only two platforms with a category in your file are Computers/Windows and Consoles/Sega Genesis. If you open AEL you should see exactly that. Let me know if I'm missing anything

  <Parent>
    <PlatformName>Windows</PlatformName>
    <PlaylistId />
    <PlatformCategoryName />
    <ParentPlatformName />
    <ParentPlaylistId />
    <ParentPlatformCategoryName>Computers</ParentPlatformCategoryName>
  </Parent>

  <Parent>
    <PlatformName />
    <PlaylistId />
    <PlatformCategoryName>Computers</PlatformCategoryName>
    <ParentPlatformName />
    <ParentPlaylistId />
    <ParentPlatformCategoryName />
  </Parent>

  <Parent>
    <PlatformName>Sega Genesis</PlatformName>
    <ParentPlatformCategoryName>Consoles</ParentPlatformCategoryName>
  </Parent>

  <Parent>
    <PlatformCategoryName>Consoles</PlatformCategoryName>
  </Parent>
</LaunchBox>
TonyBirt commented 1 year ago

Apologies, I might not be understanding. The message I was mentioning was in Kodi itself.
Advanced Emulator Launcher Category Computers has no launchers. Add Launchers first.

Logging adds category launchers to AEL but when opening AEL in Kodi it comes up with above message without games. Sent a little something through Paypal for you help and time, thanks.

jmriego commented 1 year ago

ooh I see. I misunderstood what you were saying. I thought you meant the "category has no launchers" was something you were seeing in this program. just a guess... you probably have games, but just in case. Do you have games added to LaunchBox in the Windows platform?

It might be best if you edit the config.ini file and you add this text to it:

[debug]
file=LaunchBox2AEL.log

Then run the export and attach here the LaunchBox2AEL.log file that will be generated and should have a lot of detail for what it's doing internally that I can review. And thank you so much for the donation!

TonyBirt commented 1 year ago

Cheers, renamed log to txt and attached.

LaunchBox2AEL.txt

jmriego commented 1 year ago

I was finally able to reproduce it. Can you try again with the code in this same logger branch? 🤞

jmriego commented 1 year ago

hi! did you manage to check if this fixed it for you? I think this is ready unless you found some issue