Mark deleted mosObjects as such in the DB.

This commit is contained in:
Birth Markus 2017-03-08 15:48:28 +01:00
parent 94874c1b74
commit 8f35dec4c3
3 changed files with 23 additions and 3 deletions

View File

@ -79,11 +79,23 @@ class MosDb():
valuesTuple
)
def mark_deleted(self, objData):
"""Sets the isDeleted column to 1 for the specified object.
*objData* is a dictionary containing mosId and objId values.
"""
self.c.execute(
"UPDATE mosobjects SET isDeleted=1 WHERE mosId=? AND objId=?",
( self.get_mos_id(objData["mosId"]), objData["objId"] )
)
def add_or_replace(self, objData):
insertObj = {
"objId": objData["objId"],
"mosId": self.get_mos_id(objData["mosId"]),
"objId": objData["objId"],
"statusId": self.get_status_id(objData["status"]),
"isDeleted": objData["isDeleted"],
"objSlug": objData["objSlug"],
"objPath": objData["objPath"],
"description": objData["description"],

View File

@ -17,14 +17,21 @@ def parse_mos_xml(mosElem: xml.etree.ElementTree.Element) -> bool:
status = mosObj.find("status").text
if status == "DELETED":
return False
objData = {
"mosId": mosId,
"objId": objId,
"isDeleted": 1
}
return objData
objData = {
"mosId": mosId,
"objId": objId,
"status": status,
"isDeleted": 0,
"objSlug": get_text_or_default(mosObj, "objSlug", ""),
"objPath": get_text_or_default(mosObj, ["objPaths", "objPath"], ""),
"objProxyPath": get_text_or_default(mosObj, ["objPaths", "objProxyPath"], ""),
"objGroup": get_text_or_default(mosObj, "objGroup", ""),
"objAir": get_text_or_default(mosObj, "objAir", ""),
"created": get_text_or_default(mosObj, "created", ""),

View File

@ -52,10 +52,11 @@ for file in files_to_parse:
mos = elem.find("mos")
objData = MosXml.parse_mos_xml(mos)
if objData:
if objData['isDeleted'] == 0:
db.add_or_replace(objData)
print(".", end="")
else:
db.mark_deleted(objData)
print("x", end="")
db.finish()