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

Delta Between Two Patch Sets: cms/sources.py

Issue 29805580: Issue 6728 - Remove Mercurial dependency (Closed)
Left Patch Set: Created June 12, 2018, 10:33 p.m.
Right Patch Set: Address PS4 comment Created July 9, 2018, 6:13 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 | tests/conftest.py » ('j') | 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-present eyeo GmbH 2 # Copyright (C) 2006-present 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 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 return self 228 return self
229 229
230 def __exit__(self, type, value, traceback): 230 def __exit__(self, type, value, traceback):
231 return False 231 return False
232 232
233 def close(self): 233 def close(self):
234 pass 234 pass
235 235
236 @property 236 @property
237 def version(self): 237 def version(self):
238 return randint(1, 10) 238 return randint(1, 2 ** 32)
239 239
240 def get_path(self, filename): 240 def get_path(self, filename):
241 return os.path.join(self._dir, *filename.split('/')) 241 return os.path.join(self._dir, *filename.split('/'))
242 242
243 def has_file(self, filename): 243 def has_file(self, filename):
244 return os.path.isfile(self.get_path(filename)) 244 return os.path.isfile(self.get_path(filename))
245 245
246 def read_file(self, filename, binary=False): 246 def read_file(self, filename, binary=False):
247 path = self.get_path(filename) 247 path = self.get_path(filename)
248 248
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 361
362 362
363 def create_source(path, cached=False, revision=None): 363 def create_source(path, cached=False, revision=None):
364 """Create a source from path and optional revision. 364 """Create a source from path and optional revision.
365 365
366 `cached` flag activates caching. This can be used to optimize performance 366 `cached` flag activates caching. This can be used to optimize performance
367 if no changes are expected on the filesystem after the source was created. 367 if no changes are expected on the filesystem after the source was created.
368 This is usually the case with static generation (as opposed to dynamic 368 This is usually the case with static generation (as opposed to dynamic
369 preview). 369 preview).
370 370
371 If `revision` option is provided, the `path` is assumed to be pointing to a
372 Mercurial repository. In this case the source will return the content of
373 selected revision (using `MercurialSource`) instead of the content of the
374 directory. Note that any local changes will be ignored in this case.
375
376 If `settings.ini` in the source contains `[paths]` section with an 371 If `settings.ini` in the source contains `[paths]` section with an
377 `additional-paths` key that contains the list of additional root folders, 372 `additional-paths` key that contains the list of additional root folders,
378 `MultiSource` will be instantiated and its bases will be the original 373 `MultiSource` will be instantiated and its bases will be the original
379 source plus an additional source for each additional root folder. 374 source plus an additional source for each additional root folder.
380 `MultiSource` looks up files in its base sources in the order they are 375 `MultiSource` looks up files in its base sources in the order they are
381 provided, so the files in the additional folders will only be used if the 376 provided, so the files in the additional folders will only be used if the
382 original source doesn't contain that file. 377 original source doesn't contain that file.
383 """ 378 """
384 source = FileSource(path) 379 source = FileSource(path)
385 380
(...skipping 16 matching lines...) Expand all
402 'resolve_link', 397 'resolve_link',
403 'read_config', 398 'read_config',
404 'read_template', 399 'read_template',
405 'read_locale', 400 'read_locale',
406 'read_include', 401 'read_include',
407 'exec_file', 402 'exec_file',
408 ]: 403 ]:
409 setattr(source, fname, _memoize(getattr(source, fname))) 404 setattr(source, fname, _memoize(getattr(source, fname)))
410 405
411 return source 406 return source
LEFTRIGHT
« no previous file | tests/conftest.py » ('j') | Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Toggle Comments ('s')

Powered by Google App Engine
This is Rietveld