MCPcopy Create free account
hub / github.com/Keeper-Security/Commander / execute

Method execute

keepercommander/commands/register.py:1502–1692  ·  view source on GitHub ↗
(self, params, **kwargs)

Source from the content-addressed store, hash-verified

1500 return dump_report_data(table, headers, title=title, fmt=fmt, filename=out)
1501
1502 def execute(self, params, **kwargs):
1503 verbose = kwargs.get('verbose') is True
1504 show_team_users = kwargs.get('show_team_users') is True
1505 if show_team_users:
1506 verbose = True
1507 output_format = kwargs.get('format', 'table')
1508 user_filter = set()
1509 record_filter = set()
1510
1511 if kwargs.get('folders'):
1512 report = ShareReportCommand.sf_report(
1513 params,
1514 out=kwargs.get('output'),
1515 fmt=kwargs.get('format'),
1516 show_team_users=show_team_users
1517 )
1518 return report
1519
1520 containers = kwargs.get('container') or []
1521 containers = [get_folder_uids(params, container) for container in containers]
1522 containers = [uid for uids in containers for uid in uids]
1523 containers = [uid for uid in containers if uid]
1524 recs_by_containers = {k: v for c in containers for k, v in get_contained_record_uids(params, c, False).items()}
1525 contained_records = {r for k, recs in recs_by_containers.items() for r in recs}
1526
1527 if kwargs.get('record'):
1528 records = kwargs.get('record') or []
1529 for r in records:
1530 if r in params.record_cache:
1531 record_filter.add(r)
1532 else:
1533 r_uid = None
1534 rs = try_resolve_path(params, r)
1535 if rs is not None:
1536 sf, name = rs
1537 if name:
1538 shared_folder_uid = sf.uid or ''
1539 if shared_folder_uid in params.subfolder_record_cache:
1540 for uid in params.subfolder_record_cache[shared_folder_uid]:
1541 rec = api.get_record(params, uid)
1542 if name in {rec.title, rec.record_uid}:
1543 r_uid = rec.record_uid
1544 break
1545 if r_uid:
1546 record_filter.add(r_uid)
1547 else:
1548 raise CommandError('share-report', '\'{0}\' is not an existing record title or UID'.format(r))
1549
1550 record_uids = {x for x in record_filter}
1551 elif kwargs.get('user'):
1552 for u in kwargs['user']:
1553 user_filter.add(u)
1554
1555 record_uids = {x['record_uid'] for x in params.record_cache.values() if x['shared']}
1556 else:
1557 record_uids = {x['record_uid'] for x in params.record_cache.values() if x['shared']}
1558
1559 record_uids = record_uids.intersection(contained_records) if contained_records else record_uids

Calls 15

get_date_for_shareMethod · 0.95
get_record_share_dateMethod · 0.95
get_folder_uidsFunction · 0.85
try_resolve_pathFunction · 0.85
get_shared_recordsFunction · 0.85
get_record_sharesFunction · 0.85
field_to_titleFunction · 0.85
dump_report_dataFunction · 0.85