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

Delta Between Two Patch Sets: sitescripts/extensions/utils.py

Issue 5723465818570752: Issue 520 - Generate PAD files for download portals when updating download links (Closed)
Left Patch Set: Addressed comments Created May 26, 2014, 12:04 p.m.
Right Patch Set: Addressed comments Created June 4, 2014, 4:35 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « sitescripts/extensions/template/pad.xml ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 # coding: utf-8 1 # coding: utf-8
2 2
3 # This file is part of the Adblock Plus web scripts, 3 # This file is part of the Adblock Plus web scripts,
4 # Copyright (C) 2006-2014 Eyeo GmbH 4 # Copyright (C) 2006-2014 Eyeo GmbH
5 # 5 #
6 # Adblock Plus is free software: you can redistribute it and/or modify 6 # Adblock Plus is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License version 3 as 7 # it under the terms of the GNU General Public License version 3 as
8 # published by the Free Software Foundation. 8 # published by the Free Software Foundation.
9 # 9 #
10 # Adblock Plus is distributed in the hope that it will be useful, 10 # Adblock Plus is distributed in the hope that it will be useful,
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 return result 85 return result
86 return 0 86 return 0
87 87
88 class Configuration(object): 88 class Configuration(object):
89 """ 89 """
90 This class represents the configuration settings for a single repository. 90 This class represents the configuration settings for a single repository.
91 Some of these properties come from the nightly config file and can be 91 Some of these properties come from the nightly config file and can be
92 changed (latestRevision), others come from the global config and are 92 changed (latestRevision), others come from the global config and are
93 read-only (repository, repositoryName, nightliesDirectory). 93 read-only (repository, repositoryName, nightliesDirectory).
94 """ 94 """
95 95 def _defineProperty(name, local=False, type='', default=None):
96 def _defineGlobalProperty(key): 96 def getter(self):
97 """ 97 method = getattr(self.config, 'get' + type)
98 Creates a property corresponding with a key in the config file 98 key = '%s_%s' % (self.repositoryName, name) if local else name
99 """ 99
100 return property(lambda self: self.config.get('extensions', key))
101
102 def _defineLocalProperty(key, default = None):
103 """
104 Creates a property corresponding with a repository-specific key in the con fig file
105 """
106 def getLocalProperty(self):
107 try: 100 try:
108 return self.config.get('extensions', self.repositoryName + '_' + key) 101 return method('extensions', key)
109 except NoOptionError, e: 102 except NoOptionError:
110 if default != None: 103 if default is None:
111 return default 104 raise
112 else: 105 return default
113 raise e 106
114 return property(getLocalProperty) 107 return property(getter)
115 108
116 def _defineNightlyProperty(key): 109 def _defineNightlyProperty(key):
117 """ 110 """
118 Creates a property corresponding with a key in the nightly config file 111 Creates a property corresponding with a key in the nightly config file
119 """ 112 """
120 return property(lambda self: self.nightlyConfig.get(self.repositoryName, key ), 113 return property(lambda self: self.nightlyConfig.get(self.repositoryName, key ),
121 lambda self, value: self.nightlyConfig.set(self.repositoryNa me, key, value)) 114 lambda self, value: self.nightlyConfig.set(self.repositoryNa me, key, value))
122 115
123 config = None 116 config = None
124 nightlyConfig = None 117 nightlyConfig = None
125 repositoryName = None 118 repositoryName = None
126 repository = None 119 repository = None
127 120
128 buildRepository = _defineGlobalProperty('buildRepository') 121 buildRepository = _defineProperty('buildRepository')
129 nightliesDirectory = _defineGlobalProperty('nightliesDirectory') 122 nightliesDirectory = _defineProperty('nightliesDirectory')
130 nightliesURL = _defineGlobalProperty('nightliesURL') 123 nightliesURL = _defineProperty('nightliesURL')
131 downloadsRepo = _defineGlobalProperty('downloadsRepo') 124 downloadsRepo = _defineProperty('downloadsRepo')
132 downloadsURL = _defineGlobalProperty('downloadsURL') 125 downloadsURL = _defineProperty('downloadsURL')
133 docsDirectory = _defineGlobalProperty('docsDirectory') 126 docsDirectory = _defineProperty('docsDirectory')
134 signtool = _defineGlobalProperty('signtool') 127 signtool = _defineProperty('signtool')
135 certname = _defineGlobalProperty('signtool_certname') 128 certname = _defineProperty('signtool_certname')
136 dbdir = _defineGlobalProperty('signtool_dbdir') 129 dbdir = _defineProperty('signtool_dbdir')
137 dbpass = _defineGlobalProperty('signtool_dbpass') 130 dbpass = _defineProperty('signtool_dbpass')
138 padDirectory = _defineGlobalProperty('padDirectory') 131 padDirectory = _defineProperty('padDirectory')
139 padURL = _defineGlobalProperty('padURL') 132 padURL = _defineProperty('padURL')
140 133 padTemplate = _defineProperty('padTemplate')
141 keyFile = _defineLocalProperty('key', '') 134
142 name = _defineLocalProperty('name') 135 keyFile = _defineProperty('key', local=True, default='')
143 galleryID = _defineLocalProperty('galleryID', '') 136 name = _defineProperty('name', local=True)
144 devbuildGalleryID = _defineLocalProperty('devbuildGalleryID', '') 137 galleryID = _defineProperty('galleryID', local=True, default='')
145 downloadPage = _defineLocalProperty('downloadPage', '') 138 devbuildGalleryID = _defineProperty('devbuildGalleryID', local=True, default=' ')
146 experimental = _defineLocalProperty('experimental', '') 139 downloadPage = _defineProperty('downloadPage', local=True, default='')
147 clientID = _defineLocalProperty('clientID', '') 140 experimental = _defineProperty('experimental', local=True, default='')
148 clientSecret = _defineLocalProperty('clientSecret', '') 141 clientID = _defineProperty('clientID', local=True, default='')
149 refreshToken = _defineLocalProperty('refreshToken', '') 142 clientSecret = _defineProperty('clientSecret', local=True, default='')
150 padTemplate = _defineLocalProperty('padTemplate') 143 refreshToken = _defineProperty('refreshToken', local=True, default='')
144 pad = _defineProperty('pad', local=True, type='boolean', default=False)
151 145
152 latestRevision = _defineNightlyProperty('latestRevision') 146 latestRevision = _defineNightlyProperty('latestRevision')
153 147
154 def __init__(self, config, nightlyConfig, repositoryName, repository): 148 def __init__(self, config, nightlyConfig, repositoryName, repository):
155 """ 149 """
156 Creates a new Configuration instance that is bound to a particular 150 Creates a new Configuration instance that is bound to a particular
157 repository. 151 repository.
158 """ 152 """
159 153
160 self.repositoryName = repositoryName 154 self.repositoryName = repositoryName
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 except M2Crypto.X509.X509Error: 249 except M2Crypto.X509.X509Error:
256 raise Exception('No safari developer certificate found in chain') 250 raise Exception('No safari developer certificate found in chain')
257 251
258 subject = cert.get_subject() 252 subject = cert.get_subject()
259 for entry in subject.get_entries_by_nid(subject.nid['CN']): 253 for entry in subject.get_entries_by_nid(subject.nid['CN']):
260 m = re.match(r'Safari Developer: \((.*?)\)', entry.get_data().as_text()) 254 m = re.match(r'Safari Developer: \((.*?)\)', entry.get_data().as_text())
261 if m: 255 if m:
262 return m.group(1) 256 return m.group(1)
263 finally: 257 finally:
264 bio.close() 258 bio.close()
LEFTRIGHT

Powered by Google App Engine
This is Rietveld