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

Method execute

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

Source from the content-addressed store, hash-verified

1594 return dump_report_data(table, headers, title=title, fmt=fmt, filename=out)
1595
1596 def execute(self, params, **kwargs):
1597 verbose = kwargs.get('verbose') is True
1598 show_team_users = kwargs.get('show_team_users') is True
1599 if show_team_users:
1600 verbose = True
1601 output_format = kwargs.get('format', 'table')
1602 user_filter = set()
1603 record_filter = set()
1604
1605 if kwargs.get('folders'):
1606 report = ShareReportCommand.sf_report(
1607 params,
1608 out=kwargs.get('output'),
1609 fmt=kwargs.get('format'),
1610 show_team_users=show_team_users
1611 )
1612 return report
1613
1614 containers = kwargs.get('container') or []
1615 containers = [get_folder_uids(params, container) for container in containers]
1616 containers = [uid for uids in containers for uid in uids]
1617 containers = [uid for uid in containers if uid]
1618 recs_by_containers = {k: v for c in containers for k, v in get_contained_record_uids(params, c, False).items()}
1619 contained_records = {r for k, recs in recs_by_containers.items() for r in recs}
1620
1621 if kwargs.get('record'):
1622 records = kwargs.get('record') or []
1623 for r in records:
1624 if r in params.record_cache:
1625 record_filter.add(r)
1626 else:
1627 r_uid = None
1628 rs = try_resolve_path(params, r)
1629 if rs is not None:
1630 sf, name = rs
1631 if name:
1632 shared_folder_uid = sf.uid or ''
1633 if shared_folder_uid in params.subfolder_record_cache:
1634 for uid in params.subfolder_record_cache[shared_folder_uid]:
1635 rec = api.get_record(params, uid)
1636 if name in {rec.title, rec.record_uid}:
1637 r_uid = rec.record_uid
1638 break
1639 if r_uid:
1640 record_filter.add(r_uid)
1641 else:
1642 raise CommandError('share-report', '\'{0}\' is not an existing record title or UID'.format(r))
1643
1644 record_uids = {x for x in record_filter}
1645 elif kwargs.get('user'):
1646 for u in kwargs['user']:
1647 user_filter.add(u)
1648
1649 record_uids = {x['record_uid'] for x in params.record_cache.values() if x['shared']}
1650 else:
1651 record_uids = {x['record_uid'] for x in params.record_cache.values() if x['shared']}
1652
1653 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