Compare commits

..

No commits in common. "7cd2a5c80d264b369a79ea83b0a325c8530abcfe" and "58d6332748c8de5f7406ea826c2762dd4b7ef8c6" have entirely different histories.

2 changed files with 43 additions and 48 deletions

View File

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

View File

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