Skip to content

Instantly share code, notes, and snippets.

@Coldblackice
Forked from ExE-Boss/export-from-stylish.py
Created November 14, 2020 02:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Coldblackice/38cfe71c7e861a7bf20637c1f19426fe to your computer and use it in GitHub Desktop.
Save Coldblackice/38cfe71c7e861a7bf20637c1f19426fe to your computer and use it in GitHub Desktop.
Export styles from Stylish for Firefox
#! /usr/bin/env python3
import os.path
import glob
import sqlite3
import json
def main():
styles_glob = os.path.expanduser('~/AppData/Roaming/Mozilla/Firefox/Profiles/*.default/stylish.sqlite');
styles_path = glob.glob(styles_glob)[0];
conn = sqlite3.connect(styles_path);
c = conn.cursor();
styles = [];
for row in c.execute('SELECT * FROM styles'):
_id, url, updUrl, md5Url, name, code, enabled, origCode, idUrl, bg, origMd5 = row;
styles.append({
'method': 'saveStyle',
'name': name,
'enabled': bool(enabled),
'sections': [{
'code': code,
}],
'updateUrl': updUrl or None,
'md5Url': md5Url or None,
'url': url or None,
'originalMd5': origMd5 or None,
'id': _id,
});
conn.close();
with open('stylus.json', 'w') as stylus:
json.dump(styles, stylus);
if __name__ == '__main__':
main();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment