jmou/yakatak
git clone https://github.com/jmou/yakatak.git
git clone git@github.com:jmou/yakatak.git
Loading…
(top)/icloud/tabs_to_csv.py
language: Python
575 Bytes / 24 lines / 19 loc
History
View raw
import csv
import json
import sqlite3
import sys
import zlib

_, db_path = sys.argv

conn = sqlite3.connect(db_path)
conn.row_factory = sqlite3.Row

tabs = []

for row in conn.execute(
    "SELECT device_uuid, tab_uuid, url, title, position FROM cloud_tabs"
):
    position = json.loads(zlib.decompress(row["position"]))
    tabs.append((position["sortValues"][0]["sortValue"], row))

writer = csv.writer(sys.stdout)
COLUMNS = ["device_uuid", "tab_uuid", "url", "title"]
writer.writerow(COLUMNS)
for _, row in sorted(tabs):
    writer.writerow([row[col] for col in COLUMNS])