ZeroQI / Lambda.bundle

Local Media Export, a reverse Plex 'Local Media Assets' agent to export metadata locally
GNU General Public License v3.0
134 stars 18 forks source link

Only Season 1 fanart is saved to NFO file #28

Open Soitora opened 3 years ago

Soitora commented 3 years ago

Only Season 1 fanart is saved to NFO file

For example, my NFO file for Beastars is:

...
  <art>
    <poster>G:\Media\Anime\Beastars [tvdb-361013]\poster.jpg</poster>
    <fanart>G:\Media\Anime\Beastars [tvdb-361013]\background.jpg</fanart>
    <banner>G:\Media\Anime\Beastars [tvdb-361013]\banner.jpg</banner>
    <season num="2">
      <poster>G:\Media\Anime\Beastars [tvdb-361013]\Season 1\Season01.jpg</poster>
      <fanart>G:\Media\Anime\Beastars [tvdb-361013]\Season 1\Season01-fanart.jpg</fanart>
    </season>
  </art>
...

It also says season num="2" on what is actually the season 1 fanart. I have Season 2 fanart in the exact same structure, this is what I'd imagine the NFO would look like:

...
  <art>
    <poster>G:\Media\Anime\Beastars [tvdb-361013]\poster.jpg</poster>
    <fanart>G:\Media\Anime\Beastars [tvdb-361013]\background.jpg</fanart>
    <banner>G:\Media\Anime\Beastars [tvdb-361013]\banner.jpg</banner>
    <season num="1">
      <poster>G:\Media\Anime\Beastars [tvdb-361013]\Season 01\Season01.jpg</poster>
      <fanart>G:\Media\Anime\Beastars [tvdb-361013]\Season 01\Season01-fanart.jpg</fanart>
    </season>
    <season num="2">
      <poster>G:\Media\Anime\Beastars [tvdb-361013]\Season 02\Season02.jpg</poster>
      <fanart>G:\Media\Anime\Beastars [tvdb-361013]\Season 02\Season02-fanart.jpg</fanart>
    </season>
  </art>
...
ZeroQI commented 3 years ago

Could you refresh the metadata on this series alone and then attach Lambda agent logs? Please include filelist logs from Absolute Series Scanner of available so I can reproduce the series structure

Soitora commented 3 years ago

I'd like to start by saying what I said in #27 (since it sometimes doesnt notify after issue is closed), these are not duplicate issues.

Lambda logs, cleared before doing this series for readability com.plexapp.agents.lambda.log

ASS filelist logs Beastars.filelist.log

It looks like all filelist logs are from 2020, maybe I should delete the folders and recreate them? At one point I renamed Anime to Anime (old), then had a Asgard renamed into Anime, this was part of a project I did where I cleaned and redid all the files, maybe from there on it started conflicting and not updating

ZeroQI commented 3 years ago

no point adding season title if only one season information is kept, this issue take precedence and groupnt both issues on that ticket

The agent and scanner use the library path and name, not sure if they play well with renaming... This is not a recent ASS version, i modified it to be exactly the filelist to allow to re-create libraries easily, as they are basically just the relative path and filename for each episode...

NFO:

  <art>
    <season num="2">
      <poster>G:\Media\Anime\Beastars [tvdb-361013]\Season 1\Season01.jpg</poster>

https://github.com/ZeroQI/Lambda.bundle/blob/master/Contents/Code/__init__.py lines 498 and 501 are responsible

                SaveFile(destination, path, 'series_nfo', nfo_xml=nfo_xml, xml_field={'art':{'season': {'num': season, 'poster': {'text': destination}}}}, metadata_field=None)
                SaveFile(destination, path, 'series_nfo', nfo_xml=nfo_xml, xml_field={'art':{'season': {'num': season, 'fanart': {'text': destination}}}}, metadata_field=None)

To be tested after metadata_field=None to add , multi=True, tag_multi='season'

Soitora commented 3 years ago

Adding , multi=True, tag_multi='season' to #L498 and #L501 seemed to make it work, kind of.

  <art>
    <season num="1">
      <poster>G:\Media\Anime\Beastars [tvdb-361013]\Season 01\Season01.jpg</poster>
    </season>
  </art>
  <art>
    <season num="1">
      <fanart>G:\Media\Anime\Beastars [tvdb-361013]\Season 01\Season01-fanart.jpg</fanart>
    </season>
  </art>
  <art>
    <season num="2">
      <poster>G:\Media\Anime\Beastars [tvdb-361013]\Season 02\Season02.jpg</poster>
    </season>
  </art>
  <art>
    <season num="2">
      <fanart>G:\Media\Anime\Beastars [tvdb-361013]\Season 02\Season02-fanart.jpg</fanart>
    </season>
  </art>

This almost looks like intended, except they should probably be grouped.

On my Gintama entry it did all 10 seasons right

On my Sword Art Online it did 2 out of 4 season, when I did Refresh Metadata it duplicated Season 1 and 2 each time it was used:

  <art>
    <season num="1">
      <poster>G:\Media\Anime\Sword Art Online [tvdb-259640]\Season 01\Season01.jpg</poster>
    </season>
  </art>
  <art>
    <season num="2">
      <poster>G:\Media\Anime\Sword Art Online [tvdb-259640]\Season 02\Season02.jpg</poster>
    </season>
  </art>
  <art>
    <season num="1">
      <poster>G:\Media\Anime\Sword Art Online [tvdb-259640]\Season 01\Season01.jpg</poster>
    </season>
  </art>
  <art>
    <season num="2">
      <poster>G:\Media\Anime\Sword Art Online [tvdb-259640]\Season 02\Season02.jpg</poster>
    </season>
  </art>
  <art>
    <season num="1">
      <poster>G:\Media\Anime\Sword Art Online [tvdb-259640]\Season 01\Season01.jpg</poster>
    </season>
  </art>
  <art>
    <season num="2">
      <poster>G:\Media\Anime\Sword Art Online [tvdb-259640]\Season 02\Season02.jpg</poster>
    </season>
  </art>

Also this created a duplicate art key for each entry, it did not place them under the main one but on new ones on the bottom of the NFO file.

ZeroQI commented 3 years ago

The update engine need to add to <season num="2"> if it's the right season number or create it, but not reuse others By default it's unique tag, unless multi=True and if tag_multi, it will allow multiples for that tag

To try

Soitora commented 3 years ago

The update engine need to add to <season num="2"> if it's the right season number or create it, but not reuse others

poster and fanart for that season should still fall under the season, and that season should fall under the main art right?

To try

  • , multi=True, tag_multi='poster' to #L498
  • , multi=True, tag_multi='fanart' to #L501

Functions the same as before except it no longer duplicates on a new refresh. It still can't find (or even generate) for Season 3 and 4 of Sword Art Online

Here's the log: com.plexapp.agents.lambda.log

And since ASS/Hama no longer creates filelist.log files above empty 0 byte ones then heres the one I created using your BATCH tool of the folders for my structure: filelist-sao.log

Here's my tvshow.nfo: tvshow.txt