| 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 |