Jump to content

How to apply NFO file changes


Recommended Posts

DragonSkills99
Posted

Hey @Luke,

 

I've written a NodeJS App that reads the nfo files and also modifies them (adding tags and studios and such) now I'm wondering how I can tell emby to load those changes without clearing the changes. Any tips?

 

Best Regards
DragonSkills99

Happy2Play
Posted

Simple library scan should see the changes, depending on actual setup RTM should see them also if working. 

But note you can add but not completely remove any given node as the DB will always repopulate.

DragonSkills99
Posted

Just found out, the main reasons I could not add a studio, was because studios were locked. But I want them to be locked from changes by any automatic update through emby and at the same time to be able to change the values by changing the files. Any chance, that could be possible?

Happy2Play
Posted

Ensure you nfo has the specific lockfield applied and whatever you like to nfo as it will be read.  But overal lockdata can be true also.

  <lockdata>false</lockdata>
  <lockedfields>Studios</lockedfields>

Would need your specific steps is not working as I edit nfo files directly all the time.

Happy2Play
Posted (edited)

Actually think I remember another topic like this and you had to remove lock, edit, allow emby to see change, reapply lock.  Will have to look and possibly retest.

As database locks push back to nfo file removing change.

Edited by Happy2Play
DragonSkills99
Posted

Lets take this file for example: 

 

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<tvshow>
  <plot><![CDATA[Durch Medikamente und Hypnotisieren kann man in Menschen bestimmte Fähigkeiten wecken. Doch über seine Fähigkeit ist Kamijyou Touma nur mäßig begeistert. Klar, es ist die mächtigste Fähigkeit überhaupt, aber das bringt auch riesige Nachteile mit sich. Kurz gesagt: Er hat ständig Pech. Bei den Mädels unbeliebt, öfters von anderen gejagt, wird einem das Leben wirklich nie langweilig...
Allerdings sollte sich Toumas Leben ziemlich verändern und das mit dem Eintreffen eines kleinen Mädchens. "Index" heißt die Kleine und sie ist eine Nonne der Kirche. Allerdings ist sie nicht irgendeine Nonne. Nein, Touma platzt ausgerechnet in die Nonne hinein, die das Wissen von über 103000 Büchern besitzt. Dass diese Bücher nicht ganz normale Bücher sind, dürfte ja schon mal klar sein...
Dass Magie hier aber auch existiert, war ihm allerdings nicht so ganz klar.]]></plot>
  <outline><![CDATA[Durch Medikamente und Hypnotisieren kann man in Menschen bestimmte Fähigkeiten wecken. Doch über seine Fähigkeit ist Kamijyou Touma nur mäßig begeistert. Klar, es ist die mächtigste Fähigkeit überhaupt, aber das bringt auch riesige Nachteile mit sich. Kurz gesagt: Er hat ständig Pech. Bei den Mädels unbeliebt, öfters von anderen gejagt, wird einem das Leben wirklich nie langweilig...
Allerdings sollte sich Toumas Leben ziemlich verändern und das mit dem Eintreffen eines kleinen Mädchens. "Index" heißt die Kleine und sie ist eine Nonne der Kirche. Allerdings ist sie nicht irgendeine Nonne. Nein, Touma platzt ausgerechnet in die Nonne hinein, die das Wissen von über 103000 Büchern besitzt. Dass diese Bücher nicht ganz normale Bücher sind, dürfte ja schon mal klar sein...
Dass Magie hier aber auch existiert, war ihm allerdings nicht so ganz klar.]]></outline>
  <lockdata>false</lockdata>
  <lockedfields>Studios|Tags</lockedfields>
  <dateadded>2024-08-21 08:13:26</dateadded>
  <title>A Certain Magical Index</title>
  <originaltitle>とある魔術の禁書目録</originaltitle>
  <actor>
    <name>Yuka Iguchi</name>
    <role>Index</role>
    <type>Actor</type>
    <tmdbid>1242005</tmdbid>
    <tvdbid>294196</tvdbid>
  </actor>
  <actor>
    <name>Atsushi Abe</name>
    <role>Touma Kamijou</role>
    <type>Actor</type>
    <tmdbid>1154449</tmdbid>
    <tvdbid>280711</tvdbid>
  </actor>
  <actor>
    <name>Nobuhiko Okamoto</name>
    <role>Accelerator</role>
    <type>Actor</type>
    <tmdbid>1245094</tmdbid>
    <tvdbid>303207</tvdbid>
  </actor>
  <actor>
    <name>Rina Hidaka</name>
    <role>Last Order</role>
    <type>Actor</type>
    <tmdbid>1116334</tmdbid>
    <tvdbid>8143505</tvdbid>
  </actor>
  <actor>
    <name>Rina Satou</name>
    <role>Mikoto Misaka</role>
    <type>Actor</type>
    <tvdbid>293450</tvdbid>
  </actor>
  <actor>
    <name>Satomi Arai</name>
    <role>Kuroko Shirai</role>
    <type>Actor</type>
    <tmdbid>219563</tmdbid>
    <tvdbid>301628</tvdbid>
  </actor>
  <actor>
    <name>Nozomi Sasaki</name>
    <role>Misaka Imouto</role>
    <type>Actor</type>
    <tmdbid>2413553</tmdbid>
    <tvdbid>505152</tvdbid>
  </actor>
  <actor>
    <name>Kisho Taniyama</name>
    <role>Stiyl Magnus</role>
    <type>Actor</type>
    <tmdbid>553959</tmdbid>
    <tvdbid>302328</tvdbid>
  </actor>
  <actor>
    <name>Shizuka Itou</name>
    <role>Kaori Kanzaki</role>
    <type>Actor</type>
    <tvdbid>303214</tvdbid>
  </actor>
  <actor>
    <name>Yutaka Nakano</name>
    <role>Kaeru Kao no Ishi</role>
    <type>Actor</type>
    <tmdbid>83933</tmdbid>
    <tvdbid>300734</tvdbid>
  </actor>
  <actor>
    <name>Toshihiko Seki</name>
    <role>Aleister Crowley</role>
    <type>Actor</type>
    <tmdbid>90571</tmdbid>
    <tvdbid>282388</tvdbid>
  </actor>
  <actor>
    <name>Kawahara Yoshihisa</name>
    <role>Aogami Pierce</role>
    <type>Actor</type>
    <tvdbid>479678</tvdbid>
  </actor>
  <actor>
    <name>Mamiko Noto</name>
    <role>Aisa Himegami</role>
    <type>Actor</type>
    <tmdbid>89903</tmdbid>
    <tvdbid>293451</tvdbid>
  </actor>
  <actor>
    <name>Kana Asumi</name>
    <role>Hyouka Kazakiri</role>
    <type>Actor</type>
    <tmdbid>227879</tmdbid>
    <tvdbid>448724</tvdbid>
  </actor>
  <actor>
    <name>Kimiko Koyama</name>
    <role>Komoe Tsukuyomi</role>
    <type>Actor</type>
    <tmdbid>570487</tmdbid>
    <tvdbid>378131</tvdbid>
  </actor>
  <actor>
    <name>Rie Kugimiya</name>
    <role>Agnese Sanctis</role>
    <type>Actor</type>
    <tmdbid>83928</tmdbid>
    <tvdbid>322759</tvdbid>
  </actor>
  <actor>
    <name>Ayako Kawasumi</name>
    <role>Laura Stuart</role>
    <type>Actor</type>
    <tmdbid>151183</tmdbid>
    <tvdbid>280698</tvdbid>
  </actor>
  <actor>
    <name>Harumi Sakurai</name>
    <role>Awaki Musujime</role>
    <type>Actor</type>
    <tmdbid>1250764</tmdbid>
    <tvdbid>450857</tvdbid>
  </actor>
  <actor>
    <name>Ryoka Yuzuki</name>
    <role>Oriana Thomson</role>
    <type>Actor</type>
    <tmdbid>114906</tmdbid>
    <tvdbid>7872387</tvdbid>
  </actor>
  <actor>
    <name>Aya Endou</name>
    <role>Orsola Aquinas</role>
    <type>Actor</type>
    <tvdbid>7873538</tvdbid>
  </actor>
  <actor>
    <name>Anri Katsu</name>
    <role>Motoharu Tsuchimikado</role>
    <type>Actor</type>
    <tmdbid>1251007</tmdbid>
    <tvdbid>303208</tvdbid>
  </actor>
  <actor>
    <name>Kei Shindou</name>
    <role>Carrisa</role>
    <type>Actor</type>
    <tvdbid>294995</tvdbid>
  </actor>
  <actor>
    <name>Satoshi Hino</name>
    <role>Shiage Hamazura</role>
    <type>Actor</type>
    <tmdbid>224413</tmdbid>
    <tvdbid>7865993</tvdbid>
  </actor>
  <actor>
    <name>Ai Kayano</name>
    <role>Itsuwa</role>
    <type>Actor</type>
    <tmdbid>1254671</tmdbid>
    <tvdbid>292641</tvdbid>
  </actor>
  <actor>
    <name>Takehito Koyasu</name>
    <role>Knight Leader</role>
    <type>Actor</type>
    <tmdbid>84508</tmdbid>
    <tvdbid>277098</tvdbid>
  </actor>
  <actor>
    <name>Hiroki Touchi</name>
    <role>Kouhou no Acqua</role>
    <type>Actor</type>
    <tmdbid>89832</tmdbid>
    <tvdbid>463716</tvdbid>
  </actor>
  <actor>
    <name>Yuuki Takada</name>
    <role>Lessar</role>
    <type>Actor</type>
    <tmdbid>1678723</tmdbid>
    <tvdbid>459844</tvdbid>
  </actor>
  <actor>
    <name>Ami Koshimizu</name>
    <role>Shizuri Mugino</role>
    <type>Actor</type>
    <tmdbid>1220947</tmdbid>
    <tvdbid>307435</tvdbid>
  </actor>
  <actor>
    <name>Aya Suzaki</name>
    <role>Rikou Takitsubo</role>
    <type>Actor</type>
    <tmdbid>1258548</tmdbid>
    <tvdbid>302376</tvdbid>
  </actor>
  <actor>
    <name>Toshiyuki Morikawa</name>
    <role>Uhou no Fiamma</role>
    <type>Actor</type>
    <tmdbid>9706</tmdbid>
    <tvdbid>280728</tvdbid>
  </actor>
  <actor>
    <name>Azusa Enoki</name>
    <role>Angelene</role>
    <type>Actor</type>
    <tvdbid>7984063</tvdbid>
  </actor>
  <actor>
    <name>Yuuko Kaida</name>
    <role>Aiho Yomikawa</role>
    <type>Actor</type>
    <tvdbid>7888642</tvdbid>
  </actor>
  <actor>
    <name>Kousuke Toriumi</name>
    <role>Saiji Tatemiya</role>
    <type>Actor</type>
    <tvdbid>7875254</tvdbid>
  </actor>
  <actor>
    <name>Yuka Terasaki</name>
    <role>Sasha Croitsef</role>
    <type>Actor</type>
    <tmdbid>1247771</tmdbid>
    <tvdbid>289881</tvdbid>
  </actor>
  <actor>
    <name>Akeno Watanabe</name>
    <role>Sherry Cromwell</role>
    <type>Actor</type>
    <tmdbid>587350</tmdbid>
    <tvdbid>292473</tvdbid>
  </actor>
  <actor>
    <name>Ayumi Fujimura</name>
    <role>Seiri Fukiyose</role>
    <type>Actor</type>
    <tmdbid>89835</tmdbid>
    <tvdbid>380652</tvdbid>
  </actor>
  <trailer>http://www.youtube.com/watch?v=sI2ZsiKhLxk</trailer>
  <trailer>http://www.youtube.com/watch?v=q5yrkLRQslo</trailer>
  <rating>7.6</rating>
  <year>2008</year>
  <sorttitle>Certain Magical Index</sorttitle>
  <mpaa>TV-14</mpaa>
  <imdb_id>tt1308089</imdb_id>
  <tmdbid>30980</tmdbid>
  <premiered>2008-10-05</premiered>
  <releasedate>2008-10-05</releasedate>
  <enddate>2019-04-05</enddate>
  <runtime>25</runtime>
  <genre>Science Fiction</genre>
  <genre>Fantasy</genre>
  <genre>Drama</genre>
  <genre>Comedy</genre>
  <genre>Animation</genre>
  <genre>Action</genre>
  <genre>Anime</genre>
  <genre>Romance</genre>
  <studio>CTC (JA)</studio>
  <studio>AT-X</studio>
  <studio>AniMoon Publishing</studio>
  <studio>4260497794240</studio>
  <studio>4260497794264</studio>
  <studio>4260497794363</studio>
  <studio>4260497794226</studio>
  <studio>4260497794103</studio>
  <studio>4260497794080</studio>
  <studio>4260497794066</studio>
  <studio>4260497794202</studio>
  <studio>4260497794042</studio>
  <tag>BD</tag>
  <tag>In Besitz</tag>
  <uniqueid type="tvdb">83322</uniqueid>
  <tvdbid>83322</tvdbid>
  <uniqueid type="official website">https://toaru-project.com/index_1_2/</uniqueid>
  <uniqueid type="imdb">tt1308089</uniqueid>
  <uniqueid type="tmdb">30980</uniqueid>
  <episodeguide>{"tvdb":"83322","official website":"https://toaru-project.com/index_1_2/","imdb":"tt1308089","tmdb":"30980"}</episodeguide>
  <id>83322</id>
  <season>-1</season>
  <episode>-1</episode>
  <displayorder>aired</displayorder>
  <status>Ended</status>
</tvshow>

 

If I add a Studio, save the file and then select "Scan library files", the new Studio gets removed from the nfo instead of added to the series:

image.thumb.png.0c9dbedd7f2b23898b9f5d6468fedc53.png

DragonSkills99
Posted (edited)
4 minutes ago, Happy2Play said:

Actually think I remember another topic like this and you had to remove lock, edit, allow emby to see change, reapply lock.  Will have to look and possibly retest.

I'm trying to automate the process so I can add tags easier, the lock has to be in place. Removing it and adding it back is an excessive amout of additional work, I'm not willing to do.

Edited by DragonSkills99
Happy2Play
Posted

@Lukewill have to comment but Emby is not friendly when it comes to editing metadata outside of Emby itself.  As I am almost positive there are other topics on this.  As locked data in db will overwrite all manual nfo edits.

Posted

Editing a locked field in an nfo file should probably update the value in Emby as well. I think the fact that it's not is more or less a result of the same code being used for any kind of provider. 

By the same token, embedded metadata also falls into the same boat. But that one's a little trickier because sometimes users edit and lock in Emby because they either can't or don't want to deal with updating the embedded metadata within a media file.

@sa2000

  • Thanks 1
DragonSkills99
Posted
6 minutes ago, Luke said:

Editing a locked field in an nfo file should probably update the value in Emby as well. I think the fact that it's not is more or less a result of the same code being used for any kind of provider. 

By the same token, embedded metadata also falls into the same boat. But that one's a little trickier because sometimes users edit and lock in Emby because they either can't or don't want to deal with updating the embedded metadata within a media file.

@sa2000

Well the issue may not be solved, but I also don't need it anymore, as I'm using the API now instead of editing the nfo files manually.

 

The only thing still bugging me, is that some entries get resetted from time to time randomly and also the playstates, so I have series show up as "unplayed" that I already completely watched. And it's quite annoying to fix it... Is there maybe an backup of those anywhere?

Posted
On 12/9/2024 at 7:07 PM, DragonSkills99 said:

 

 

The only thing still bugging me, is that some entries get resetted from time to time randomly and also the playstates, so I have series show up as "unplayed" that I already completely watched. And it's quite annoying to fix it... Is there maybe an backup of those anywhere?

Hi, if you use the server backup process, then you will have a copy of your user data in there:

Configuration Backup

DragonSkills99
Posted
2 minutes ago, Luke said:

Hi, if you use the server backup process, then you will have a copy of your user data in there:

Configuration Backup

I've never set anything up, so that won't help me, but thanks for the tip...

Screenshot_20241212_194840_Emby.jpg

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...