def take_action(self, parsed_args): parsed_args = SystemsFormatMany.preprocess_args(self, parsed_args) self.requests_client.setup(API_NAME, SERVICE_VERSION) self.update_payload(parsed_args) # Map properties set in parsed_args to a query payload for search filters = list() for sarg_name, sarg in self.search_args.items(): # raise SystemError(sarg.destination) parsed_args_val = getattr(parsed_args, sarg.destination, None) if parsed_args_val: filt = sarg.get_param(parsed_args_val) filters.append(filt) for f in filters: k = list(f.keys())[0] v = f[k] self.post_payload[k] = v headers = SearchableCommand.render_headers(self, System, parsed_args) results = self.requests_client.get_data(params=self.post_payload) records = [] for rec in results: record = [] for key in headers: val = self.render_value(rec.get(key, None)) record.append(val) records.append(record) return (tuple(headers), tuple(records))
def take_action(self, parsed_args): parsed_args = MetadataFormatMany.preprocess_args(self, parsed_args) self.requests_client.setup(API_NAME, SERVICE_VERSION, 'data') self.update_payload(parsed_args) # Map properties set in parsed_args to a payload for the 'q' param # Note that this is different from how we usually construct the # parameters payload! filters = list() mongoql_els = dict() for sarg_name, sarg in self.search_args.items(): # raise SystemError(sarg.destination) parsed_args_val = getattr(parsed_args, sarg.destination, None) if parsed_args_val: filt = sarg.get_param(parsed_args_val) filters.append(filt) for f in filters: k = list(f.keys())[0] v = f[k] mongoql_els[k] = v self.post_payload['q'] = json.dumps(mongoql_els) # print(self.post_payload['q']) headers = SearchableCommand.render_headers(self, Metadata, parsed_args) results = self.requests_client.get_data(params=self.post_payload) records = [] for rec in results: record = [] for key in headers: val = self.render_value(rec.get(key, None)) record.append(val) records.append(record) return (tuple(headers), tuple(records))
def take_action(self, parsed_args): parsed_args = SystemsFormatOne.preprocess_args(self, parsed_args) self.requests_client.setup(API_NAME, SERVICE_VERSION) self.update_payload(parsed_args) headers = SearchableCommand.render_headers(self, System, parsed_args) rec = self.tapis_client.systems.get(systemId=parsed_args.identifier) data = [] for key in headers: val = self.render_value(rec.get(key, None)) data.append(val) return (tuple(headers), tuple(data))