diff --git a/.gitignore b/.gitignore index 0d20b64..f3d74a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.pyc +*~ diff --git a/Contents/Code/__init__.py b/Contents/Code/__init__.py index 1fbfd65..8c902c3 100644 --- a/Contents/Code/__init__.py +++ b/Contents/Code/__init__.py @@ -65,6 +65,21 @@ class TvplexendAgent(Agent.Movies): 'com.plexapp.agents.themoviedb' ] + def build_title(self, recording, includeDatetimeInTitle): + title = recording['disp_title'] + + if recording['disp_subtitle']: + if len(recording['disp_subtitle']) > 0: + title = '%s - %s' % (title, recording['disp_subtitle']) + + if includeDatetimeInTitle: + startDateTime = Datetime.FromTimestamp(recording['start']) + day = startDateTime.strftime('%d.%m.%Y') + start = startDateTime.strftime('%H:%M') + title = '%s (%s %s)' % (title, day, start) + + return title + def search(self, results, media, lang): recordings = Recordings() filename = media.items[0].parts[0].file @@ -74,11 +89,12 @@ def search(self, results, media, lang): return recording = recordings[filename] + Log.Info('Recording found for ' + filename) results.Append( MetadataSearchResult( id=recording['uuid'], - name=recording['disp_title'], + name=self.build_title(recording, Prefs['includeDatetimeInTitle']), lang=lang, score=100 ) @@ -94,10 +110,11 @@ def update(self, metadata, media, lang): start = startDateTime.strftime('%H:%M') stop = stopDateTime.strftime('%H:%M') - title = recording['disp_title'] - - if Prefs['includeDatetimeInTitle']: - title = '%s (%s %s)' % (title, day, start) + title = self.build_title(recording, Prefs['includeDatetimeInTitle']) + if 'directory' in recording and recording['directory']: + metadata.collections.add(recording['directory']) + elif 'autorec' in recording and recording['autorec'] and 'disp_title' in recording and recording['disp_title']: + metadata.collections.add(recording['disp_title']) metadata.title = title metadata.originally_available_at = startDateTime.date() @@ -126,7 +143,7 @@ def ServerInfo(): @staticmethod def Recordings(): - entries = Tvheadend.fetch('/api/dvr/entry/grid_finished')['entries'] + entries = Tvheadend.fetch('/api/dvr/entry/grid_finished', {}, {"limit": 999999999})['entries'] return dict((entry['filename'], entry) for entry in entries) @staticmethod