Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: tools/chrome_remote_control/chrome_remote_control/page_set.py

Issue 10984018: [chrome_remote_control] Add pylint to PRESUMMIT and fix lint (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: for landing Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 import json 4 import json
5 import urlparse 5 import urlparse
6 6
7 class Page(object): 7 class Page(object):
8 def __init__(self, url, attributes={}): 8 def __init__(self, url, attributes=None):
9 self.url = url 9 self.url = url
10 parsed_url = urlparse.urlparse(url) 10 parsed_url = urlparse.urlparse(url)
11 if parsed_url.scheme == None: 11 if parsed_url.scheme == None: # pylint: disable=E1101
12 raise Exception('urls must be fully qualified: %s' % url) 12 raise Exception('urls must be fully qualified: %s' % url)
13 self.interactions = 'scroll' 13 self.interactions = 'scroll'
14 self.credentials = None 14 self.credentials = None
15 self.wait_time_after_navigate = 2 15 self.wait_time_after_navigate = 2
16 self.scroll_is_infinite = False 16 self.scroll_is_infinite = False
17 17
18 for k, v in attributes.iteritems(): 18 if attributes:
19 setattr(self, k, v) 19 for k, v in attributes.iteritems():
20 setattr(self, k, v)
20 21
21 def __str__(self): 22 def __str__(self):
22 return self.url 23 return self.url
23 24
24 class PageSet(object): 25 class PageSet(object):
25 def __init__(self, description='', file_path=''): 26 def __init__(self, description='', file_path=''):
26 self.description = description 27 self.description = description
27 self.file_path = file_path 28 self.file_path = file_path
28 self.pages = [] 29 self.pages = []
29 30
30 @classmethod 31 @classmethod
31 def FromFile(cls, file_path): 32 def FromFile(cls, file_path):
32 with open(file_path, 'r') as f: 33 with open(file_path, 'r') as f:
33 contents = f.read() 34 contents = f.read()
34 data = json.loads(contents) 35 data = json.loads(contents)
35 return cls.FromDict(data, file_path) 36 return cls.FromDict(data, file_path)
36 37
37 @classmethod 38 @classmethod
38 def FromDict(cls, data, file_path=''): 39 def FromDict(cls, data, file_path=''):
39 page_set = cls(data['description'], file_path) 40 page_set = cls(data['description'], file_path)
40 for page_attributes in data['pages']: 41 for page_attributes in data['pages']:
41 url = page_attributes.pop('url') 42 url = page_attributes.pop('url')
42 page = Page(url, page_attributes) 43 page = Page(url, page_attributes)
43 page_set.pages.append(page) 44 page_set.pages.append(page)
44 return page_set 45 return page_set
45 46
46 def __iter__(self): 47 def __iter__(self):
47 return self.pages.__iter__() 48 return self.pages.__iter__()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698