Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: run.py

Issue 29324625: Issue 2951 - Fix handling of URLs without a scheme (Closed)
Patch Set: Created Aug. 25, 2015, 8:25 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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()
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld