Skip to content

Commit bdbc041

Browse files
Update (#281)
* add ffprobe info * add source_file_stem * fix: update dependencies * update cfg * update dependencies
1 parent 19a75c3 commit bdbc041

File tree

8 files changed

+1302
-1217
lines changed

8 files changed

+1302
-1217
lines changed

namer/comparison_results.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ def as_dict(self, config: NamerConfig):
236236
'all_performer-sites': ', '.join(map(lambda p: p.name, filter(lambda p: p.alias, self.performers))) if self.performers else None,
237237
'ext': self.original_parsed_filename.extension if self.original_parsed_filename else None,
238238
'source_file_name': self.original_parsed_filename.source_file_name if self.original_parsed_filename else None,
239+
'source_file_stem': self.original_parsed_filename.source_file_stem if self.original_parsed_filename else None,
239240
'trans': self.original_parsed_filename.trans if self.original_parsed_filename else None,
240241
'vr': vr,
241242
'resolution': res_str,

namer/fileinfo.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ class FileInfo:
5252
"""
5353
What was originally parsed.
5454
"""
55+
source_file_stem: Optional[str] = None
56+
"""
57+
What was originally parsed without parsed extension.
58+
"""
5559
hashes: Optional[PerceptualHash] = None
5660
"""
5761
File hashes.
@@ -64,6 +68,7 @@ def __str__(self) -> str:
6468
name: {self.name}
6569
extension: {self.extension}
6670
original full name: {self.source_file_name}
71+
original full stem: {self.source_file_stem}
6772
hashes: {self.hashes.to_dict() if self.hashes else None}
6873
"""
6974

@@ -130,8 +135,9 @@ def parse_file_name(filename: str, namer_config: NamerConfig) -> FileInfo:
130135
"""
131136
filename = replace_abbreviations(filename, namer_config)
132137
regex = parser_config_to_regex(namer_config.name_parser)
138+
path = PurePath(filename)
133139
file_name_parts = FileInfo()
134-
file_name_parts.extension = PurePath(filename).suffix[1:]
140+
file_name_parts.extension = path.suffix[1:]
135141
match = regex.search(filename)
136142
if match:
137143
if match.groupdict().get('year'):
@@ -150,6 +156,7 @@ def parse_file_name(filename: str, namer_config: NamerConfig) -> FileInfo:
150156

151157
file_name_parts.extension = match.group('ext')
152158
file_name_parts.source_file_name = filename
159+
file_name_parts.source_file_stem = path.stem
153160
else:
154161
logger.debug('Could not parse target name which may be a file (or directory) name depending on settings and input: {}', filename)
155162

namer/metadataapi.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,17 @@ def main(args_list: List[str]):
603603
if results:
604604
matched = results.get_match()
605605
if matched:
606+
if file_name.input_file.is_file():
607+
ffprobe_results = config.ffmpeg.ffprobe(file_name.input_file)
608+
if ffprobe_results:
609+
matched.looked_up.resolution = ffprobe_results.get_resolution()
610+
611+
video = ffprobe_results.get_default_video_stream()
612+
matched.looked_up.video_codec = video.codec_name if video else None
613+
614+
audio = ffprobe_results.get_default_audio_stream()
615+
matched.looked_up.audio_codec = audio.codec_name if audio else None
616+
606617
name_template = get_inplace_name_template_by_type(config, matched.looked_up.type)
607618

608619
print(matched.looked_up.new_file_name(name_template, config))

namer/name_formatter.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class PartialFormatter(string.Formatter):
2828
'ext',
2929
'trans',
3030
'source_file_name',
31+
'source_file_stem',
3132
'uuid',
3233
'vr',
3334
'type',

namer/namer.cfg.default

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ name_parser = {_site}{_sep}{_optional_date}{_ts}{_name}{_dot}{_ext}
4545
# * 'act' - an act, parsed from original file name, don't use.
4646
# * 'ext' - original file's extension, you should keep this.
4747
# * 'source_file_name' - original file name
48+
# * 'source_file_stem' - What was originally parsed without parsed extension
4849
# * 'video_codec' - video codec of file, like h264
4950
# * 'audio_codec' - audio codec of file, like acc
5051
# * 'trans' - 'TS', or 'ts' if detected in original file name.

package.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,42 +13,42 @@
1313
},
1414
"dependencies": {
1515
"@popperjs/core": "^2.11.8",
16-
"bootstrap": "^5.3.6",
16+
"bootstrap": "^5.3.7",
1717
"bootstrap-icons": "^1.13.1",
18-
"datatables.net": "^2.3.1",
19-
"datatables.net-bs5": "^2.3.1",
18+
"datatables.net": "^2.3.2",
19+
"datatables.net-bs5": "^2.3.2",
2020
"datatables.net-buttons": "^3.2.3",
2121
"datatables.net-buttons-bs5": "^3.2.3",
22-
"datatables.net-colreorder": "^2.1.0",
23-
"datatables.net-colreorder-bs5": "^2.1.0",
24-
"datatables.net-fixedheader": "^4.0.2",
25-
"datatables.net-fixedheader-bs5": "^4.0.2",
22+
"datatables.net-colreorder": "^2.1.1",
23+
"datatables.net-colreorder-bs5": "^2.1.1",
24+
"datatables.net-fixedheader": "^4.0.3",
25+
"datatables.net-fixedheader-bs5": "^4.0.3",
2626
"datatables.net-responsive": "^3.0.4",
2727
"datatables.net-responsive-bs5": "^3.0.4",
2828
"jquery": "^3.7.1",
2929
"lodash": "^4.17.21"
3030
},
3131
"devDependencies": {
32-
"@babel/core": "^7.27.1",
32+
"@babel/core": "^7.27.4",
3333
"@babel/preset-env": "^7.27.2",
3434
"@eslint/eslintrc": "^3.3.1",
35-
"@eslint/js": "^9.27.0",
35+
"@eslint/js": "^9.29.0",
3636
"babel-loader": "^10.0.0",
3737
"copy-webpack-plugin": "^13.0.0",
3838
"css-loader": "^7.1.2",
3939
"css-minimizer-webpack-plugin": "^7.0.2",
40-
"eslint": "^9.27.0",
40+
"eslint": "^9.29.0",
4141
"eslint-config-standard": "^17.1.0",
4242
"file-loader": "^6.2.0",
43-
"globals": "^16.1.0",
43+
"globals": "^16.2.0",
4444
"html-minimizer-webpack-plugin": "^5.0.2",
4545
"husky": "^9.1.7",
46-
"lint-staged": "^16.0.0",
46+
"lint-staged": "^16.1.2",
4747
"mini-css-extract-plugin": "^2.9.2",
48-
"postcss": "^8.5.3",
48+
"postcss": "^8.5.6",
4949
"postcss-loader": "^8.1.1",
50-
"postcss-preset-env": "^10.1.6",
51-
"sass": "^1.89.0",
50+
"postcss-preset-env": "^10.2.3",
51+
"sass": "^1.89.2",
5252
"sass-loader": "^16.0.5",
5353
"terser-webpack-plugin": "^5.3.14",
5454
"webpack": "^5.99.9",

0 commit comments

Comments
 (0)