Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # coding: utf-8 | 2 # coding: utf-8 |
3 | 3 |
4 import argparse | 4 import argparse |
5 import datetime | 5 import datetime |
6 import errno | 6 import errno |
7 import hashlib | 7 import hashlib |
8 import io | 8 import io |
9 import json | 9 import json |
10 import os | 10 import os |
(...skipping 28 matching lines...) Expand all Loading... | |
39 elif path == '/save': | 39 elif path == '/save': |
40 try: | 40 try: |
41 request_body_size = int(environ.get('CONTENT_LENGTH', 0)) | 41 request_body_size = int(environ.get('CONTENT_LENGTH', 0)) |
42 except (ValueError): | 42 except (ValueError): |
43 start_response('400 Bad Request', []) | 43 start_response('400 Bad Request', []) |
44 return '' | 44 return '' |
45 | 45 |
46 data = json.loads(environ['wsgi.input'].read(request_body_size)) | 46 data = json.loads(environ['wsgi.input'].read(request_body_size)) |
47 self.urls.remove(data['url']) | 47 self.urls.remove(data['url']) |
48 | 48 |
49 fullurl = data['url'] if ':' in data['url'] else 'http://' + data['url'] | 49 fullurl = data['url'] |
Sebastian Noack
2015/08/26 13:11:52
Please don't repeat yourself:
fullurl = data['u
Wladimir Palant
2015/10/09 10:27:34
Done.
| |
50 if not urlparse.urlparse(fullurl).scheme: | |
51 fullurl = 'http://' + fullurl | |
50 parsedurl = urlparse.urlparse(fullurl) | 52 parsedurl = urlparse.urlparse(fullurl) |
51 urlhash = hashlib.new('md5', data['url']).hexdigest() | 53 urlhash = hashlib.new('md5', data['url']).hexdigest() |
52 timestamp = datetime.datetime.fromtimestamp(data['startTime'] / 1000.0).st rftime('%Y-%m-%dT%H%M%S.%f') | 54 timestamp = datetime.datetime.fromtimestamp(data['startTime'] / 1000.0).st rftime('%Y-%m-%dT%H%M%S.%f') |
53 basename = "%s-%s-%s" % (parsedurl.hostname, timestamp, urlhash) | 55 basename = "%s-%s-%s" % (parsedurl.hostname, timestamp, urlhash) |
54 datapath = os.path.join(self.parameters.outdir, basename + ".json") | 56 datapath = os.path.join(self.parameters.outdir, basename + ".json") |
55 screenshotpath = os.path.join(self.parameters.outdir, basename + ".jpg") | 57 screenshotpath = os.path.join(self.parameters.outdir, basename + ".jpg") |
56 sourcepath = os.path.join(self.parameters.outdir, basename + ".xml") | 58 sourcepath = os.path.join(self.parameters.outdir, basename + ".xml") |
57 | 59 |
58 try: | 60 try: |
59 os.makedirs(self.parameters.outdir) | 61 os.makedirs(self.parameters.outdir) |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
187 BASE_DIR = os.path.dirname(os.path.abspath(__file__)) | 189 BASE_DIR = os.path.dirname(os.path.abspath(__file__)) |
188 DEPENDENCY_SCRIPT = os.path.join(BASE_DIR, "ensure_dependencies.py") | 190 DEPENDENCY_SCRIPT = os.path.join(BASE_DIR, "ensure_dependencies.py") |
189 | 191 |
190 try: | 192 try: |
191 subprocess.check_call([sys.executable, DEPENDENCY_SCRIPT, BASE_DIR]) | 193 subprocess.check_call([sys.executable, DEPENDENCY_SCRIPT, BASE_DIR]) |
192 except subprocess.CalledProcessError as e: | 194 except subprocess.CalledProcessError as e: |
193 print >>sys.stderr, e | 195 print >>sys.stderr, e |
194 print >>sys.stderr, "Failed to ensure dependencies being up-to-date!" | 196 print >>sys.stderr, "Failed to ensure dependencies being up-to-date!" |
195 | 197 |
196 run() | 198 run() |
LEFT | RIGHT |