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

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

Issue 29364443: Issue 4653 - Add handling for bookmarks to readMetadata (Closed)
Left Patch Set: Created Nov. 25, 2016, 10:56 a.m.
Right Patch Set: Created Nov. 25, 2016, 1:34 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 | « no previous file | 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 # This file is part of the Adblock Plus web scripts, 1 # This file is part of the Adblock Plus web scripts,
2 # Copyright (C) 2006-2016 Eyeo GmbH 2 # Copyright (C) 2006-2016 Eyeo GmbH
3 # 3 #
4 # Adblock Plus is free software: you can redistribute it and/or modify 4 # Adblock Plus is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License version 3 as 5 # it under the terms of the GNU General Public License version 3 as
6 # published by the Free Software Foundation. 6 # published by the Free Software Foundation.
7 # 7 #
8 # Adblock Plus is distributed in the hope that it will be useful, 8 # Adblock Plus is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 176
177 if self.nightlyConfig and not self.nightlyConfig.has_section(self.reposi toryName): 177 if self.nightlyConfig and not self.nightlyConfig.has_section(self.reposi toryName):
178 self.nightlyConfig.add_section(self.repositoryName) 178 self.nightlyConfig.add_section(self.repositoryName)
179 179
180 def __str__(self): 180 def __str__(self):
181 """ 181 """
182 Provides a string representation of this configuration 182 Provides a string representation of this configuration
183 """ 183 """
184 return self.repositoryName 184 return self.repositoryName
185 185
186 def readMetadata(self, version='tip'): 186 def readMetadata(self, version):
187 genericFilename = 'metadata' 187 genericFilename = 'metadata'
188 filename = '%s.%s' % (genericFilename, self.type) 188 filename = '%s.%s' % (genericFilename, self.type)
189 files = subprocess.check_output(['hg', '-R', self.repository, 189 files = subprocess.check_output(['hg', '-R', self.repository,
190 'locate', '-r', version]).splitlines() 190 'locate', '-r', version]).splitlines()
191 191
192 if filename not in files: 192 if filename not in files:
193 # some repositories like those for Android and 193 # some repositories like those for Android and
194 # Internet Explorer don't have metadata files 194 # Internet Explorer don't have metadata files
195 if genericFilename not in files: 195 if genericFilename not in files:
196 return None 196 return None
197 197
198 # Fall back to platform-independent metadata file 198 # Fall back to platform-independent metadata file
199 filename = genericFilename 199 filename = genericFilename
200 200
201 command = ['hg', '-R', self.repository, 'cat', '-r', version, os.path.jo in(self.repository, filename)] 201 command = ['hg', '-R', self.repository, 'cat', '-r', version, os.path.jo in(self.repository, filename)]
202 result = subprocess.check_output(command) 202 result = subprocess.check_output(command)
203 203
204 parser = SafeConfigParser() 204 parser = SafeConfigParser()
205 parser.readfp(StringIO(result)) 205 parser.readfp(StringIO(result))
206 206
207 return parser 207 return parser
208 208
209 def getDownloads(self): 209 def getDownloads(self):
210 metadata = self.readMetadata(self.revision) 210 metadata = self.readMetadata(self.revision)
Sebastian Noack 2016/11/25 13:01:56 I think this logic belongs into readMetadata(), so
Jon Sonesen 2016/11/25 13:05:01 I agree here.
Sebastian Noack 2016/11/25 13:40:29 For reference, we discussed that a little more on
211 if metadata: 211 if metadata:
212 prefix = metadata.get('general', 'basename') 212 prefix = metadata.get('general', 'basename')
213 else: 213 else:
214 prefix = os.path.basename(os.path.normpath(self.repository)) 214 prefix = os.path.basename(os.path.normpath(self.repository))
215 prefix += '-' 215 prefix += '-'
216 216
217 command = ['hg', 'locate', '-R', self.downloadsRepo, '-r', 'default'] 217 command = ['hg', 'locate', '-R', self.downloadsRepo, '-r', 'default']
218 for filename in subprocess.check_output(command).splitlines(): 218 for filename in subprocess.check_output(command).splitlines():
219 if filename.startswith(prefix) and filename.endswith(self.packageSuf fix): 219 if filename.startswith(prefix) and filename.endswith(self.packageSuf fix):
220 yield (filename, filename[len(prefix):len(filename) - len(self.p ackageSuffix)]) 220 yield (filename, filename[len(prefix):len(filename) - len(self.p ackageSuffix)])
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 310
311 def getDownloadLinks(result): 311 def getDownloadLinks(result):
312 """ 312 """
313 gets the download links for all extensions and puts them into the config 313 gets the download links for all extensions and puts them into the config
314 object 314 object
315 """ 315 """
316 for repo in Configuration.getRepositoryConfigurations(): 316 for repo in Configuration.getRepositoryConfigurations():
317 try: 317 try:
318 (downloadURL, version) = _getDownloadLink(repo) 318 (downloadURL, version) = _getDownloadLink(repo)
319 if downloadURL is None: 319 if downloadURL is None:
320 message = 'No download link found for repo: ' + repo 320 raise Exception('No download link found for repo: ' + repo)
Sebastian Noack 2016/11/25 13:01:56 Any reason you don't pass the message directly to
Jon Sonesen 2016/11/25 13:05:01 I had it in an if statement when i was testing it
321 raise Exception(message)
322 except: 321 except:
323 traceback.print_exc() 322 traceback.print_exc()
324 continue 323 continue
325 if not result.has_section(repo.repositoryName): 324 if not result.has_section(repo.repositoryName):
326 result.add_section(repo.repositoryName) 325 result.add_section(repo.repositoryName)
327 result.set(repo.repositoryName, 'downloadURL', downloadURL) 326 result.set(repo.repositoryName, 'downloadURL', downloadURL)
328 result.set(repo.repositoryName, 'version', version) 327 result.set(repo.repositoryName, 'version', version)
329 328
330 qrcode = _getQRCode(downloadURL) 329 qrcode = _getQRCode(downloadURL)
331 if qrcode is not None: 330 if qrcode is not None:
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 if not extensions: 377 if not extensions:
379 return 378 return
380 379
381 updates = {} 380 updates = {}
382 for extension in extensions: 381 for extension in extensions:
383 updates[extension['basename']] = { 382 updates[extension['basename']] = {
384 'url': extension['updateURL'], 383 'url': extension['updateURL'],
385 'version': extension['version'] 384 'version': extension['version']
386 } 385 }
387 writeLibabpUpdateManifest(path, updates) 386 writeLibabpUpdateManifest(path, updates)
LEFTRIGHT
« no previous file | no next file » | Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Toggle Comments ('s')

Powered by Google App Engine
This is Rietveld