]>
git.siccegge.de Git - ksp-webtool.git/blob - server.py
1 from flask
import Flask
, request
, render_template
, make_response
, Response
2 from flask
import request
13 @app.template_filter('base64')
14 def base64_filter(arg
):
15 return base64
.b64encode(arg
)
17 @app.template_filter('log2')
19 return int(math
.log(arg
, 2) + 1)
21 @app.route("/pks/add", methods
=['POST'])
23 keytext
= request
.form
['keytext']
24 pgp
= pgpdump
.AsciiData(keytext
)
25 fingerprint
= pgp
.packets().next().fingerprint
26 with
open(os
.path
.join(basedir
, 'data/%s.asc' % fingerprint
), 'w') as f
:
28 return Response("OK", mimetype
="text/plain")
33 for entry
in glob
.glob(os
.path
.join(basedir
, 'data/*.asc')):
34 pgp
= pgpdump
.AsciiData(file(entry
).read())
39 for packet
in pgp
.packets():
40 if packet
.name
== 'Public Key Packet':
42 elif packet
.name
== 'User ID Packet':
44 elif packet
.name
== 'User Attribute Packet':
45 photoids
.append(packet
)
46 elif packet
.name
== 'Public Subkey Packet':
47 subkeys
.append(packet
)
48 result
[public_key
.fingerprint
] = (public_key
, uids
, photoids
, subkeys
)
49 return render_template('index.html', data
= result
)
51 @app.route('/download/')
54 for entry
in glob
.glob(os
.path
.join(basedir
, 'data/*.asc')):
55 with
open(entry
) as f
:
56 result
.append(f
.read())
58 return Response('\n'.join(result
), mimetype
='application/pgp')
60 @app.route('/fingerprints/')
62 return Response('\n'.join([ i
.split('/')[-1][:-4] for i
in
63 glob
.glob(os
.path
.join(basedir
, 'data/*.asc')) ]),
64 mimetype
='text/plain')
66 if __name__
== "__main__":
67 app
.run(debug
=True, port
=11371)