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'] |
| 50 if not urlparse.urlparse(fullurl).scheme: |
| 51 fullurl = 'http://' + fullurl |
| 52 parsedurl = urlparse.urlparse(fullurl) |
50 urlhash = hashlib.new('md5', data['url']).hexdigest() | 53 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') | 54 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) | 55 basename = "%s-%s-%s" % (parsedurl.hostname, timestamp, urlhash) |
53 datapath = os.path.join(self.parameters.outdir, basename + ".json") | 56 datapath = os.path.join(self.parameters.outdir, basename + ".json") |
54 screenshotpath = os.path.join(self.parameters.outdir, basename + ".jpg") | 57 screenshotpath = os.path.join(self.parameters.outdir, basename + ".jpg") |
55 sourcepath = os.path.join(self.parameters.outdir, basename + ".xml") | 58 sourcepath = os.path.join(self.parameters.outdir, basename + ".xml") |
56 | 59 |
57 try: | 60 try: |
58 os.makedirs(self.parameters.outdir) | 61 os.makedirs(self.parameters.outdir) |
59 except OSError as e: | 62 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__)) | 189 BASE_DIR = os.path.dirname(os.path.abspath(__file__)) |
187 DEPENDENCY_SCRIPT = os.path.join(BASE_DIR, "ensure_dependencies.py") | 190 DEPENDENCY_SCRIPT = os.path.join(BASE_DIR, "ensure_dependencies.py") |
188 | 191 |
189 try: | 192 try: |
190 subprocess.check_call([sys.executable, DEPENDENCY_SCRIPT, BASE_DIR]) | 193 subprocess.check_call([sys.executable, DEPENDENCY_SCRIPT, BASE_DIR]) |
191 except subprocess.CalledProcessError as e: | 194 except subprocess.CalledProcessError as e: |
192 print >>sys.stderr, e | 195 print >>sys.stderr, e |
193 print >>sys.stderr, "Failed to ensure dependencies being up-to-date!" | 196 print >>sys.stderr, "Failed to ensure dependencies being up-to-date!" |
194 | 197 |
195 run() | 198 run() |
OLD | NEW |