Skip to content

Commit 1272fb4

Browse files
Update (#276)
* reduce test logs * refactor * update dependences * increase wait time * refactor
1 parent 79e613d commit 1272fb4

21 files changed

+698
-603
lines changed

namer/__main__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def main():
7474

7575
arg1 = None if len(arg_list) == 0 else arg_list[0]
7676
if arg1 == 'watchdog':
77-
namer.watchdog.create_watcher(config).run()
77+
namer.watchdog.main(config)
7878
elif arg1 == 'rename':
7979
namer.namer.main(arg_list[1:])
8080
elif arg1 == 'suggest':

namer/configuration.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ class NamerConfig:
245245
a set of tags that indicates an individual video is vr.
246246
"""
247247

248-
database_path: Path = Path(tempfile.gettempdir()) / 'namer'
248+
database_path: Path = Path(tempfile.gettemp_dir()) / 'namer'
249249
"""
250250
Path where stores namer system data.
251251
"""
@@ -510,6 +510,15 @@ def __init__(self):
510510

511511
self.re_cleanup = [re.compile(rf'\b{regex}\b', re.IGNORECASE) for regex in database.re_cleanup]
512512

513+
if hasattr(self, 'watch_dir'):
514+
self.watch_dir = self.watch_dir.resolve()
515+
if hasattr(self, 'work_dir'):
516+
self.work_dir = self.work_dir.resolve()
517+
if hasattr(self, 'dest_dir'):
518+
self.dest_dir = self.dest_dir.resolve()
519+
if hasattr(self, 'failed_dir'):
520+
self.failed_dir = self.failed_dir.resolve()
521+
513522
def __str__(self):
514523
config = self.to_dict()
515524

namer/metadataapi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ def __get_metadataapi_net_info(url: str, name_parts: Optional[FileInfo], namer_c
472472
if json_response and json_response.strip() != '':
473473
# logger.debug("json_response: \n{}", json_response)
474474
json_obj = orjson.loads(json_response)
475-
formatted = orjson.dumps(orjson.loads(json_response), option=orjson.OPT_INDENT_2 | orjson.OPT_SORT_KEYS).decode('UTF-8')
475+
formatted = orjson.dumps(json_obj, option=orjson.OPT_INDENT_2 | orjson.OPT_SORT_KEYS).decode('UTF-8')
476476
file_infos = __metadataapi_response_to_data(json_obj, url, formatted, name_parts, namer_config)
477477

478478
return file_infos

namer/watchdog.py

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,11 @@ def on_any_event(self, event: FileSystemEvent):
103103
file_path = event.src_path
104104

105105
if file_path:
106-
path = Path(file_path)
106+
path = Path(file_path).resolve()
107+
if not path.is_relative_to(self.__namer_config.watch_dir):
108+
logger.error('file should be in watch dir {}', path)
109+
return
110+
107111
relative_path = str(path.relative_to(self.__namer_config.watch_dir))
108112
if not self.__namer_config.ignored_dir_regex.search(relative_path) and done_copying(path) and is_interesting_movie(path, self.__namer_config):
109113
logger.info('watchdog process called for {}', relative_path)
@@ -249,10 +253,14 @@ def start(self):
249253
# touch all existing movie files.
250254
with suppress(FileNotFoundError):
251255
for file in self.__namer_config.watch_dir.rglob('**/*.*'):
252-
if file.is_file() and file.suffix.lower()[1:] in self.__namer_config.target_extensions:
253-
relative_path = str(file.relative_to(self.__namer_config.watch_dir))
254-
if not config.ignored_dir_regex.search(relative_path) and done_copying(file) and is_interesting_movie(file, self.__namer_config):
255-
self.__event_handler.prepare_file_for_processing(file)
256+
file = file.resolve()
257+
if not file.is_relative_to(self.__namer_config.watch_dir):
258+
logger.error('file should be in watch dir {}', file)
259+
return
260+
261+
relative_path = str(file.relative_to(self.__namer_config.watch_dir))
262+
if not self.__namer_config.ignored_dir_regex.search(relative_path) and done_copying(file) and is_interesting_movie(file, self.__namer_config):
263+
self.__event_handler.prepare_file_for_processing(file)
256264

257265
def stop(self):
258266
"""
@@ -302,9 +310,6 @@ def create_watcher(namer_watchdog_config: NamerConfig) -> MovieWatcher:
302310
"""
303311
Configure and start a watchdog looking for new Movies.
304312
"""
305-
level = 'DEBUG' if namer_watchdog_config.debug else 'INFO'
306-
logger.add(sys.stdout, format=namer_watchdog_config.console_format, level=level, diagnose=namer_watchdog_config.diagnose_errors)
307-
308313
logger.info(namer_watchdog_config)
309314

310315
if not verify_configuration(namer_watchdog_config, PartialFormatter()):
@@ -322,3 +327,11 @@ def create_watcher(namer_watchdog_config: NamerConfig) -> MovieWatcher:
322327
movie_watcher = MovieWatcher(namer_watchdog_config)
323328

324329
return movie_watcher
330+
331+
332+
def main(config: NamerConfig):
333+
level = 'DEBUG' if config.debug else 'INFO'
334+
logger.add(sys.stdout, format=config.console_format, level=level, diagnose=config.diagnose_errors)
335+
336+
create_watcher(config).run()
337+

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
},
1414
"dependencies": {
1515
"@popperjs/core": "^2.11.8",
16-
"bootstrap": "^5.3.5",
17-
"bootstrap-icons": "^1.11.3",
16+
"bootstrap": "^5.3.6",
17+
"bootstrap-icons": "^1.13.1",
1818
"datatables.net": "^2.3.0",
1919
"datatables.net-bs5": "^2.3.0",
2020
"datatables.net-buttons": "^3.2.3",
2121
"datatables.net-buttons-bs5": "^3.2.3",
22-
"datatables.net-colreorder": "^2.0.4",
23-
"datatables.net-colreorder-bs5": "^2.0.4",
22+
"datatables.net-colreorder": "^2.1.0",
23+
"datatables.net-colreorder-bs5": "^2.1.0",
2424
"datatables.net-fixedheader": "^4.0.1",
2525
"datatables.net-fixedheader-bs5": "^4.0.1",
2626
"datatables.net-responsive": "^3.0.4",
@@ -30,7 +30,7 @@
3030
},
3131
"devDependencies": {
3232
"@babel/core": "^7.27.1",
33-
"@babel/preset-env": "^7.27.1",
33+
"@babel/preset-env": "^7.27.2",
3434
"@eslint/eslintrc": "^3.3.1",
3535
"@eslint/js": "^9.26.0",
3636
"babel-loader": "^10.0.0",
@@ -40,18 +40,18 @@
4040
"eslint": "^9.26.0",
4141
"eslint-config-standard": "^17.1.0",
4242
"file-loader": "^6.2.0",
43-
"globals": "^16.0.0",
43+
"globals": "^16.1.0",
4444
"html-minimizer-webpack-plugin": "^5.0.2",
4545
"husky": "^9.1.7",
46-
"lint-staged": "^15.5.1",
46+
"lint-staged": "^15.5.2",
4747
"mini-css-extract-plugin": "^2.9.2",
4848
"postcss": "^8.5.3",
4949
"postcss-loader": "^8.1.1",
5050
"postcss-preset-env": "^10.1.6",
5151
"sass": "^1.87.0",
5252
"sass-loader": "^16.0.5",
5353
"terser-webpack-plugin": "^5.3.14",
54-
"webpack": "^5.99.7",
54+
"webpack": "^5.99.8",
5555
"webpack-cli": "^6.0.1"
5656
},
5757
"engines": {

0 commit comments

Comments
 (0)