Mercurial > hg
comparison mercurial/registrar.py @ 43076:2372284d9457
formatting: blacken the codebase
This is using my patch to black
(https://github.com/psf/black/pull/826) so we don't un-wrap collection
literals.
Done with:
hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**"' | xargs black -S
# skip-blame mass-reformatting only
# no-check-commit reformats foo_bar functions
Differential Revision: https://phab.mercurial-scm.org/D6971
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 06 Oct 2019 09:45:02 -0400 |
parents | 83666f011679 |
children | 687b865b95ad |
comparison
equal
deleted
inserted
replaced
43075:57875cf423c9 | 43076:2372284d9457 |
---|---|
19 # | 19 # |
20 # We still add the official API to the registrar module for consistency with | 20 # We still add the official API to the registrar module for consistency with |
21 # the other items extensions want might to register. | 21 # the other items extensions want might to register. |
22 configitem = configitems.getitemregister | 22 configitem = configitems.getitemregister |
23 | 23 |
24 | |
24 class _funcregistrarbase(object): | 25 class _funcregistrarbase(object): |
25 """Base of decorator to register a function for specific purpose | 26 """Base of decorator to register a function for specific purpose |
26 | 27 |
27 This decorator stores decorated functions into own dict 'table'. | 28 This decorator stores decorated functions into own dict 'table'. |
28 | 29 |
45 In this case: | 46 In this case: |
46 | 47 |
47 - 'barfunc' is stored as 'bar' in '_table' of an instance 'keyword' above | 48 - 'barfunc' is stored as 'bar' in '_table' of an instance 'keyword' above |
48 - 'barfunc.__doc__' becomes ":bar: Explanation of bar keyword" | 49 - 'barfunc.__doc__' becomes ":bar: Explanation of bar keyword" |
49 """ | 50 """ |
51 | |
50 def __init__(self, table=None): | 52 def __init__(self, table=None): |
51 if table is None: | 53 if table is None: |
52 self._table = {} | 54 self._table = {} |
53 else: | 55 else: |
54 self._table = table | 56 self._table = table |
119 return self._docformat % (decl, doc) | 121 return self._docformat % (decl, doc) |
120 | 122 |
121 def _extrasetup(self, name, func): | 123 def _extrasetup(self, name, func): |
122 """Execute exra setup for registered function, if needed | 124 """Execute exra setup for registered function, if needed |
123 """ | 125 """ |
126 | |
124 | 127 |
125 class command(_funcregistrarbase): | 128 class command(_funcregistrarbase): |
126 """Decorator to register a command function to table | 129 """Decorator to register a command function to table |
127 | 130 |
128 This class receives a command table as its argument. The table should | 131 This class receives a command table as its argument. The table should |
196 CATEGORY_REMOTE_REPO_MANAGEMENT = 'remote' | 199 CATEGORY_REMOTE_REPO_MANAGEMENT = 'remote' |
197 CATEGORY_COMMITTING = 'commit' | 200 CATEGORY_COMMITTING = 'commit' |
198 CATEGORY_CHANGE_MANAGEMENT = 'management' | 201 CATEGORY_CHANGE_MANAGEMENT = 'management' |
199 CATEGORY_CHANGE_ORGANIZATION = 'organization' | 202 CATEGORY_CHANGE_ORGANIZATION = 'organization' |
200 CATEGORY_FILE_CONTENTS = 'files' | 203 CATEGORY_FILE_CONTENTS = 'files' |
201 CATEGORY_CHANGE_NAVIGATION = 'navigation' | 204 CATEGORY_CHANGE_NAVIGATION = 'navigation' |
202 CATEGORY_WORKING_DIRECTORY = 'wdir' | 205 CATEGORY_WORKING_DIRECTORY = 'wdir' |
203 CATEGORY_IMPORT_EXPORT = 'import' | 206 CATEGORY_IMPORT_EXPORT = 'import' |
204 CATEGORY_MAINTENANCE = 'maintenance' | 207 CATEGORY_MAINTENANCE = 'maintenance' |
205 CATEGORY_HELP = 'help' | 208 CATEGORY_HELP = 'help' |
206 CATEGORY_MISC = 'misc' | 209 CATEGORY_MISC = 'misc' |
207 CATEGORY_NONE = 'none' | 210 CATEGORY_NONE = 'none' |
208 | 211 |
209 def _doregister(self, func, name, options=(), synopsis=None, | 212 def _doregister( |
210 norepo=False, optionalrepo=False, inferrepo=False, | 213 self, |
211 intents=None, helpcategory=None, helpbasic=False): | 214 func, |
215 name, | |
216 options=(), | |
217 synopsis=None, | |
218 norepo=False, | |
219 optionalrepo=False, | |
220 inferrepo=False, | |
221 intents=None, | |
222 helpcategory=None, | |
223 helpbasic=False, | |
224 ): | |
212 func.norepo = norepo | 225 func.norepo = norepo |
213 func.optionalrepo = optionalrepo | 226 func.optionalrepo = optionalrepo |
214 func.inferrepo = inferrepo | 227 func.inferrepo = inferrepo |
215 func.intents = intents or set() | 228 func.intents = intents or set() |
216 func.helpcategory = helpcategory | 229 func.helpcategory = helpcategory |
219 self._table[name] = func, list(options), synopsis | 232 self._table[name] = func, list(options), synopsis |
220 else: | 233 else: |
221 self._table[name] = func, list(options) | 234 self._table[name] = func, list(options) |
222 return func | 235 return func |
223 | 236 |
237 | |
224 INTENT_READONLY = b'readonly' | 238 INTENT_READONLY = b'readonly' |
239 | |
225 | 240 |
226 class revsetpredicate(_funcregistrarbase): | 241 class revsetpredicate(_funcregistrarbase): |
227 """Decorator to register revset predicate | 242 """Decorator to register revset predicate |
228 | 243 |
229 Usage:: | 244 Usage:: |
261 extension, if an instance named as 'revsetpredicate' is used for | 276 extension, if an instance named as 'revsetpredicate' is used for |
262 decorating in extension. | 277 decorating in extension. |
263 | 278 |
264 Otherwise, explicit 'revset.loadpredicate()' is needed. | 279 Otherwise, explicit 'revset.loadpredicate()' is needed. |
265 """ | 280 """ |
281 | |
266 _getname = _funcregistrarbase._parsefuncdecl | 282 _getname = _funcregistrarbase._parsefuncdecl |
267 _docformat = "``%s``\n %s" | 283 _docformat = "``%s``\n %s" |
268 | 284 |
269 def _extrasetup(self, name, func, safe=False, takeorder=False, weight=1): | 285 def _extrasetup(self, name, func, safe=False, takeorder=False, weight=1): |
270 func._safe = safe | 286 func._safe = safe |
271 func._takeorder = takeorder | 287 func._takeorder = takeorder |
272 func._weight = weight | 288 func._weight = weight |
289 | |
273 | 290 |
274 class filesetpredicate(_funcregistrarbase): | 291 class filesetpredicate(_funcregistrarbase): |
275 """Decorator to register fileset predicate | 292 """Decorator to register fileset predicate |
276 | 293 |
277 Usage:: | 294 Usage:: |
310 extension, if an instance named as 'filesetpredicate' is used for | 327 extension, if an instance named as 'filesetpredicate' is used for |
311 decorating in extension. | 328 decorating in extension. |
312 | 329 |
313 Otherwise, explicit 'fileset.loadpredicate()' is needed. | 330 Otherwise, explicit 'fileset.loadpredicate()' is needed. |
314 """ | 331 """ |
332 | |
315 _getname = _funcregistrarbase._parsefuncdecl | 333 _getname = _funcregistrarbase._parsefuncdecl |
316 _docformat = "``%s``\n %s" | 334 _docformat = "``%s``\n %s" |
317 | 335 |
318 def _extrasetup(self, name, func, callstatus=False, weight=1): | 336 def _extrasetup(self, name, func, callstatus=False, weight=1): |
319 func._callstatus = callstatus | 337 func._callstatus = callstatus |
320 func._weight = weight | 338 func._weight = weight |
321 | 339 |
340 | |
322 class _templateregistrarbase(_funcregistrarbase): | 341 class _templateregistrarbase(_funcregistrarbase): |
323 """Base of decorator to register functions as template specific one | 342 """Base of decorator to register functions as template specific one |
324 """ | 343 """ |
344 | |
325 _docformat = ":%s: %s" | 345 _docformat = ":%s: %s" |
346 | |
326 | 347 |
327 class templatekeyword(_templateregistrarbase): | 348 class templatekeyword(_templateregistrarbase): |
328 """Decorator to register template keyword | 349 """Decorator to register template keyword |
329 | 350 |
330 Usage:: | 351 Usage:: |
354 """ | 375 """ |
355 | 376 |
356 def _extrasetup(self, name, func, requires=()): | 377 def _extrasetup(self, name, func, requires=()): |
357 func._requires = requires | 378 func._requires = requires |
358 | 379 |
380 | |
359 class templatefilter(_templateregistrarbase): | 381 class templatefilter(_templateregistrarbase): |
360 """Decorator to register template filer | 382 """Decorator to register template filer |
361 | 383 |
362 Usage:: | 384 Usage:: |
363 | 385 |
384 Otherwise, explicit 'templatefilters.loadkeyword()' is needed. | 406 Otherwise, explicit 'templatefilters.loadkeyword()' is needed. |
385 """ | 407 """ |
386 | 408 |
387 def _extrasetup(self, name, func, intype=None): | 409 def _extrasetup(self, name, func, intype=None): |
388 func._intype = intype | 410 func._intype = intype |
411 | |
389 | 412 |
390 class templatefunc(_templateregistrarbase): | 413 class templatefunc(_templateregistrarbase): |
391 """Decorator to register template function | 414 """Decorator to register template function |
392 | 415 |
393 Usage:: | 416 Usage:: |
417 extension, if an instance named as 'templatefunc' is used for | 440 extension, if an instance named as 'templatefunc' is used for |
418 decorating in extension. | 441 decorating in extension. |
419 | 442 |
420 Otherwise, explicit 'templatefuncs.loadfunction()' is needed. | 443 Otherwise, explicit 'templatefuncs.loadfunction()' is needed. |
421 """ | 444 """ |
445 | |
422 _getname = _funcregistrarbase._parsefuncdecl | 446 _getname = _funcregistrarbase._parsefuncdecl |
423 | 447 |
424 def _extrasetup(self, name, func, argspec=None, requires=()): | 448 def _extrasetup(self, name, func, argspec=None, requires=()): |
425 func._argspec = argspec | 449 func._argspec = argspec |
426 func._requires = requires | 450 func._requires = requires |
451 | |
427 | 452 |
428 class internalmerge(_funcregistrarbase): | 453 class internalmerge(_funcregistrarbase): |
429 """Decorator to register in-process merge tool | 454 """Decorator to register in-process merge tool |
430 | 455 |
431 Usage:: | 456 Usage:: |
478 extension, if an instance named as 'internalmerge' is used for | 503 extension, if an instance named as 'internalmerge' is used for |
479 decorating in extension. | 504 decorating in extension. |
480 | 505 |
481 Otherwise, explicit 'filemerge.loadinternalmerge()' is needed. | 506 Otherwise, explicit 'filemerge.loadinternalmerge()' is needed. |
482 """ | 507 """ |
508 | |
483 _docformat = "``:%s``\n %s" | 509 _docformat = "``:%s``\n %s" |
484 | 510 |
485 # merge type definitions: | 511 # merge type definitions: |
486 nomerge = None | 512 nomerge = None |
487 mergeonly = 'mergeonly' # just the full merge, no premerge | 513 mergeonly = 'mergeonly' # just the full merge, no premerge |
488 fullmerge = 'fullmerge' # both premerge and merge | 514 fullmerge = 'fullmerge' # both premerge and merge |
489 | 515 |
490 def _extrasetup(self, name, func, mergetype, | 516 def _extrasetup( |
491 onfailure=None, precheck=None, | 517 self, |
492 binary=False, symlink=False): | 518 name, |
519 func, | |
520 mergetype, | |
521 onfailure=None, | |
522 precheck=None, | |
523 binary=False, | |
524 symlink=False, | |
525 ): | |
493 func.mergetype = mergetype | 526 func.mergetype = mergetype |
494 func.onfailure = onfailure | 527 func.onfailure = onfailure |
495 func.precheck = precheck | 528 func.precheck = precheck |
496 | 529 |
497 binarycap = binary or mergetype == self.nomerge | 530 binarycap = binary or mergetype == self.nomerge |