# AGPL 3 or any later version # (C) J.Y.Amihud ( Blender Dumbass ) import os import json import time import email import random import hashlib import urllib.parse import urllib.request from datetime import datetime from modules import Set from modules.Common import * def Get(url, data=None, headers={}): if data: data = json.dumps(data).encode("utf-8") req = urllib.request.Request(url, data=data, headers=headers) f = urllib.request.urlopen(req, timeout=10) data = json.loads(f.read().decode('utf-8')) return data def Value(url, keys): data = Get(url) for key in keys: data = data[key] return data def Petition(article): petition = article.get("petition", {}) api = petition.get("api", {}) timestamp = api.get("timestamp",0) # 5 minutes delay if time.time() - 300 < timestamp: return value = int(Value(api.get("api", ""), api.get("keys", []))) article["petition"]["api"]["timestamp"] = time.time() article["petition"]["signed"] = value f = Set.Folder() with open(f+"/tabs"+article.get("url", "")+"/metadata.json", "w") as save: json.dump(article, save, indent=4)