mirror of
https://github.com/meeb/tubesync.git
synced 2025-06-24 14:06:36 +00:00
Merge pull request #599 from tcely/patch-4
Fix paths for when filename includes sub-directories
This commit is contained in:
commit
4248824332
@ -1261,54 +1261,54 @@ class Media(models.Model):
|
|||||||
media_details = self.format_dict
|
media_details = self.format_dict
|
||||||
return media_format.format(**media_details)
|
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
|
@property
|
||||||
def directory_path(self):
|
def directory_path(self):
|
||||||
dirname = self.source.directory_path / self.filename
|
dirname = self.source.directory_path / self.filename
|
||||||
return os.path.dirname(str(dirname))
|
return dirname.parent
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def filepath(self):
|
def filepath(self):
|
||||||
return self.source.directory_path / self.filename
|
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
|
@property
|
||||||
def thumb_file_exists(self):
|
def thumb_file_exists(self):
|
||||||
if not self.thumb:
|
if not self.thumb:
|
||||||
|
@ -98,12 +98,19 @@
|
|||||||
{% if media.downloaded %}
|
{% if media.downloaded %}
|
||||||
<tr title="The filename the media will be downloaded as">
|
<tr title="The filename the media will be downloaded as">
|
||||||
<td class="hide-on-small-only">Filename</td>
|
<td class="hide-on-small-only">Filename</td>
|
||||||
<td><span class="hide-on-med-and-up">Filename<br></span><strong>{{ media.filename }}</strong></td>
|
<td><span class="hide-on-med-and-up">Filename<br></span><strong>{{ filename_path.name }}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr title="The filename the media will be downloaded as">
|
<tr title="The directory the media will be downloaded to">
|
||||||
<td class="hide-on-small-only">Directory</td>
|
<td class="hide-on-small-only">Directory</td>
|
||||||
<td><span class="hide-on-med-and-up">Directory<br></span><strong>{{ media.directory_path }}</strong></td>
|
<td><span class="hide-on-med-and-up">Directory<br></span><strong>{{ media.directory_path }}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr title="The filepath the media was saved to">
|
||||||
|
<td class="hide-on-small-only">Database Filepath</td>
|
||||||
|
<td><span class="hide-on-med-and-up">DB Filepath<br></span><strong>{{ media_file_path }}</strong>
|
||||||
|
{% if media_file_path == media.filepath %}
|
||||||
|
<span class="green-text"> (matched)</span>
|
||||||
|
{% endif %}
|
||||||
|
</td> </tr>
|
||||||
<tr title="Size of the file on disk">
|
<tr title="Size of the file on disk">
|
||||||
<td class="hide-on-small-only">File size</td>
|
<td class="hide-on-small-only">File size</td>
|
||||||
<td><span class="hide-on-med-and-up">File size<br></span><strong>{{ media.downloaded_filesize|filesizeformat }}</strong></td>
|
<td><span class="hide-on-med-and-up">File size<br></span><strong>{{ media.downloaded_filesize|filesizeformat }}</strong></td>
|
||||||
|
@ -597,11 +597,11 @@ class FilepathTestCase(TestCase):
|
|||||||
# Check child directories work
|
# Check child directories work
|
||||||
self.source.media_format = '{yyyy}/{key}.{ext}'
|
self.source.media_format = '{yyyy}/{key}.{ext}'
|
||||||
self.assertEqual(self.media.directory_path,
|
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.assertEqual(self.media.filename, '2017/mediakey.mkv')
|
||||||
self.source.media_format = '{yyyy}/{yyyy_mm_dd}/{key}.{ext}'
|
self.source.media_format = '{yyyy}/{yyyy_mm_dd}/{key}.{ext}'
|
||||||
self.assertEqual(self.media.directory_path,
|
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')
|
self.assertEqual(self.media.filename, '2017/2017-09-11/mediakey.mkv')
|
||||||
# Check media specific media format keys work
|
# Check media specific media format keys work
|
||||||
test_media = Media.objects.create(
|
test_media = Media.objects.create(
|
||||||
|
@ -582,6 +582,8 @@ class MediaItemView(DetailView):
|
|||||||
data['video_exact'] = video_exact
|
data['video_exact'] = video_exact
|
||||||
data['video_format'] = video_format
|
data['video_format'] = video_format
|
||||||
data['youtube_dl_format'] = self.object.get_format_str()
|
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
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user