From 512a39aa3b2136fe7dd309b766c3ab49347d9a7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B0=D0=B2=D0=B5=D0=BB=20=D0=98=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Fri, 29 Sep 2023 11:16:04 +0300 Subject: [PATCH] fix www-plugins/chrome-floccus --- www-plugins/chrome-floccus/files/configure.py | 42 ++++++++++++++++--- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/www-plugins/chrome-floccus/files/configure.py b/www-plugins/chrome-floccus/files/configure.py index 2d3e7f9a5..1cfe8e864 100644 --- a/www-plugins/chrome-floccus/files/configure.py +++ b/www-plugins/chrome-floccus/files/configure.py @@ -1,21 +1,51 @@ -#!/usr/bin/python3 +#!/usr/bin/env python import plyvel import json import sys +import time +import random from os import path -data = json.load(sys.stdin) +def generate_accountId(): + """ + Генерация accountId + """ + milliseconds = int(round(time.time() * 10000)) + randomnum = random.randint(10**16, 10**17 - 1) + id = '{0}.{1}'.format(milliseconds, randomnum) + return id -if len(sys.argv) < 3: + +def update_json(data_list): + """ + Заполнение конфигурационного файла json + """ + + accounts = data_list['accounts'] + accounts[f'{generate_accountId()}'] = accounts.pop('accountId') + data_list['accounts'] = json.dumps(accounts) + + +if len(sys.argv) < 2: sys.stderr.write("configure.py chrome-dir ext-id") sys.exit(1) chrome_dir = sys.argv[1] ext_id = sys.argv[2] +data_list = json.load(sys.stdin) +update_json(data_list) + db_path = path.join(chrome_dir,"Default/Local Extension Settings", ext_id) -db = plyvel.DB(db_path, create_if_missing=True) -for k,v in data.items(): - db.put(bytes(k,encoding='utf-8'), bytes(v,encoding='utf-8')) +try: + db = plyvel.DB(db_path, create_if_missing=True) +except IOError: + sys.stderr.write("Закройте браузер!\n") + sys.exit(1) + +print(data_list) + +for k, v in data_list.items(): + db.put(bytes(k,encoding='utf-8'), bytes(str(v),encoding='utf-8')) db.close()