X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=url_catcher.py;h=5f5b03095890f90645689467f137dbb34b88f4e8;hb=HEAD;hp=ac4b7a742448c1426cc4ee9756c62640112b9d6a;hpb=07d3257fab88d61d28bee7202b8041576912900e;p=url-catcher
diff --git a/url_catcher.py b/url_catcher.py
old mode 100644
new mode 100755
index ac4b7a7..5f5b030
--- a/url_catcher.py
+++ b/url_catcher.py
@@ -1,3 +1,5 @@
+#!/usr/bin/python3
+
import bottle
import validators
import html
@@ -47,7 +49,7 @@ os.makedirs(lists_dir, exist_ok=True)
def atomic_write(path, content, mode):
"""Atomic write/append to file."""
_, tmpPath = tempfile.mkstemp()
- if 'a' == mode:
+ if 'a' == mode and os.path.exists(path):
shutil.copy2(path, tmpPath)
f = open(tmpPath, mode)
f.write(content)
@@ -114,7 +116,7 @@ def post_link():
str(start_date) + '\n' + str(attempts), 'w')
# Derive page / page file name.
- page = bottle.request.forms.get('page')
+ page = bottle.request.forms.page
if '\0' in page or '/' in page or '.' in page or len(page.encode()) > 255:
return bottle.HTTPResponse(messages['badPageName'], 400)
@@ -122,12 +124,12 @@ def post_link():
captcha_file = open(captchas_dir + '/' + page, 'r')
captcha_correct = captcha_file.readline().rstrip()
captcha_file.close()
- captcha_input = bottle.request.forms.get('captcha')
+ captcha_input = bottle.request.forms.captcha
if captcha_correct != captcha_input:
return bottle.HTTPResponse(messages['wrongCaptcha'], 400)
# Record URL.
- url = bottle.request.forms.get('url')
+ url = bottle.request.forms.url
if not validators.url(url):
return bottle.HTTPResponse(messages['invalidURL'], 400)
send_mail(page, url)