Left: | ||
Right: |
OLD | NEW |
---|---|
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 parsedurl = urlparse.urlparse(data['url']) | 49 fullurl = data['url'] if ':' in data['url'] else 'http://' + 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 parsedurl = urlparse.urlparse(fullurl) | |
50 urlhash = hashlib.new('md5', data['url']).hexdigest() | 51 urlhash = hashlib.new('md5', data['url']).hexdigest() |
51 timestamp = datetime.datetime.fromtimestamp(data['startTime'] / 1000.0).st rftime('%Y-%m-%dT%H%M%S.%f') | 52 timestamp = datetime.datetime.fromtimestamp(data['startTime'] / 1000.0).st rftime('%Y-%m-%dT%H%M%S.%f') |
52 basename = "%s-%s-%s" % (parsedurl.hostname, timestamp, urlhash) | 53 basename = "%s-%s-%s" % (parsedurl.hostname, timestamp, urlhash) |
53 datapath = os.path.join(self.parameters.outdir, basename + ".json") | 54 datapath = os.path.join(self.parameters.outdir, basename + ".json") |
54 screenshotpath = os.path.join(self.parameters.outdir, basename + ".jpg") | 55 screenshotpath = os.path.join(self.parameters.outdir, basename + ".jpg") |
55 sourcepath = os.path.join(self.parameters.outdir, basename + ".xml") | 56 sourcepath = os.path.join(self.parameters.outdir, basename + ".xml") |
56 | 57 |
57 try: | 58 try: |
58 os.makedirs(self.parameters.outdir) | 59 os.makedirs(self.parameters.outdir) |
59 except OSError as e: | 60 except OSError as e: |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
186 BASE_DIR = os.path.dirname(os.path.abspath(__file__)) | 187 BASE_DIR = os.path.dirname(os.path.abspath(__file__)) |
187 DEPENDENCY_SCRIPT = os.path.join(BASE_DIR, "ensure_dependencies.py") | 188 DEPENDENCY_SCRIPT = os.path.join(BASE_DIR, "ensure_dependencies.py") |
188 | 189 |
189 try: | 190 try: |
190 subprocess.check_call([sys.executable, DEPENDENCY_SCRIPT, BASE_DIR]) | 191 subprocess.check_call([sys.executable, DEPENDENCY_SCRIPT, BASE_DIR]) |
191 except subprocess.CalledProcessError as e: | 192 except subprocess.CalledProcessError as e: |
192 print >>sys.stderr, e | 193 print >>sys.stderr, e |
193 print >>sys.stderr, "Failed to ensure dependencies being up-to-date!" | 194 print >>sys.stderr, "Failed to ensure dependencies being up-to-date!" |
194 | 195 |
195 run() | 196 run() |
OLD | NEW |