mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 11:37:08 +00:00
Support lineNameInfo in final P1/11 imports
This commit is contained in:
@@ -15,6 +15,7 @@ import re
|
|||||||
import time
|
import time
|
||||||
import configuration
|
import configuration
|
||||||
import p111
|
import p111
|
||||||
|
import fwr
|
||||||
from datastore import Datastore
|
from datastore import Datastore
|
||||||
|
|
||||||
def add_pending_remark(db, sequence):
|
def add_pending_remark(db, sequence):
|
||||||
@@ -69,8 +70,12 @@ if __name__ == '__main__':
|
|||||||
print("No final P1/11 configuration")
|
print("No final P1/11 configuration")
|
||||||
exit(0)
|
exit(0)
|
||||||
|
|
||||||
pattern = final_p111["pattern"]
|
|
||||||
rx = re.compile(pattern["regex"])
|
lineNameInfo = final_p111.get("lineNameInfo")
|
||||||
|
pattern = final_p111.get("pattern")
|
||||||
|
rx = None
|
||||||
|
if pattern and pattern.get("regex"):
|
||||||
|
rx = re.compile(pattern["regex"])
|
||||||
|
|
||||||
if "pending" in survey["final"]:
|
if "pending" in survey["final"]:
|
||||||
pendingRx = re.compile(survey["final"]["pending"]["pattern"]["regex"])
|
pendingRx = re.compile(survey["final"]["pending"]["pattern"]["regex"])
|
||||||
@@ -98,15 +103,38 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
print("Importing")
|
print("Importing")
|
||||||
|
|
||||||
match = rx.match(os.path.basename(logical_filepath))
|
if rx:
|
||||||
if not match:
|
match = rx.match(os.path.basename(logical_filepath))
|
||||||
error_message = f"File path not match the expected format! ({logical_filepath} ~ {pattern['regex']})"
|
if not match:
|
||||||
print(error_message, file=sys.stderr)
|
error_message = f"File path not match the expected format! ({logical_filepath} ~ {pattern['regex']})"
|
||||||
print("This file will be ignored!")
|
print(error_message, file=sys.stderr)
|
||||||
continue
|
print("This file will be ignored!")
|
||||||
|
continue
|
||||||
|
|
||||||
file_info = dict(zip(pattern["captures"], match.groups()))
|
file_info = dict(zip(pattern["captures"], match.groups()))
|
||||||
file_info["meta"] = {}
|
file_info["meta"] = {}
|
||||||
|
|
||||||
|
if lineNameInfo:
|
||||||
|
basename = os.path.basename(physical_filepath)
|
||||||
|
fields = lineNameInfo.get("fields", {})
|
||||||
|
fixed = lineNameInfo.get("fixed")
|
||||||
|
try:
|
||||||
|
parsed_line = fwr.parse_line(basename, fields, fixed)
|
||||||
|
except ValueError as err:
|
||||||
|
parsed_line = "Line format error: " + str(err)
|
||||||
|
if type(parsed_line) == str:
|
||||||
|
print(parsed_line, file=sys.stderr)
|
||||||
|
print("This file will be ignored!")
|
||||||
|
continue
|
||||||
|
|
||||||
|
file_info = {}
|
||||||
|
file_info["sequence"] = parsed_line["sequence"]
|
||||||
|
file_info["line"] = parsed_line["line"]
|
||||||
|
del(parsed_line["sequence"])
|
||||||
|
del(parsed_line["line"])
|
||||||
|
file_info["meta"] = {
|
||||||
|
"fileInfo": parsed_line
|
||||||
|
}
|
||||||
|
|
||||||
if pending:
|
if pending:
|
||||||
print("Skipping / removing final file because marked as PENDING", logical_filepath)
|
print("Skipping / removing final file because marked as PENDING", logical_filepath)
|
||||||
|
|||||||
Reference in New Issue
Block a user