Unverified Commit e21e5b53 authored by Robin Mueller's avatar Robin Mueller
Browse files

increasing program robustness

parent d28855d1
...@@ -62,8 +62,10 @@ def write_translation_header_file(filename: str = "translateObjects.h"): ...@@ -62,8 +62,10 @@ def write_translation_header_file(filename: str = "translateObjects.h"):
) )
def sql_object_exporter(object_table: list, delete_cmd: str, create_cmd: str, insert_cmd: str, sql_table: str): def sql_object_exporter(
sql_writer = SqlWriter(sql_table) object_table: list, db_filename: str, delete_cmd: str, create_cmd: str, insert_cmd: str
):
sql_writer = SqlWriter(db_filename=db_filename)
sql_writer.delete(delete_cmd) sql_writer.delete(delete_cmd)
sql_writer.open(create_cmd) sql_writer.open(create_cmd)
for entry in object_table: for entry in object_table:
......
...@@ -46,6 +46,7 @@ class InterfaceParser(FileParser): ...@@ -46,6 +46,7 @@ class InterfaceParser(FileParser):
count = 0 count = 0
current_file_table = dict() current_file_table = dict()
start_matched = False start_matched = False
end_matched = False
start_name = "" start_name = ""
target_end_name = "" target_end_name = ""
for line in all_lines: for line in all_lines:
...@@ -62,13 +63,16 @@ class InterfaceParser(FileParser): ...@@ -62,13 +63,16 @@ class InterfaceParser(FileParser):
count += 1 count += 1
if re.search(r"\[EXPORT\][\s]*:[\s]*\[END\]", match.group(2)): if re.search(r"\[EXPORT\][\s]*:[\s]*\[END\]", match.group(2)):
last_entry_name = match.group(1) last_entry_name = match.group(1)
end_matched = True
self.end_name_list.append([last_entry_name, None]) self.end_name_list.append([last_entry_name, None])
else: else:
current_file_table.update({count: [match.group(1), match.group(2)]}) current_file_table.update({count: [match.group(1), match.group(2)]})
if not start_matched: if not start_matched:
print("No start match detected when parsing interface files..") print("No start match detected when parsing interface files..")
sys.exit(1) sys.exit(1)
if not end_matched:
print("No end match detected when parsing interface files. Make sure to use [EXPORT] : [END]")
sys.exit(1)
self.start_name_list.append([start_name, target_end_name, None, count]) self.start_name_list.append([start_name, target_end_name, None, count])
self.file_name_table.append(file_name) self.file_name_table.append(file_name)
self.file_table_list.append(current_file_table) self.file_table_list.append(current_file_table)
......
import sqlite3 import sqlite3
SQL_DATABASE_NAME = "obsw_mib.db"
class SqlWriter: class SqlWriter:
def __init__(self, filename: str = SQL_DATABASE_NAME): def __init__(self, db_filename: str):
self.filename = filename self.filename = db_filename
self.conn = sqlite3.connect(self.filename) self.conn = sqlite3.connect(self.filename)
def open(self, sql_creation_command: str): def open(self, sql_creation_command: str):
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment