Advertisement
Guest User

library.py

a guest
Mar 4th, 2020
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.35 KB | None | 0 0
  1. from threading import Thread
  2. from time import time, sleep
  3. import urllib.request
  4. from json import loads, dumps
  5.  
  6. def api(*argv, **kwargs):
  7.     url = "http://127.0.0.1:5001/api/v0/"
  8.     for arg in argv:
  9.         arg = arg.replace(" ", "/")
  10.         if arg[:-1] != "/":
  11.             arg += "/"
  12.         url += arg
  13.     url = url[0:-1]
  14.     if kwargs:
  15.         url+="?"
  16.         for val in kwargs:
  17.             url = url + val + "=" + kwargs[val] + "&"
  18.         url = url[0:-1]
  19.         print(url)
  20.     try:
  21.         with urllib.request.urlopen(url, timeout=300) as response:
  22.             return response.read()
  23.     except:
  24.         return b"""{"ERROR": "CANNOT CONNECT TO IPFS!"}"""
  25.  
  26. class setup():
  27.  
  28.     def __init__(self):
  29.         api("files", "mkdir", arg="/GANN", parents="True")
  30.         self.root_hash = ""
  31.  
  32.     def update_root(self):
  33.         try:
  34.             for entry in loads(api("files", "ls", l="True").decode())["Entries"]:
  35.                 if entry["Name"] == "GANN":
  36.                     self.root_hash = entry["Hash"]
  37.         except:
  38.             return """{"ERROR": "CANNOT FIND ROOT DIRECTORY"}"""
  39.  
  40.     def publish_root(self):
  41.         api("name", "publish", arg=self.root_hash)
  42.  
  43.     def cron(self):
  44.         while True:
  45.             print("CRON Thread Started!")
  46.             self.update_root()
  47.             self.publish_root()
  48.             sleep(600)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement