Jump to content

Has the metadata format changed?


Nologic

Recommended Posts

Nologic

I'm running into an issue scanning my library.

 

 

Scan media library failed.

a minute ago

The 'br' start tag on line 8 position 6 does not match the end that of 'Overview'. Line 9, position 118.

 

I typically scrap my data with Media Center Master...with the following formats checked.
 

X Generate MediaBrowser metadata (movie.xml and series.xml, required for now)

X Generate Kodi/XBMC-compatible metadata (.nfo)

 

I'm attaching file examples.

 

hmm odd that i can't upload NFO files.

server-63580784722.txt

03X05 - The Usurper.xml

03X05 - The Usurper.zip

Link to comment
Share on other sites

Nologic

Thanks Abobader. :)

 

Doh! still didn't allow uploading "tvshow.nfo"

 

 

@ Luke -

 

Okay but any clue what one it is?

 

This seems like it's the proper section:

2015-10-18 17:06:33.9834 Info - App: HttpClientManager GET: http://www.thetvdb.com/api/GetSeries.php?seriesname=The+Musketeers+(2014)&language=en
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory D:\TV Shows
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory C:\Users\media\AppData\Roaming\Emby-Server\root
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory E:\Movies
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory F:\TV Shows
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory G:\TV Shows
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory H:\Movies
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory H:\Movies 1080p
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory H:\Movies Other
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory C:\Users\media\AppData\Roaming\Emby-Server\data\collections
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory C:\Users\media\AppData\Roaming\Emby-Server\data\camerauploads
2015-10-18 17:06:34.0324 Info - LibraryMonitor: Watching directory C:\Users\media\AppData\Roaming\Emby-Server\data\playlists
2015-10-18 17:06:34.0324 Error - App: Error
	*** Error Report ***
	Version: 3.0.5768.1
	Command line: C:\Users\media\AppData\Roaming\Emby-Server\System\MediaBrowser.ServerApplication.exe
	Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1
	Processor count: 8
	64-Bit OS: True
	64-Bit Process: False
	Program data path: C:\Users\media\AppData\Roaming\Emby-Server
	Application Path: C:\Users\media\AppData\Roaming\Emby-Server\System\MediaBrowser.ServerApplication.exe
	The 'br' start tag on line 8 position 6 does not match the end tag of 'Overview'. Line 9, position 118.
	System.Xml.XmlException

Well guess I'll go hunting...I'll assume its in "The Musketeers (2014)" some where.

series.xml

Link to comment
Share on other sites

Nologic

I generally drag and drop into IE or Firefox to check XML's...I've looked through all my Musketeers xml's and so far everything seems fine...so my guess that it was there that things got screwed up...was wrong.

 

Any idea how to pin point the troubled file...or is this one of those times to burn with fire and start anew? :)

Link to comment
Share on other sites

well careful with that because the browsers may attempt to recover from the bad xml. the parser we use is very strict. i will adjust the logging to make sure it prints the path to the file.

Link to comment
Share on other sites

Nologic

Thanks Luke, I gave that web page a try and, it didn't show me anything different than the browsers in this case.

 

However I'll keep what you said about browser in mind for the future.

Link to comment
Share on other sites

Nologic

Anyone have an idea where I could find the DTD that is used to validate Emby's XML's?

 

I'm trying to make use of XMLlint to hunt down my malformed XML that is causing things to go sideways.

 

Thanks ahead of time. :)

 

*update*

 

While I'd still like to get my hands a hold of Emby's DTD...looks like I might be able to get away with:

xmllint --dropdtd --noout "<PathToXML>\<NameOfXML>.xml" 2>Result.txt

If it's empty, it loosely validates...if it's not...something is wrong with the XML.

 

So now to write a AutoIt script to blast through things.

 

*update 2*

 

Blah...that didn't help me one bit...my script got tripped up on only a few files...and that was only because of Unicode char's in the name:

 

W:\TV Shows\Person of Interest (2011)\Season 02\metadata\02X11 - 2pR.xml
warning: failed to load external entity "file:///W:/TV%20Shows/Person%20of%20Interest%20(2011)/Season%2002/metadata/02X11%20-%202pR.xml"

W:\TV Shows\Hawaii Five-0 (2010)\Season 05\metadata\05X08 - Ka Hana Malu.xml
warning: failed to load external entity "file:///W:/TV%20Shows/Hawaii%20Five-0%20(2010)/Season%2005/metadata/05X08%20-%20Ka%20Hana%20Malu.xml"

W:\TV Shows\Hawaii Five-0 (2010)\Season 05\metadata\05X16 - Nanahu.xml
warning: failed to load external entity "file:///W:/TV%20Shows/Hawaii%20Five-0%20(2010)/Season%2005/metadata/05X16%20-%20Nanahu.xml"

W:\TV Shows\Hawaii Five-0 (2010)\Season 05\metadata\05X20 - 'Ike Hanau.xml
warning: failed to load external entity "file:///W:/TV%20Shows/Hawaii%20Five-0%20(2010)/Season%2005/metadata/05X20%20-%20'Ike%20Hanau.xml"

 

So lacking a DTD, or the logs pointing out what file is screwy...I'm back to trying oddball hacks to figure out something.

 

Here is the code I came up with thus far...which is thus far useless:

$sPathFolder = 'W:\TV Shows\'

$sErrorLog = ''

$aAllFiles = _FileListToArrayRec( $sPathFolder , '*.xml' , 1 , 1 , 0 , 2 )
For $ii = 1 To $aAllFiles[0]
	RunWait( @ComSpec & ' /c xmllint --dropdtd --noout "' & $aAllFiles[$ii] & '" 2>Result.txt' , @ScriptDir & '\Bin\' , @SW_HIDE )
	$sBuffer = FileRead( @ScriptDir & '\Bin\Result.txt' )
	FileDelete( @ScriptDir & '\Bin\Result.txt' )
	If StringLen( $sBuffer ) > 0 Then
		$sErrorLog &= $aAllFiles[$ii] & @CRLF
		$sErrorLog &= $sBuffer & @CRLF
	EndIf
Next
If StringLen( $sErrorLog ) > 0 Then
	$sErrorFile = @ScriptDir & '\[Error Log] ' & @YEAR & '-' & @[member="Mon"] & '-' & @MDAY & ' ' & @HOUR & '.' & @MIN & '.' & @SEC & '.txt'
	FileWrite( $sErrorFile , $sErrorLog )
	ShellExecute( $sErrorFile )
Else
	MsgBox( 0 , 'Finished:' , 'No problems found.' & @LF & 'Bye Bye' )
EndIf

Requires files extracted in a bin folder:

iconv-1.9.2.win32.zip
libxml2-2.7.8.win32.zip
zlib-1.2.5.win32.zip

 

That can be grabbed from:

ftp://ftp.zlatkovic.com/libxml/

 

Edited by Nologic
Link to comment
Share on other sites

Nologic

Oh hell...the error is coming from the URL

http://www.thetvdb.com/api/GetSeries.php?seriesname=The+Musketeers+(2014)&language=en

<?xml version="1.0" encoding="UTF-8" ?>
<Data>
<Series>
<seriesid>284008</seriesid>
<language>en</language>
<SeriesName>The Three Musketeers (2014)</SeriesName>
<Overview>An adaptation of French novel "The Three Musketeers" - serialized by Alexandre Dumas in March–July 1844 - this drama chronicles the deeds of three Joseon-era heroes: Heo Seung Po, Ahn Min Seo, and Park Dal Hyang.  Now royal warrior guards for Crown Prince So Hyun, can the trio protect the Crown Prince from those who wish to kill him?
<br><br>
Originally scheduled for three seasons, this series was canceled after only one season due to creative differences.</Overview>
<FirstAired>2014-08-17</FirstAired>
<Network>tvN</Network>
<IMDB_ID>tt4135176</IMDB_ID>
<id>284008</id>
</Series>
</Data>
Link to comment
Share on other sites

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...