summaryrefslogtreecommitdiff
path: root/src/ipcam_server.py
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2022-06-11 22:01:29 +0300
committerEvgeny Zinoviev <me@ch1p.io>2022-06-11 22:01:29 +0300
commit9fb7e0fd02e289456832b8700311c2db080ed6da (patch)
tree5665732f22bf48c4fcd9ad78d5466cc448dbcdc4 /src/ipcam_server.py
parent1366dc75de72f8eec6f734f1864cabd9a50fb61f (diff)
ipcam_server: add probably unneeded thing
Diffstat (limited to 'src/ipcam_server.py')
-rwxr-xr-xsrc/ipcam_server.py35
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