|
Phoenix This forum is for discussing the user-created Phoenix custom interface for SageTV. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
problem with thetvdb.com meta data
Tried to pull the meta data for a couple TV series show:
Tom & Jerry Mickey Mouse's Clubhouse "thetvdb" has all the fanart (I went to the site and check), but for some reason BMT/Phoenix is not downloading. I even went to BMT web UI and navigated to the series manually and asked it to find meta data - it found the entries but did not bring down the fanart. How do I fix? |
#2
|
||||
|
||||
Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#3
|
||||
|
||||
Also a couple "simple" questions.
When you were on the BMT web UI for the show(s), when you click on the FanArt tab, do you see anything? Also, in your BMT configuration, is FanArt enabled? And does it have the proper Central FanArt location? Its the simple things that bite you. |
#4
|
|||
|
|||
Correct - I always check the central fanart directory. The directory was empty for those shows...
Also, it seems to take a while for the fanart that is there to show up in the UI. Is there a way of forcing SageTV to update immediately to the latest downloaded fanart? |
#5
|
|||
|
|||
Quote:
|
#6
|
||||
|
||||
Quote:
This is a very common scenario and shows the weakness in the TVDB search engine. ie, searching for "Mickey Mouse's Clubhouse" returns no results, which also means that BMT will get no results as well. Searching for "Mickey Mouse Clubhouse" on the other hand returns an exact match. If you search for your title in tvdb as is, you'll see why BMT is failing. Now, try "Tom & Jerry". Same issue, it doesn't exist (at least not for english). Now try "Tom and Jerry" and you'll see that you get an exact match. There is nothing BMT can do if the search criteria returns no results. Some people have suggested that I hammer the TVDB with all sorts of extra searches, replacing & 'and' or replacing 'and' with '&' until I get a match (and then add keep building the list of special cases), but I don't intend to abuse a free site like with unneccessary hits when the simplest solution has always been to ensure that your shows are named correctly to ensure a better hit. And if you can't rename the shows physically, then you can use the MediaTitles.xml to add a matcher that will make the search title correct for the lookup. I hope this explains your issue... and the fix.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#7
|
|||
|
|||
Thanks for looking into it so quickly.
Unfortunately when it comes to the naming of TV shows there is little control we have - as SageTV determines it from the guide meta data. So it is important fir BMT to look at variants with apostrophes and ampersands ... File system names don't like special characters - hence 'bugs life' without an apostrophe. You mentioned there is some sort of 'matcher' that can be used - how does that work ? And can it be set up globally? It seems that if I manually correct BMT on an episode of a TV series it would be good for it to remember and apply the correction to all future series recordings - make sense? What do you recommend we do? |
#8
|
||||
|
||||
The "matcher" would be MediaTitles.xml which you put in your SageTV\SageTV\userdata\Phoenix\scrapers directory
I have my shows in different directories so I have my regex matching on the directory name and not the file name. I.E. .../Hawaii Five-0 (2010)/.... would use tvdb ShowID 164541 and .../Hawaii Five-0 (1968)/... would use tvdb ShowID 71223 When you update the MediaTitles.xml file, you need to either restart Sage or in BMT => Configure => Refresh Configurations => Refresh MediaTitles.xml A sample would be: Code:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE titles> <titles> <match> <regex>[\\/]Hawaii Five-0 (2010)[\\/]</regex> <metadata type="TV" name="tvdb">164541</metadata> </match> <match> <regex>[\\/]Hawaii Five-0 (1968)[\\/]</regex> <metadata type="TV" name="tvdb">71223</metadata> </match> <match> <regex>[\\/]Stargate SG1[\\/]</regex> <metadata type="TV" name="tvdb">72449</metadata> </match> <match> <regex>[\\/]Stargate Universe[\\/]</regex> <metadata type="TV" name="tvdb">83237</metadata> </match> </titles> |
#9
|
|||
|
|||
Thanks for the example.
How do you get your TV shows to record to separate directories automatically in SageTV? |
#10
|
||||
|
||||
For where they get recorded to? I don't.
But I do use SJQ to move them from local machine to my NAS. Also, the MediaTitles works for my rips which is my main purpose. The below is my test script for moving the files which I have based on RecordingStop. Test Arg is the Base location. It'll create the folder, then move it to that folder. It puts Movies into a Movie Folder, otherwise the Folder is the Show Name. If it is something that has Seasons, it'll put it in Season folders under the Show folder. Code:
/* Pretest if MediaFile is currently being Watched */ //def SJQ4_METADATA = ["SJQ4_ID":"2849349","SJQ4_PATH":"c:\\SageRecordings","SJQ4_LAST_SEGMENT":"AmericasNewsHeadquarters-0.mpg"]; //def SJQ4_ARGS = ["\\\\Tower\\SageTV\\br"]; import com.google.code.sagetvaddons.groovy.api.MediaFileHelpers ; import org.apache.commons.io.FileUtils ; String ParentPath = SJQ4_ARGS[0] String id = SJQ4_METADATA.get("SJQ4_ID"); Object mf = MediaFileAPI.GetMediaFileForID(id.toInteger()); String FileName = SJQ4_METADATA.get("SJQ4_LAST_SEGMENT"); String FilePath = SJQ4_METADATA.get("SJQ4_PATH"); String ShowTitle=ShowAPI.GetShowTitle(mf); String ShowSeasonDir ; String OutputPath ; int ShowSeasonNum=ShowAPI.GetShowSeasonNumber(mf); println ( "Test Started"); if ( AiringAPI.IsNotManualOrFavorite(mf) ) { println("${FileName} is not a Favorite or Manual Recording - skipped") return 2 } if( MediaFileHelpers.isBeingViewed(FileName) ) { println("${FileName} is being viewed; Return task to queue!") return 1 } if ( (FilePath.toUpperCase()) =~ "\\\\TOWER" ) { println("bypass since ${FilePath} is on TOWER") return 2 } if ( ShowSeasonNum == 0 ) { ShowSeasonDir = "" ; } else { ShowSeasonDir = "\\Season " + ShowSeasonNum ; } if ( ShowAPI.GetShowCategory(mf).equals ("Movie") ) { println("This is a Movie "); OutputPath = ParentPath + "\\Movies" ; } else { println("This is a TV show") ; OutputPath = ParentPath + "\\" + ShowTitle + ShowSeasonDir ; } OutputPath = (OutputPath =~ /[?!*^&#$%@:;]/).replaceAll(" ") ; println ("Modified OutputPath = ${OutputPath} "); OutputFile = OutputPath + FileName; File dest = new File(OutputPath); FileUtils.forceMkdir(dest); Tools.setExeArgs("\"${OutputPath}\"") println ("Would Start EXE with argument ${OutputPath}"); println ( "Test Ended"); return 0 |
#11
|
|||
|
|||
My SageTV server is co-located with my Win2003R2 based NAS and
I use ShowAnalyzer (with profiles) for commercials so no normal need for SJQ. Not sure there would be much advantage anyway since you still need a separate regex for each folder - right? (that is the manual part of the process) The issue I experienced with BMT was for TV shows and Movies ripped not matching because of apostrophes and ampersands. This is so common there has to be a better solution that manual intervention continuously. It seems that BMT really needs to do this for us - as it needs to look up the matches and evaluated the certain of the match before choosing. If BMT won't do that then the MediaTitle XML should be extended to allow for some level of conditional logic so that we can script decision logic for each regex - which would be nice because it would allow custom decision logic by show. |
#12
|
|||
|
|||
The match tag should at least be augmented to support 2-levels with regex expressions that allow string substitution (as normal)
<match> regex1 <match> regex2 <metadata> </> </> </> The idea is the regex1 can substitute for a series title followed by the second regex search: Daffy Duck Adventures 1960 (input) Becomes: Daffy Ducks Adventure's (following 1st regex) Which becomes: Daffy Ducks Adventures with ID 74474 (following 2nd regex) The general form is: </ match. (substitute at series level) </ match /> (match and apply meta data season 1) </ match /> (match and apply meta data season 2) </> |
#13
|
||||
|
||||
Quote:
btl.
__________________
PHOENIX 3 is here! Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient |
#14
|
||||
|
||||
Quote:
1. MediaTitle.xml is meant to be a simple way to match titles to a given metadata provider id.... and as it is, it's more complicated than most would prefer, so I'm a little reluctant to start augmenting it. 2. If you need that much flexibility over your titles, you can probably do it using the filename scrapers. The scrapers are based on the Xmbc scraper engine are regex based. 3. You can add a matcher for a tv show right from bmt web ui (Add Matcher) 4. I have 1 entry in my MediaTitles.xml... other people have more, but really, I don't think people spend that much time adding entries here.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Limit size of Meta Data? | Biggen | Batch Metadata Tools | 3 | 03-24-2011 09:55 AM |
How to get Meta Data with WHS? | richs | SageTV v7 Customizations | 1 | 11-28-2010 06:08 AM |
How to refresh meta data? | bits | SageMC Custom Interface | 3 | 12-26-2009 11:11 PM |
Meta Data and Searching | kranzel | SageTV Customizations | 2 | 10-28-2008 06:20 AM |
How to add meta-data for home movies? | Shield | SageTV Software | 1 | 10-01-2007 11:56 AM |