MCPcopy Index your code
hub / github.com/python/cpython / render_table

Function render_table

Tools/c-analyzer/cpython/_capi.py:482–570  ·  view source on GitHub ↗
(items, *,
                 columns=None,
                 groupby='kind',
                 sort=True,
                 showempty=False,
                 verbose=False,
                 )

Source from the content-addressed store, hash-verified

480
481
482def render_table(items, *,
483 columns=None,
484 groupby='kind',
485 sort=True,
486 showempty=False,
487 verbose=False,
488 ):
489 if groupby is None:
490 groupby = 'kind'
491 if showempty is None:
492 showempty = False
493
494 if groupby:
495 (collated, groupby, maxfilename, maxname, maxextra,
496 ) = _collate(items, groupby, showempty)
497 for grouping in GROUPINGS:
498 maxextra[grouping] = max(len(g) for g in GROUPINGS[grouping])
499
500 _, extra = _resolve_full_groupby(groupby)
501 extras = [extra]
502 markers = {extra: _MARKERS[extra]}
503
504 groups = GROUPINGS[groupby]
505 else:
506 # XXX Support no grouping?
507 raise NotImplementedError
508
509 if columns:
510 def get_extra(item):
511 return {extra: getattr(item, extra)
512 for extra in ('kind', 'level')}
513 else:
514 if verbose:
515 extracols = [f'{extra}:{maxextra[extra]}'
516 for extra in extras]
517 def get_extra(item):
518 return {extra: getattr(item, extra)
519 for extra in extras}
520 elif len(extras) == 1:
521 extra, = extras
522 extracols = [f'{m}:1' for m in markers[extra]]
523 def get_extra(item):
524 return {m: m if getattr(item, extra) == markers[extra][m] else ''
525 for m in markers[extra]}
526 else:
527 raise NotImplementedError
528 #extracols = [[f'{m}:1' for m in markers[extra]]
529 # for extra in extras]
530 #def get_extra(item):
531 # values = {}
532 # for extra in extras:
533 # cur = markers[extra]
534 # for m in cur:
535 # values[m] = m if getattr(item, m) == cur[m] else ''
536 # return values
537 columns = [
538 f'filename:{maxfilename}',
539 f'name:{maxname}',

Callers 1

renderFunction · 0.70

Calls 7

build_tableFunction · 0.90
_collateFunction · 0.85
_resolve_full_groupbyFunction · 0.85
_get_sortkeyFunction · 0.85
get_extraFunction · 0.85
itemsMethod · 0.45
formatMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…