aboutsummaryrefslogtreecommitdiffstats
path: root/bin/common/srtool_backup.py
diff options
context:
space:
mode:
Diffstat (limited to 'bin/common/srtool_backup.py')
-rwxr-xr-xbin/common/srtool_backup.py56
1 files changed, 30 insertions, 26 deletions
diff --git a/bin/common/srtool_backup.py b/bin/common/srtool_backup.py
index ec252cdb..6cd62573 100755
--- a/bin/common/srtool_backup.py
+++ b/bin/common/srtool_backup.py
@@ -40,30 +40,23 @@
import os
import sys
-import re
-import csv
-import xml.etree.ElementTree as ET
import argparse
import sqlite3
-import subprocess
import json
-import urllib
+from datetime import datetime, date
# load the srt.sqlite schema indexes
dir_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
sys.path.insert(0, dir_path)
-from srt_schema import ORM
-
-from datetime import datetime, date
-from pprint import pprint
-from urllib.request import urlopen, URLError
-from urllib.parse import urlparse
+from common.srt_schema import ORM
-# setup
+# Setup:
lookupTable = []
cveIndex = {}
db_change = False
-is_verbose = False
+verbose = False
+cmd_skip = 0
+cmd_count = 0
srtDbName = 'srt.sqlite'
# Save the "whole" table contents
@@ -233,17 +226,27 @@ def restore_db_json(weeknum, weekday):
#print("Inserting value %d" % i)
#print("Restoring %s" % table + spinner[i % 4], end='\r', flush=True)
#create sql query for updating subset of a record
- "%s = ?," * len(dic)
sql = "UPDATE %s SET " % table
- sql += "%s = ?," * len(dic) % tuple(dic)
- sql = sql[:-1]
- sql += " WHERE %s=?" % primary_key
+ # Build member assignment string and values list
+ names = ''
+ values = []
+ for n,v in dic:
+ if n == primary_key:
+ continue
+ names += "%s = ?," % n
+ values.append(v)
+ names = names[:-1]
+ sql += "%s WHERE %s=?" % (names,primary_key)
+ values.append(dic[primary_key])
+ cur.execute(sql, values)
+
+ #sql += ("%s = ?," * len(dic)) % tuple(dic)
+ #sql = sql[:-1]
+ #sql += " WHERE %s=?" % primary_key
#add primary key at the end for WHERE clause
-
- temp = list(dic.values())
- temp.append(dic[primary_key])
-
- cur.execute(sql, temp)
+ #temp = list(dic.values())
+ #temp.append(dic[primary_key])
+ #cur.execute(sql, temp)
conn.commit()
print("Finished %s " % table, end='\r', flush=True)
print(" " * 80, end='\r')
@@ -255,8 +258,10 @@ def restore_db_json(weeknum, weekday):
def simulate_corruption():
conn = sqlite3.connect(srtDbName)
cur = conn.cursor()
- [cur.execute("DELETE FROM %s" % table) for table in WHOLE_TABLES]
- #[cur.execute("DELETE FROM %s" % table[0]) for table in SUBSET_TABLES]
+ for table in WHOLE_TABLES:
+ cur.execute("DELETE FROM %s" % table)
+ #for table in SUBSET_TABLES:
+ # cur.execute("DELETE FROM %s" % table[0])
conn.commit()
conn.close()
@@ -268,6 +273,7 @@ def simulate_corruption():
def backup_cve_packages():
global cmd_skip
+ global cmd_count
conn = sqlite3.connect(srtDbName)
cur_cve = conn.cursor()
@@ -495,7 +501,5 @@ def main(argv):
master_log.close()
if __name__ == '__main__':
- global script_pathname
- from os.path import abspath
script_pathname = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0]))))
main(sys.argv[1:])