Compare commits

..

2 Commits

2 changed files with 48 additions and 43 deletions

View File

@ -28,8 +28,8 @@ config = {
"log_level": "INFO",
# determines directory where videos should be stored, see formating option below
"videos_dir": "videos",
# determines directory where videos should be stored, see formating option below, don't include trailing slash
"video_dir": "videos",
# Folder structure that will be created, default is to save as:
# {video_dir}/{camera_device_id}/{start.year}/{start.month}/{start.day}/
@ -37,7 +37,7 @@ config = {
# {video_dir}/{start.year}/{start.month}/{start.day}/{camera_device_id}/
"path_esn_first": True,
# default is set at 4, but set it to 64 if you feel the need for speed
# default is set at 4, but we feel the need for speed
"num_of_threads_in_pool": 4
}
```

View File

@ -101,62 +101,67 @@ if __name__ == '__main__':
logging.info(f"EagleEyev3 version: {een.__version__}")
results = cur.execute('select email from user')
if een:
if een.refresh_token == None or een.refresh_token == '':
# if you get out of sync, pull the refresh_token from the db to get the loop started
result = cur.execute("select user.refresh_token from user where user.email = ?;", ("mcotton@mcottondesign.com",))
list_of_users = [r[0] for r in results]
for user_email in list_of_users:
if een:
result = cur.execute("select user.refresh_token from user where user.email = ?;", (user_email,))
for row in result:
een.refresh_token = row[0]
else:
# een object and refresh_token appear to be good
pass
else:
logging.error('een object is None')
logging.error('een object is None')
een.login_tokens(code=None, cascade=True, refresh_token=een.refresh_token)
een.login_tokens(code=None, cascade=True, refresh_token=een.refresh_token)
result = cur.execute("select user.refresh_token, user.id from user where user.email = ?;", (een.current_user['email'],))
if een and een.current_user and 'email' in een.current_user:
for row in result:
print(f"found user {een.current_user['email']}, updating refresh_token")
print(row)
print(een.refresh_token)
print(f"update user set refresh_token = {een.refresh_token} where id == {row[1]};")
cur.execute("update user set refresh_token = ? where id == ?;", (een.refresh_token, row[1]))
con.commit()
result = cur.execute("select user.refresh_token, user.id from user where user.email = ?;", (een.current_user['email'],))
for row in result:
print(f"found user {een.current_user['email']}, updating refresh_token")
print(row)
print(een.refresh_token)
print(f"update user set refresh_token = {een.refresh_token} where id == {row[1]};")
cur.execute("update user set refresh_token = ? where id == ?;", (een.refresh_token, row[1]))
con.commit()
een.get_list_of_cameras()
een.get_list_of_cameras()
# iterate through all the cameras this user has access to
for current_camera in een.cameras:
# iterate through all the cameras this user has access to
for current_camera in een.cameras:
sql = '''SELECT
download.id,
download.url,
camera.device_id,
download.start_timestamp,
download.end_timestamp,
download.status
FROM
camera
JOIN download ON download.camera_id = camera.id
JOIN USER ON camera.user_id = user.id
WHERE
download.status == ?
AND camera.device_id == ?
ORDER BY download.start_timestamp
LIMIT 10000;'''
sql = '''SELECT
download.id,
download.url,
camera.device_id,
download.start_timestamp,
download.end_timestamp,
download.status
FROM
camera
JOIN download ON download.camera_id = camera.id
JOIN USER ON camera.user_id = user.id
WHERE
download.status == ?
AND camera.device_id == ?
ORDER BY download.start_timestamp
LIMIT 10000;'''
results = cur.execute(sql, ('new', current_camera.id))
results = cur.execute(sql, ('new', current_camera.id))
# Here is where we send the list of files to be run in the multiprocessing pool
run([results, een, current_camera])
# Here is where we send the list of files to be run in the multiprocessing pool
run([results, een, current_camera])
else:
logging.info(f"failed to login for {user_email}")