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

Method execute

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

Source from the content-addressed store, hash-verified

1287 return dump_report_data(table, headers, title=title, fmt=fmt, filename=out)
1288
1289 def execute(self, params, **kwargs):
1290 verbose = kwargs.get('verbose') is True
1291 show_team_users = kwargs.get('show_team_users') is True
1292 if show_team_users:
1293 verbose = True
1294 output_format = kwargs.get('format', 'table')
1295 user_filter = set()
1296 record_filter = set()
1297
1298 if kwargs.get('folders'):
1299 report = ShareReportCommand.sf_report(
1300 params,
1301 out=kwargs.get('output'),
1302 fmt=kwargs.get('format'),
1303 show_team_users=show_team_users
1304 )
1305 return report
1306
1307 containers = kwargs.get('container') or []
1308 containers = [get_folder_uids(params, container) for container in containers]
1309 containers = [uid for uids in containers for uid in uids]
1310 containers = [uid for uid in containers if uid]
1311 recs_by_containers = {k: v for c in containers for k, v in get_contained_record_uids(params, c, False).items()}
1312 contained_records = {r for k, recs in recs_by_containers.items() for r in recs}
1313
1314 if kwargs.get('record'):
1315 records = kwargs.get('record') or []
1316 for r in records:
1317 if r in params.record_cache:
1318 record_filter.add(r)
1319 else:
1320 r_uid = None
1321 rs = try_resolve_path(params, r)
1322 if rs is not None:
1323 sf, name = rs
1324 if name:
1325 shared_folder_uid = sf.uid or ''
1326 if shared_folder_uid in params.subfolder_record_cache:
1327 for uid in params.subfolder_record_cache[shared_folder_uid]:
1328 rec = api.get_record(params, uid)
1329 if name in {rec.title, rec.record_uid}:
1330 r_uid = rec.record_uid
1331 break
1332 if r_uid:
1333 record_filter.add(r_uid)
1334 else:
1335 raise CommandError('share-report', '\'{0}\' is not an existing record title or UID'.format(r))
1336
1337 record_uids = {x for x in record_filter}
1338 elif kwargs.get('user'):
1339 for u in kwargs['user']:
1340 user_filter.add(u)
1341
1342 record_uids = {x['record_uid'] for x in params.record_cache.values() if x['shared']}
1343 else:
1344 record_uids = {x['record_uid'] for x in params.record_cache.values() if x['shared']}
1345
1346 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