mirror of https://github.com/CIRCL/AIL-framework
69 lines
2.5 KiB
Python
Executable File
69 lines
2.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# -*-coding:UTF-8 -*
|
|
|
|
"""
|
|
Update AIL
|
|
============================
|
|
|
|
Update AIL in the background
|
|
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
import redis
|
|
import subprocess
|
|
|
|
sys.path.append(os.path.join(os.environ['AIL_BIN'], 'lib/'))
|
|
import ConfigLoader
|
|
|
|
def launch_background_upgrade(version, l_script_name):
|
|
if r_serv.sismember('ail:to_update', version):
|
|
r_serv.delete('ail:update_error')
|
|
r_serv.set('ail:update_in_progress', version)
|
|
r_serv.set('ail:current_background_update', version)
|
|
|
|
for script_name in l_script_name:
|
|
r_serv.set('ail:current_background_script', script_name)
|
|
update_file = os.path.join(os.environ['AIL_HOME'], 'update', version, script_name)
|
|
process = subprocess.run(['python' ,update_file])
|
|
update_progress = r_serv.get('ail:current_background_script_stat')
|
|
#if update_progress:
|
|
# if int(update_progress) != 100:
|
|
# r_serv.set('ail:update_error', 'Update {} Failed'.format(version))
|
|
|
|
update_progress = r_serv.get('ail:current_background_script_stat')
|
|
if update_progress:
|
|
if int(update_progress) == 100:
|
|
r_serv.delete('ail:update_in_progress')
|
|
r_serv.delete('ail:current_background_script')
|
|
r_serv.delete('ail:current_background_script_stat')
|
|
r_serv.delete('ail:current_background_update')
|
|
r_serv.srem('ail:to_update', version)
|
|
|
|
def clean_update_db():
|
|
r_serv.delete('ail:update_error')
|
|
r_serv.delete('ail:update_in_progress')
|
|
r_serv.delete('ail:current_background_script')
|
|
r_serv.delete('ail:current_background_script_stat')
|
|
r_serv.delete('ail:current_background_update')
|
|
|
|
if __name__ == "__main__":
|
|
|
|
config_loader = ConfigLoader.ConfigLoader()
|
|
|
|
r_serv = config_loader.get_redis_conn("ARDB_DB")
|
|
r_serv_onion = config_loader.get_redis_conn("ARDB_Onion")
|
|
config_loader = None
|
|
|
|
if r_serv.scard('ail:to_update') == 0:
|
|
clean_update_db()
|
|
|
|
|
|
launch_background_upgrade('v1.5', ['Update-ARDB_Onions.py', 'Update-ARDB_Metadata.py', 'Update-ARDB_Tags.py', 'Update-ARDB_Tags_background.py', 'Update-ARDB_Onions_screenshots.py'])
|
|
launch_background_upgrade('v2.4', ['Update_domain.py'])
|
|
launch_background_upgrade('v2.6', ['Update_screenshots.py'])
|
|
launch_background_upgrade('v2.7', ['Update_domain_tags.py'])
|
|
launch_background_upgrade('v3.4', ['Update_domain.py'])
|
|
launch_background_upgrade('v3.7', ['Update_trackers.py'])
|