diff --git a/tubesync/sync/models.py b/tubesync/sync/models.py index 875e2ba7..2037492d 100644 --- a/tubesync/sync/models.py +++ b/tubesync/sync/models.py @@ -1261,54 +1261,54 @@ class Media(models.Model): media_details = self.format_dict return media_format.format(**media_details) - @property - def thumbname(self): - if self.downloaded and self.media_file: - filename = os.path.basename(self.media_file.path) - else: - filename = self.filename - prefix, ext = os.path.splitext(filename) - return f'{prefix}.jpg' - - @property - def thumbpath(self): - return self.source.directory_path / self.thumbname - - @property - def nfoname(self): - if self.downloaded and self.media_file: - filename = os.path.basename(self.media_file.path) - else: - filename = self.filename - prefix, ext = os.path.splitext(filename) - return f'{prefix}.nfo' - - @property - def nfopath(self): - return self.source.directory_path / self.nfoname - - @property - def jsonname(self): - if self.downloaded and self.media_file: - filename = os.path.basename(self.media_file.path) - else: - filename = self.filename - prefix, ext = os.path.splitext(filename) - return f'{prefix}.info.json' - - @property - def jsonpath(self): - return self.source.directory_path / self.jsonname - @property def directory_path(self): dirname = self.source.directory_path / self.filename - return os.path.dirname(str(dirname)) + return dirname.parent @property def filepath(self): return self.source.directory_path / self.filename + @property + def thumbname(self): + if self.downloaded and self.media_file: + filename = self.media_file.path + else: + filename = self.filename + prefix, ext = os.path.splitext(os.path.basename(filename)) + return f'{prefix}.jpg' + + @property + def thumbpath(self): + return self.directory_path / self.thumbname + + @property + def nfoname(self): + if self.downloaded and self.media_file: + filename = self.media_file.path + else: + filename = self.filename + prefix, ext = os.path.splitext(os.path.basename(filename)) + return f'{prefix}.nfo' + + @property + def nfopath(self): + return self.directory_path / self.nfoname + + @property + def jsonname(self): + if self.downloaded and self.media_file: + filename = self.media_file.path + else: + filename = self.filename + prefix, ext = os.path.splitext(os.path.basename(filename)) + return f'{prefix}.info.json' + + @property + def jsonpath(self): + return self.directory_path / self.jsonname + @property def thumb_file_exists(self): if not self.thumb: diff --git a/tubesync/sync/templates/sync/media-item.html b/tubesync/sync/templates/sync/media-item.html index 0c78f9b4..6f751be6 100644 --- a/tubesync/sync/templates/sync/media-item.html +++ b/tubesync/sync/templates/sync/media-item.html @@ -98,12 +98,19 @@ {% if media.downloaded %} Filename - Filename
{{ media.filename }} + Filename
{{ filename_path.name }} - + Directory Directory
{{ media.directory_path }} + + Database Filepath + DB Filepath
{{ media_file_path }} + {% if media_file_path == media.filepath %} +  (matched) + {% endif %} + File size File size
{{ media.downloaded_filesize|filesizeformat }} diff --git a/tubesync/sync/tests.py b/tubesync/sync/tests.py index 6aa0ccb6..8f0de6ef 100644 --- a/tubesync/sync/tests.py +++ b/tubesync/sync/tests.py @@ -597,11 +597,11 @@ class FilepathTestCase(TestCase): # Check child directories work self.source.media_format = '{yyyy}/{key}.{ext}' self.assertEqual(self.media.directory_path, - str(self.source.directory_path / '2017')) + self.source.directory_path / '2017') self.assertEqual(self.media.filename, '2017/mediakey.mkv') self.source.media_format = '{yyyy}/{yyyy_mm_dd}/{key}.{ext}' self.assertEqual(self.media.directory_path, - str(self.source.directory_path / '2017/2017-09-11')) + self.source.directory_path / '2017/2017-09-11') self.assertEqual(self.media.filename, '2017/2017-09-11/mediakey.mkv') # Check media specific media format keys work test_media = Media.objects.create( diff --git a/tubesync/sync/views.py b/tubesync/sync/views.py index 94e91432..52090042 100644 --- a/tubesync/sync/views.py +++ b/tubesync/sync/views.py @@ -582,6 +582,8 @@ class MediaItemView(DetailView): data['video_exact'] = video_exact data['video_format'] = video_format data['youtube_dl_format'] = self.object.get_format_str() + data['filename_path'] = pathlib.Path(self.object.filename) + data['media_file_path'] = pathlib.Path(self.object.media_file.path) if self.object.media_file else None return data