import os import json import urllib.request linkwarden_url = os.environ.get('LINKWARDEN_URL') linkwarden_token = os.environ.get('LINKWARDEN_TOKEN') def get_links(cursor): request = urllib.request.Request(linkwarden_url + "/api/v1/links?sort=0&cursor=" + str(cursor), headers={ 'Authorization': 'Bearer ' + linkwarden_token }) response = urllib.request.urlopen(request) data = response.read().decode("utf-8") data = data.replace("\\n", " ").replace("\\r", " ").replace("\\t", " ") data = ' '.join(data.split()) return json.loads(data).get("response", []) def init(): if linkwarden_url is None or linkwarden_token is None: return links = [] cursor = 0 while True: new_links = get_links(cursor) links += new_links if len(new_links): cursor = new_links[-1]["id"] else: break with open(os.path.expanduser("~/.config/qutebrowser/bookmarks/urls"), "w+") as f: for link in links: url = link.get("url") if not url: continue title = link.get("name") if not title: title = link.get("description") if not title: title = "" f.write(url + " " + title + "\n") f.close()