12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import json
- import os
- import time
- import sys
- root = os.path.dirname(__file__)
- site_address = sys.argv[1]
- site_privatekey = sys.argv[2]
- extra_params = sys.argv[3:]
- contents = []
- for dirname in os.listdir(root + "/users"):
- if not os.path.isdir(root + "/users/" + dirname):
- continue
- try:
- content = json.load(open(root + "/users/" + dirname + "/content.json"))
- contents.append([content["modified"], dirname])
- except Exception, err:
- raw_input("Error load: %s" % err)
- # Delete oldest 20
- deleted = 0
- for modified, dirname in sorted(contents):
- days_old = (time.time() - modified) / (60 * 60 * 24)
- if days_old < 30:
- continue
- if not os.path.isfile(root + "/users/" + dirname + "/data.json"):
- size = 0
- else:
- size = float(os.path.getsize(root + "/users/" + dirname + "/data.json")) / 1024
- print " - Deleting messages from %s (%.0f days old, %.2fkb)" % (dirname, days_old, size)
- cert_user_id = json.load(open(root + "/users/" + dirname + "/content.json"))["cert_user_id"]
- # Load publickey from data.json
- try:
- publickey = json.load(open(root + "/users/" + dirname + "/data.json"))["publickey"]
- except Exception, err:
- publickey = json.load(open(root + "/users/" + dirname + "/content.json"))["publickey"]
- # Insert publickey to archived.json
- archived = json.load(open(root + "/archived.json"))
- archived[dirname] = {"publickey": publickey, "cert_user_id": cert_user_id}
- json.dump(archived, open(root + "/archived.json", "w"), indent=2)
- # Insert dirname to archived dirnames
- users_content = json.load(open(root + "/users/content.json"))
- users_content["user_contents"]["archived"][dirname] = int(time.time())
- json.dump(users_content, open(root + "/users/content.json", "w"), indent=2)
- # Delete user files
- try:
- os.unlink(root + "/users/" + dirname + "/content.json")
- except Exception, err:
- print "Error deleting content.json", err
- try:
- os.unlink(root + "/users/" + dirname + "/data.json")
- except Exception, err:
- print "Error deleting data.json", err
- try:
- os.rmdir(root + "/users/" + dirname)
- except Exception, err:
- print "Error deleting dir", err
- deleted += 1
- if deleted > 100:
- break
- cmd = "zeronet.py %s siteSign %s %s --inner_path data/users/%s/content.json --publish" % (" ".join(extra_params), site_address, site_privatekey, dirname)
- #os.system(cmd)
- print cmd
|