diff options
author | Evgeny Zinoviev <me@ch1p.io> | 2022-06-11 22:01:29 +0300 |
---|---|---|
committer | Evgeny Zinoviev <me@ch1p.io> | 2022-06-11 22:01:29 +0300 |
commit | 9fb7e0fd02e289456832b8700311c2db080ed6da (patch) | |
tree | 5665732f22bf48c4fcd9ad78d5466cc448dbcdc4 /src/ipcam_server.py | |
parent | 1366dc75de72f8eec6f734f1864cabd9a50fb61f (diff) |
ipcam_server: add probably unneeded thing
Diffstat (limited to 'src/ipcam_server.py')
-rwxr-xr-x | src/ipcam_server.py | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/src/ipcam_server.py b/src/ipcam_server.py index d212be2..d706651 100755 --- a/src/ipcam_server.py +++ b/src/ipcam_server.py @@ -327,24 +327,35 @@ async def process_fragments(camera: int, async def fix_job() -> None: + global fix_job_running logger.debug('fix_job: starting') - for cam in config['camera'].keys(): - files = get_recordings_files(cam, TimeFilterType.FIX) - if not files: - logger.debug(f'fix_job: no files for camera {cam}') - continue + if fix_job_running: + logger.error('fix_job: already running') + return - logger.debug(f'fix_job: got %d files for camera {cam}' % (len(files),)) + try: + fix_job_running = True + for cam in config['camera'].keys(): + files = get_recordings_files(cam, TimeFilterType.FIX) + if not files: + logger.debug(f'fix_job: no files for camera {cam}') + continue + + logger.debug(f'fix_job: got %d files for camera {cam}' % (len(files),)) + + for file in files: + fullpath = os.path.join(get_recordings_path(cam), file['name']) + await camutil.ffmpeg_recreate(fullpath) + timestamp = filename_to_datetime(file['name']) + if timestamp: + db.set_timestamp(cam, TimeFilterType.FIX, timestamp) - for file in files: - fullpath = os.path.join(get_recordings_path(cam), file['name']) - await camutil.ffmpeg_recreate(fullpath) - timestamp = filename_to_datetime(file['name']) - if timestamp: - db.set_timestamp(cam, TimeFilterType.FIX, timestamp) + finally: + fix_job_running = False +fix_job_running = False datetime_format = '%Y-%m-%d-%H.%M.%S' db: Optional[IPCamServerDatabase] = None server: Optional[IPCamWebServer] = None |