added arg to change log folder

This commit is contained in:
scuti 2024-10-30 03:15:13 -07:00
parent ae200646c2
commit 30c26352cd

View File

@ -3,7 +3,6 @@ import sqlite3 as sql
import logging
import logging.handlers
from os import listdir, mkdir
from os.path import isfile, exists
from urllib.parse import unquote
@ -48,8 +47,10 @@ def get_list_from_server_txt(filename):
output.append(row)
return output
def init_logging():
filename = "_logs/dbimport-%s.log"
def init_logging(folder, base_file_name="dbimport-%s.log"):
if not exists(folder):
return False
filename = folder + "/" + base_file_name
i = 0
while exists(filename % i):
i += 1
@ -163,6 +164,9 @@ def insert_to_database(d, s):
con.rollback()
def write_query(out_file, data):
if exists(out_file):
print("stopped: output file already exists", file=sys.stderr)
return False
times, \
ranks, \
ids, \
@ -175,7 +179,7 @@ def write_query(out_file, data):
file_handle.write("INSERT OR REPLACE INTO Cts_ranks VALUES(\'%s\', \'%s\', %s, \'%s\');\n" % tuple(r))
for i in ids:
file_handle.write("INSERT OR REPLACE INTO Id2alias VALUES(\'%s\', \'%s\', \'%s\');\n" % tuple(i))
return
return True
# Test whether repeat rows are added.
def check_duplicates(database, data):
@ -225,19 +229,27 @@ if __name__ == "__main__":
ap.add_argument('-t', '--test',
action='store_true',
help="test database for duplicates")
ap.add_argument('-q', '--query',
ap.add_argument('-q', '--export-query',
action='store_true',
help="write query file (as opposed to executing / inserting rows into database)")
ap.add_argument('-l', '--log',
type=str,
help="set folder to store log files")
args = ap.parse_args()
log_file = init_logging()
print("Writing log to ", log_file)
log_dir = args.log or "logs"
log_file = init_logging(log_dir)
if log_file:
print("writing log to folder '%s'," % log_dir, log_file, file=sys.stderr)
else:
print("exited: logging not initialized (folder '%s' does not exist)" % log_dir, file=sys.stderr)
exit()
try:
if args.test:
check_duplicates(args.dest, args.src)
if args.query:
try:
if args.export_query:
write_query(args.dest, args.src)
except FileNotFoundError:
traceback.print_exc()
print("\n\t Exiting - no file to work with.", file=sys.stderr)
else:
insert_to_database(args.dest, args.src)
except FileNotFoundError:
traceback.print_exc()
print("\n\t exited: no input file to work with.", file=sys.stderr)