This commit is contained in:
Markus Birth 2021-08-22 23:43:10 +02:00
parent 139fcbf36a
commit 1ca9a23ad0
Signed by: mbirth
GPG Key ID: A9928D7A098C3A9A
2 changed files with 6 additions and 39 deletions

View File

@ -64,7 +64,7 @@ for item in opif:
target_group_name = "Recycle Bin"
# Add entry to KeePass
entry = kp.add_entry(target_group_name, item["title"])
entry = kp.add_entry(target_group_name, props["title"])
fids_done.append("title")
# UUID - memorise for later linking?
@ -104,8 +104,8 @@ for item in opif:
fids_done.append("notesPlain")
# Dates
entry.ctime = datetime.datetime.fromtimestamp(item["createdAt"])
entry.mtime = datetime.datetime.fromtimestamp(item["updatedAt"])
entry.ctime = datetime.datetime.fromtimestamp(props["createdAt"])
entry.mtime = datetime.datetime.fromtimestamp(props["updatedAt"])
fids_done.append("createdAt")
fids_done.append("updatedAt")
@ -137,26 +137,15 @@ for item in opif:
# TODO: scope: Never = never suggest in browser
secure = item["secureContents"]
# TODO: scope: Never = never suggest in browser (i.e. don't add KPH fields)
secure = item.raw["secureContents"]
# Other web fields
if "fields" in secure:
for field in secure["fields"]:
d = field.get("designation")
if d != "username" and d != "password":
entry.set_custom_property("Web field: {}".format(field["name"]), field["value"])
# Find URL in fields
if not entry.url:
if "htmlAction" in secure:
entry.url = secure["htmlAction"]
entry.set_custom_property("KPH: {}".format(field["name"]), field["value"])
# AFTER ALL OTHER PROCESSING IS DONE: Password history
if "passwordHistory" in props:
@ -171,5 +160,4 @@ for item in opif:
entry.password = original_password
entry.mtime = original_mtime
kp.save()

View File

@ -184,24 +184,3 @@ class OnepifEntry():
props[new_key] = v
# TODO: Maybe walk all keys and see if there's (xxx_dd), xxx_mm, xxx_yy and turn them into a date
return props
def __getattr__(self, name):
if name not in self.raw:
raise AttributeError
return self.raw[name]
def __getitem__(self, key):
if self.__missing__(key):
raise KeyError
return self.raw[key]
def __contains__(self, item):
return item in self.raw
def __missing__(self, key):
return key not in self.raw
def get(self, key):
if key not in self.raw:
return None
return self.raw[key]