Change some code around

This commit is contained in:
Robert Miles 2019-08-27 22:23:54 +00:00
parent 28a29d0643
commit 0233abab12
3 changed files with 20 additions and 39 deletions

View File

@ -1,5 +1,5 @@
#!/usr/bin/python3 #!/usr/bin/python3
import sys import sys
with open("/home/anonhmmst/log.txt","w") as f: with open("/home/dowel/gophercomments/log.txt","w") as f:
f.write("") f.write("")

View File

@ -1,6 +1,13 @@
#!/usr/bin/python3 #!/usr/local/bin/python3
import utils,sys,subprocess import utils,sys,subprocess,json
utils.setcwd("/home/anonhmmst") 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() email = utils.input()
@ -8,26 +15,20 @@ def log(x):
with utils.open("log.txt","a") as f: with utils.open("log.txt","a") as f:
f.write(x+"\n") f.write(x+"\n")
title = email.get("Subject") box = email.get("Subject")
payload = email.get_payload() payload = email.get_payload()
if type(payload)==list: if type(payload)==list:
payload = {x.get_content_type(): x.get_payload() for x in payload} sender = email.get("From")
if payload.get("text/plain") is not None: with utils.open("wallofshame.json") as f: wos = json.load(f)
payload = payload["text/plain"] if sender not in wos["members"]:
else: wos["members"].append(email.get("From"))
sys.exit(0) with utils.open("wallofshame.json","w") as f: json.dump(wos,f)
if "\r\n" in payload: if "\r\n" in payload:
payload = payload.replace("\r\n","\n") payload = payload.replace("\r\n","\n")
if payload==payload.rstrip(): if payload==payload.rstrip():
payload+="\n" payload+="\n"
log("title = {!r}".format(title)) log("box = {}".format(box))
log("payload = {!r}".format(payload)) log("payload = {}".format(payload))
filename = utils.get_name_from_title(title)
utils.write_file(filename,payload)
subprocess.run(["/usr/local/bin/log","-f",filename,"-t",title])

View File

@ -4,7 +4,6 @@ NOT_ALPHANUM = re.compile("[^A-Za-z0-9]")
inp = email.message_from_file(sys.stdin) inp = email.message_from_file(sys.stdin)
homedir = os.path.dirname(__file__) homedir = os.path.dirname(__file__)
ship = "anon.hmm.st"
def input(): def input():
return inp return inp
@ -20,23 +19,4 @@ def open(*args,**kwargs):
try: try:
yield f yield f
finally: finally:
f.close() 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)