https://redmine.graphics-muse.org/https://redmine.graphics-muse.org/favicon.ico?16278048512016-06-13T04:25:40ZGraphics Muse Issue TrackerVideoLib - Action Item #470: Refactor to better support Movies vs TV episodeshttps://redmine.graphics-muse.org/issues/470?journal_id=18772016-06-13T04:25:40ZHammelmjhammel@graphics-muse.org
<ul></ul><p>This work should include requiring a directory and file naming structure that matches the Plex requirements (title/season/title - s01e01 - episode name.mkv for tv episodies). And use the <a href="http://thetvdb.com" class="external">TheTVDB.com</a>.</p> VideoLib - Action Item #470: Refactor to better support Movies vs TV episodeshttps://redmine.graphics-muse.org/issues/470?journal_id=18992016-07-13T02:35:27ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>Priority</strong> changed from <i>High</i> to <i>Immediate</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>10</i></li><li><strong>Severity</strong> changed from <i>02 - High</i> to <i>01 - Critical</i></li></ul><p>Refactoring should use TheTVDB.com for TV episode lookups instead of TheMovieDB.org. This is what Plex uses and I will enforce a file structure of the same format as Plex, so it should work must better than the old way.</p>
This requires:
<ol>
<li>Add a configuration dialog for setting
<ol>
<li>TheMovieDB.org API key</li>
<li>TheTVDB.com API key</li>
<li>File extensions to scan</li>
<li>Poster sizes</li>
</ol>
</li>
<li>New class: TVDB.java</li>
<li>Migrate TV specifics to TVDB.java from MovieDB.java</li>
<li>Refactor directory scans to require Plex directory layout depending on which type is selected (Movie or TV).</li>
</ol>
<p>The Database UI box sets which base URL to use and which class (MovieDB or TVDB) to use for scans.</p> VideoLib - Action Item #470: Refactor to better support Movies vs TV episodeshttps://redmine.graphics-muse.org/issues/470?journal_id=19382016-08-16T03:03:58ZHammelmjhammel@graphics-muse.org
<ul></ul><p>MovieDB is refactored. Now I need to write TVDB.java. Here are some notes:</p>
<ol>
<li>To get a TOKEN, required to make additional queries:<br /><pre>
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"apikey":"xxx"}' 'https://api.thetvdb.com/login'
</pre></li>
<li>This returns a token that is then used in subsequent queries:<br /><pre>
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer <token>' 'https://api.thetvdb.com/search/series?name=The%20West%20Wing'
</pre></li>
</ol>
<p>This <a href="https://github.com/Omertron/api-thetvdb/blob/master/src/main/java/com/omertron/thetvdbapi/TheTVDBApi.java" class="external">java API</a> shows how series episodes can be queries given you have the token.</p>
<p>It is also possible to <a href="https://api.thetvdb.com/swagger" class="external">reset the token</a> within 24 hours. So the time stamp for the token should be saved in configuration data and a new token requested only if the old one has expired.</p> VideoLib - Action Item #470: Refactor to better support Movies vs TV episodeshttps://redmine.graphics-muse.org/issues/470?journal_id=19402016-08-20T23:48:02ZHammelmjhammel@graphics-muse.org
<ul><li><strong>% Done</strong> changed from <i>10</i> to <i>60</i></li></ul><p>Support for both Movies (TheMovieDB.org) and TV Episodes (TVDB.com) is now implemented. I can scan a directory of episodes that use the following naming scheme:</p>
<pre>
Series-Name - s<xx>e<yy> - Episode-Name
</pre>
<p>As long as the series name and season (xx) and episode (yy) numbers are provided then it works perfectly. I can also show both series and episode images.</p>
There is still a bit of work to do for TV episodes.
<ol>
<li><del>Load/Save of json data</del></li>
<li><del>Separate TV from Movie json data when saving. VideoFE will eventually offer browsing of either at the start.</del></li>
<li><del>Add support for alternatives for TV episodes</del></li>
<li><del>Add TVDB.com logo at the bottom of videolib, like TheMovieDB.org. Not sure if it's required but give credit where due.</del></li>
<li><del>If the episode name is provided in the JSON, use it as the TMDB name.</del></li>
<li><del>Change "TMDB Name" lable to "Video Title"</del></li>
<li><del>Use the episode overview if available, otherwise use the series overview.</del></li>
</ol>
<p>I also noticed that VideoLib doesn't display it's program name in the window manager title bar. I should fix that too.</p> VideoLib - Action Item #470: Refactor to better support Movies vs TV episodeshttps://redmine.graphics-muse.org/issues/470?journal_id=19412016-08-24T03:43:25ZHammelmjhammel@graphics-muse.org
<ul><li><strong>% Done</strong> changed from <i>60</i> to <i>90</i></li></ul><p>Everything's working now. All fixes are applied, tested, committed and pushed.</p>
<p>The changes are in the mjhammel/tvdbcom branch for now. I'll merge with master when videofe is updated to support the new db formats.</p>
<p>Issue will be closed when the merge with master occurs.</p> VideoLib - Action Item #470: Refactor to better support Movies vs TV episodeshttps://redmine.graphics-muse.org/issues/470?journal_id=19462016-08-28T23:07:13ZHammelmjhammel@graphics-muse.org
<ul></ul>Videofe has been ported. It exposed some issues with the VideoLib port.
<ol>
<li>I needed more data stored as videolib_ names in the main JSON entry to make it easier for the front end to find what it needs quickly.</li>
<li>VideoLib had problems with rescan all where it didn't actually get new instances of the video classes.</li>
<li>VideoLib generated new file IDs but didn't clean out old entries, leaving cruft behind. The cruft had to be deleted before saves were performed.</li>
</ol>
<p>These are all fixed and both videolib and videofe appear to be working fine now.</p>
<p>Now videofe needs to be tested on hardware. Once that's shown to be working with the new db I can close both issues.</p> VideoLib - Action Item #470: Refactor to better support Movies vs TV episodeshttps://redmine.graphics-muse.org/issues/470?journal_id=19692016-09-04T02:54:50ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>90</i> to <i>100</i></li></ul><p>Videofe tested on hardware. Fixed a few minor bugs and added support for overviews and series posters that were missing.</p>
<p>Everything is working fine now. In fact, much better than before refactoring.</p>
<p>Committed and pushed.</p>
<p>Merged with master.</p>
<p>Closing issue.</p>