|
Batch Metadata Tools This forums is for discussing the user-created Batch Metadata Tools for SageTV. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
Original Air Date scraping
I've seen a few mentions of this capability in the forums, but am not clear about how to make this happen. For shows like Conan or The Daily Show, is there a way to scrape against the filename that only includes the show name and original air date? What format would that need to be in?
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno |
#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
|
|||
|
|||
Are Dashes (-) interchangeable with dots (.)?
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno |
#4
|
||||
|
||||
Right now the dashes are required, but you can change that by opening up
Code:
SageTV\STVs\Phoenix\scrapers\xbmx\tvfilenames\Title-AiredDate.xml Code:
<?xml version="1.0" encoding="UTF-8"?> <!-- TV Filename Scraper. Used to Scrape Show Name and Aired Date from a filename $$1 is always the complete file uri --> <scraper name="title-airedDate" content="filename" thumb="thumb.png"> <!-- input: $1=complete file uri --> <!-- returns: series name --> <GetShowName dest="3"> <RegExp input="$$1" output="\1" dest="3"> <expression>.*[/\\](.*) ([0-9]{4}[-.][0-9]{1,2}[-.][0-9]{1,2})</expression> </RegExp> </GetShowName> <!-- input: $1=complete file uri --> <!-- returns: AiredDate YYYY-MM-DD --> <GetAiredDate dest="3"> <RegExp input="$$1" output="\2" dest="3"> <expression>.*[/\\](.*) ([0-9]{4}[-.][0-9]{1,2}[-.][0-9]{1,2})</expression> </RegExp> </GetAiredDate> </scraper>
__________________
Clients: 1xHD200 Connected to 50" TH-50PZ750U Plasma Server : Shuttle SFF SSH55J2 w/ Win7 Home, SageTV v7, Core i3 540, 2GB RAM, 30GB SSD for OS, 1.5TB+2x1TB WDGP for Recordings, BluRay, 2xHDHR, 1xFirewire SageTV : PlayOn, SJQ, MediaShrink, Comskip, Jetty, Web Client, BMT Having a problem? Don't forget to include a log! (Instructions for: PlayOn For SageTV v1.5, MediaShrink) |
#5
|
|||
|
|||
Here is my folder structure
Code:
\The Tonight Show With Conan O'Brien\Conan.O.Brien.2010.01.21.Robin.Williams\conan.o.brien.2010.01.21.robin.williams.mkv Code:
<match> <regex>[\\/]Conan.O.Brien[\\/]</regex> <metadata type="tv" name="tvdb">85285</metadata> </match>
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno |
#6
|
|||
|
|||
And even though this is for a different file, it's the same issue with the same naming convention. Here is the bmt.log for one of the missed scrapes.
Code:
2010-11-15 22:20:47,236 [10817185@qtp-14636877-2] WARN org.jdna.bmt.web.server.BrowsingServicesImpl - WebUI Search failed for: SearchQuery; Type: TV; YEAR:0;SEASON:0;QUERY:The Tonight Show With Conan O'Brien/Conan.O.Brien.2010.01.19.Quentin.Tarantino.720p.HDTV.x264-BAJSKORV/conan.o.brien.2010.01.19.quentin.tarantino.720p.hdtv.x264-bajskorv;EPISODE:0;EPISODE_TITLE:conan.o.brien.2010.01.19.quentin.tarantino.720p.hdtv.x264-bajskorv; MetadataException [query=SearchQuery; Type: TV; YEAR:0;SEASON:0;QUERY:The Tonight Show With Conan O'Brien/Conan.O.Brien.2010.01.19.Quentin.Tarantino.720p.HDTV.x264-BAJSKORV/conan.o.brien.2010.01.19.quentin.tarantino.720p.hdtv.x264-bajskorv;EPISODE:0;EPISODE_TITLE:conan.o.brien.2010.01.19.quentin.tarantino.720p.hdtv.x264-bajskorv;, ] at sagex.phoenix.metadata.MetadataManager.search(MetadataManager.java:384) at org.jdna.bmt.web.server.BrowsingServicesImpl.searchForMetadata(BrowsingServicesImpl.java:404) at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.rewrite.RewriteHandler.handle(RewriteHandler.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno |
#7
|
|||
|
|||
It would be much easier just to use the preferred naming convention. Use a directory/file renaming tool to convert your files to proper format w/o periods. You can do hundreds of files in seconds and end the hassles.
|
#8
|
||||
|
||||
Quote:
Here's your parsed query... SearchQuery; Type: TV; YEAR:0;SEASON:0;QUERY:The Tonight Show With Conan O'Brien/Conan.O.Brien.2010.01.19.Quentin.Tarantino.720p.HDTV.x264-BAJSKORV/conan.o.brien.2010.01.19.quentin.tarantino.720p.hdtv.x264-bajskorv;EPISODE:0;EPISODE_TITLE:conan.o.brien.2010.01.19.quentin.tarantino.720p.hdtv.x264-bajskorv;, I can see 3 issues here... 1. The QUERY that gets sent to TVDB will be The Tonight Show With Conan O'Brien/Conan.O.Brien.2010.01.19.Quentin.Tarantino.720p.HDTV.x264-BAJSKORV/conan.o.brien.2010.01.19.quentin.tarantino.720p.hdtv.x264-bajskorv (this will fail) 2. There EPISODE TITLE is conan.o.brien.2010.01.19.quentin.tarantino.720p.hdtv.x264-bajskorv (This is what will be used to match the episode name, if the title date does not exist, so this will fail, even if the QUERY worked) 3. There isn't a parsed date, so it will not not do a lookup based on date. I don't have a scraper that will match a filename like this, conan.o.brien.2010.01.19.quentin.tarantino.720p.hdtv.x264-bajskorv;, out of the box. My Recommended TV format for a show like this would be Conan O Brian 2010.01.19 Or you can try to tweak a scraper to do the matching based on the file names that you provide.
__________________
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 |
#9
|
|||
|
|||
Is there any way to make BMT ignore all the junk after the original air date. I'm trying to automate the finding of metadata for these shows, but it just can't seem to find the info because of the extra junk at the end.
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno |
#10
|
||||
|
||||
Quote:
If you post some of your filenames, then I can try to help.
__________________
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 |
#11
|
|||
|
|||
Quote:
Can somebody copy and paste the content of Title-AiredDate.xml as it exists as default? I figured a way to have all my stuff be in - instead of . and want to try the default again. Thanks
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno |
#12
|
||||
|
||||
Here's a link to all the tv scrapers.
__________________
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 |
#13
|
|||
|
|||
I'm still having issues with this, so I could use a little help please.
I have the TV Airings scraper back to the default .xml. I have an import folder called Code:
\\WHS\Dumpster\done\Talk Shows Code:
Chelsea Lately 2010-11-16.avi BMT doesn't seem to be using the Air Date scraper. Here is the phoenix-metadata.log that gets generated for this show when I hit the "Update Metadata" button within BMT Code:
2010-11-28 20:08:13,318 - ERROR; \\WHs\dumpster\done\Talk Shows\Chelsea Lately 2010-11-16.avi; Chelsea Lately 2010-11-16; 3546467; No metadata for: SageMediaFile [sageId=3546467, sageObject=MediaFile[id=3546467 A[3546470,3546468,"Chelsea Lately 2010-11-16",0@1127.04:26,22] mask=V host=task encodedBy= format=AVI 0:22:09 1099 kbps [#0 Video[MPEG4-Video 29.97 fps 624x352 39:22 progressive]#1 Audio[MP3 44100 Hz 2 channels 128 kbps idx=1]] \\WHs\dumpster\done\Talk Shows\Chelsea Lately 2010-11-16.avi, Seg0[Sat 11/27 4:26:25.838-Sat 11/27 4:48:35.328]]] Code:
2010-11-28 20:54:33,284 [8818915@qtp-28038832-6] WARN org.jdna.bmt.web.server.BrowsingServicesImpl - WebUI Search failed for: SearchQuery; Type: TV; QUERY:Chelsea Lately 2010-11-16;EPISODE:null;EPISODE_TITLE:null;SEASON:null;YEAR:0; MetadataException [query=SearchQuery; Type: TV; QUERY:Chelsea Lately 2010-11-16;EPISODE:null;EPISODE_TITLE:null;SEASON:null;YEAR:0;, ] at sagex.phoenix.metadata.MetadataManager.search(MetadataManager.java:384) at org.jdna.bmt.web.server.BrowsingServicesImpl.searchForMetadata(BrowsingServicesImpl.java:404) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.rewrite.RewriteHandler.handle(RewriteHandler.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno Last edited by ohpleaseno; 11-28-2010 at 08:07 PM. |
#14
|
||||
|
||||
It doesn't look like the scraper is being used, since I can see that it is saying the query is the title + date. I need to examine this at home, but it may just be that the format file isn't matching what the scraper expects.
I'll try to do some testing tonight with this filename and the scrapers to see what I can come up with.
__________________
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 |
#15
|
||||
|
||||
Quote:
Note, when you update the phoenix-api you will need to restart sagetv (it will probably ask).
__________________
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 |
#16
|
|||
|
|||
Quote:
The WebUI shows 2.3.5, but if I drill down to showing the episode that is Chelsea Lately 2010-11-16 an click on "Update Metadata", nothing is found. Do I need to do a Library Refresh ? I've updated the episode so that the Show Title and the Original Air Date show the appropriate information. Clicking "Find Metadata" in the individual episode page gives me nothing as well. Here is bmt.log Code:
2010-11-29 21:50:39,472 [15092351@qtp-16156579-8] WARN org.jdna.bmt.web.server.BrowsingServicesImpl - WebUI Search failed for: SearchQuery; Type: TV; EPISODE:0;YEAR:0;EPISODE_TITLE:Chelsea Lately 2010-11-26;SEASON:0;QUERY:Chelsea Lately 2010-11-26; MetadataException [query=SearchQuery; Type: TV; EPISODE:0;YEAR:0;EPISODE_TITLE:Chelsea Lately 2010-11-26;SEASON:0;QUERY:Chelsea Lately 2010-11-26;, ] at sagex.phoenix.metadata.MetadataManager.search(MetadataManager.java:384) at org.jdna.bmt.web.server.BrowsingServicesImpl.searchForMetadata(BrowsingServicesImpl.java:404) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.rewrite.RewriteHandler.handle(RewriteHandler.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) Code:
2010-11-29 21:50:10,945 - ERROR; \\WHs\dumpster\done\Talk Shows\Chelsea Lately 2010-11-26.mkv; Chelsea Lately 2010-11-26; 3546471; No metadata for: SageMediaFile [sageId=3546471, sageObject=MediaFile[id=3546471 A[3546474,3546472,"Chelsea Lately 2010-11-26",0@1127.13:49,22] mask=V host=task encodedBy= format=MATROSKA 0:22:09 384 kbps [#0 Audio[AC3 48000 Hz 2 channels 384 kbps idx=0]#1 Video[H.264 29.97 fps 1280x720 16:9 progressive]] \\WHs\dumpster\done\Talk Shows\Chelsea Lately 2010-11-26.mkv, Seg0[Sat 11/27 13:49:23.986-Sat 11/27 14:11:33.326]]]
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno |
#17
|
||||
|
||||
That's too bad The issue fixed made it work when the automatic plugin was enabled, ie, when new files are added to sagetv, which was how I tested it was well. I didn't test using the web ui, but I try to test that tomorrow.
__________________
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 |
#18
|
|||
|
|||
The automatic plugin worked perfectly. I moved the other files so they should show up correctly as well.
Let me know if I can send any more logs to help you fix the Web UI. thanks for you help!
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno |
#19
|
||||
|
||||
That's good to know. The web ui is supposed to use the same code as the automatic plugin, but I'm guessing somewhere it is not I should be able to duplicate this in my environment.
__________________
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 |
#20
|
||||
|
||||
@ohpleaseno - I tested this tonight from my browser, both using Find Metadata on the item and Update Metadata on the folder. Both worked. You may have a cache issue. YOu can try to delete the files in the cache/url/ directory in the sage home and then try again from the web ui to see if that works.
__________________
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 |
Record based on original air date? | lazysean | SageTV Software | 2 | 11-12-2010 05:50 PM |
How to Display Recordings by Recording Date & Original Air Date | joe123 | SageTV Customizations | 25 | 02-16-2010 05:28 AM |
original air date | gilded07 | SageTV Software | 4 | 10-20-2007 11:45 PM |
Sort series by original air date? | eobiont | SageTV Customizations | 2 | 07-07-2007 05:45 AM |
Show Original Air Date in Program Guide? | joe123 | SageTV Beta Test Software | 7 | 04-08-2006 11:39 PM |