import pgpdump
import glob
import base64
+import os.path
+import math
+basedir = '.'
app = Flask(__name__)
@app.template_filter('base64')
def base64_filter(arg):
return base64.b64encode(arg)
+@app.template_filter('log2')
+def log2_filter(arg):
+ return int(math.log(arg, 2) + 1)
+
@app.route("/pks/add", methods=['POST'])
def add():
keytext = request.form['keytext']
pgp = pgpdump.AsciiData(keytext)
fingerprint = pgp.packets().next().fingerprint
- with open('data/%s.asc' % fingerprint, 'w') as f:
+ with open(os.path.join(basedir, 'data/%s.asc' % fingerprint), 'w') as f:
f.write(keytext)
return Response("OK", mimetype="text/plain")
@app.route('/')
def index():
result = dict()
- for entry in glob.glob('data/*.asc'):
+ for entry in glob.glob(os.path.join(basedir, 'data/*.asc')):
pgp = pgpdump.AsciiData(file(entry).read())
uids = []
photoids = []
@app.route('/download/')
def download():
result = []
- for entry in glob.glob('data/*.asc'):
+ for entry in glob.glob(os.path.join(basedir, 'data/*.asc')):
with open(entry) as f:
result.append(f.read())
return Response('\n'.join(result), mimetype='application/pgp')
+@app.route('/fingerprints/')
+def fingerprints():
+ return Response('\n'.join([ i.split('/')[-1][:-4] for i in
+ glob.glob(os.path.join(basedir, 'data/*.asc')) ]) + '\n',
+ mimetype='text/plain')
if __name__ == "__main__":
app.run(debug=True, port=11371)