Skip to content

Instantly share code, notes, and snippets.

@tulpenkiste
Last active August 13, 2022 16:24
Show Gist options
  • Save tulpenkiste/75ea9361c7228aee19fd6ad4f635605c to your computer and use it in GitHub Desktop.
Save tulpenkiste/75ea9361c7228aee19fd6ad4f635605c to your computer and use it in GitHub Desktop.
Basic Firefox CSV to Falkon XML Converter
"""
Basic script to convert a Firefox logins.csv into something kwallet can understand.
Still results in some unusable entries so make sure to manually erase certain entries.
"""
copy = """ <entry>
<server>NET</server>
<username>NAME</username>
<password>PASS</password>
<data></data>
</entry>"""
towrite = ""
file = open("logins.csv", "r")
cont = file.read()
file.close()
skipped = 0
for line in iter(cont.splitlines()):
split = line.replace("\"", "").split(",")
if split[0] in ["\"chrome://FirefoxAccounts\"", "\"url\""] or split[1].startswith("\"{") or split[1].startswith("{") or split[0] == "\"\"": skipped += 1
else:
towrite += copy.replace("NET", split[0]).replace("NAME", split[1]).replace("PASS", split[2]) + "\n"
file = open("test.xml", "w")
file.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<passwords version=\"1.0\">\n" + towrite + "</passwords>")
file.close()
print(f"Skipped {skipped} lines.")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment