diff --git a/clear_log.py b/clear_log.py index 183abb4..a8d8929 100755 --- a/clear_log.py +++ b/clear_log.py @@ -1,5 +1,5 @@ #!/usr/bin/python3 import sys -with open("/home/anonhmmst/log.txt","w") as f: +with open("/home/dowel/gophercomments/log.txt","w") as f: f.write("") diff --git a/parse_email.py b/parse_email.py index 8045198..5345045 100755 --- a/parse_email.py +++ b/parse_email.py @@ -1,6 +1,13 @@ -#!/usr/bin/python3 -import utils,sys,subprocess -utils.setcwd("/home/anonhmmst") +#!/usr/local/bin/python3 +import utils,sys,subprocess,json +utils.setcwd("/home/dowel/gophercomments") + +def load_json_file(fn): + with utils.open(fn) as f: return json.load(f) + +def dump_json_file(obj,fn): + with utils.open(fn,"w") as f: json.dump(obj,f) + email = utils.input() @@ -8,26 +15,20 @@ def log(x): with utils.open("log.txt","a") as f: f.write(x+"\n") -title = email.get("Subject") +box = email.get("Subject") payload = email.get_payload() if type(payload)==list: - payload = {x.get_content_type(): x.get_payload() for x in payload} - if payload.get("text/plain") is not None: - payload = payload["text/plain"] - else: - sys.exit(0) + sender = email.get("From") + with utils.open("wallofshame.json") as f: wos = json.load(f) + if sender not in wos["members"]: + wos["members"].append(email.get("From")) + with utils.open("wallofshame.json","w") as f: json.dump(wos,f) if "\r\n" in payload: payload = payload.replace("\r\n","\n") if payload==payload.rstrip(): payload+="\n" -log("title = {!r}".format(title)) -log("payload = {!r}".format(payload)) - -filename = utils.get_name_from_title(title) - -utils.write_file(filename,payload) - -subprocess.run(["/usr/local/bin/log","-f",filename,"-t",title]) +log("box = {}".format(box)) +log("payload = {}".format(payload)) \ No newline at end of file diff --git a/utils.py b/utils.py index 768105d..9482456 100644 --- a/utils.py +++ b/utils.py @@ -4,7 +4,6 @@ NOT_ALPHANUM = re.compile("[^A-Za-z0-9]") inp = email.message_from_file(sys.stdin) homedir = os.path.dirname(__file__) -ship = "anon.hmm.st" def input(): return inp @@ -20,23 +19,4 @@ def open(*args,**kwargs): try: yield f finally: - f.close() - -def getshipdir(): - return os.path.join(homedir,"ships",ship) - -def get_name_from_title(title): - shipdir = getshipdir() - t = NOT_ALPHANUM.sub("-",title) - t = t[:10] - if os.path.exists(os.path.join(shipdir,t+".txt")): - n = 1 - while os.path.exists(os.path.join(shipdir,t+str(n)+".txt")): - n+=1 - return os.path.join(shipdir,t+str(n)+".txt") - else: return os.path.join(shipdir,t+".txt") - -def write_file(filename,text): - with open(filename,"w") as f: - f.write(text) - os.chmod(filename,0o664) + f.close() \ No newline at end of file