def _to_array_of_dicts(data): # check to see if the user has returned a data source, instead of a json data node if not(data.__class__.__name__ in ["json_list", "json_dict", "json_basic"]): data = json_data_node.make(data) headers = data.get("headers").data() data_list = data.get("data").data() def unicode_to_str(string): return str(string) if type(string) == unicode else string headers = map(unicode_to_str, headers) def row_to_dict(row): row = map(unicode_to_str, row) return dict(zip(headers, row)) array_of_dicts = map(row_to_dict, data_list) return json_data_node.make(array_of_dicts)
def search_everything(self, string, amount=10): string = self._oracle_match_format(string) gt = self.model("globaltag") global_tags = self.session.query(gt).filter(or_( gt.name.ilike(string), gt.description.ilike(string), gt.release.ilike(string) )).limit(amount) tag = self.model("tag") tags = self.session.query(tag).filter(or_( tag.name.ilike(string), tag.object_type.ilike(string), tag.description.ilike(string)) ).limit(amount) iov = self.model("iov") iovs = self.session.query(iov).filter(or_( iov.tag_name.ilike(string), iov.since.ilike(string), iov.payload_hash.ilike(string), iov.insertion_time.ilike(string) )).limit(amount) payload = self.model("payload") payloads = self.session.query(payload).filter(or_( payload.hash.ilike(string), payload.object_type.ilike(string), payload.insertion_time.ilike(string) )).limit(amount) return json_data_node.make({ "global_tags" : global_tags.all(), "tags" : tags.all(), "iovs" : iovs.all(), "payloads" : payloads.all() })
def new_script(self, connection): try: data = script(self, connection) array_of_dicts = _to_array_of_dicts(data) return json_data_node.make(array_of_dicts) except (KeyError, TypeError) as e: exit("The data you gave wasn't in the correct format: %s" % str(e))
def search_everything(self, string, amount=10): string = self._oracle_match_format(string) gt = self.model("globaltag") global_tags = self.session.query(gt).filter( or_(gt.name.ilike(string), gt.description.ilike(string), gt.release.ilike(string))).limit(amount) tag = self.model("tag") tags = self.session.query(tag).filter( or_(tag.name.ilike(string), tag.object_type.ilike(string), tag.description.ilike(string))).limit(amount) iov = self.model("iov") iovs = self.session.query(iov).filter( or_(iov.tag_name.ilike(string), iov.since.ilike(string), iov.payload_hash.ilike(string), iov.insertion_time.ilike(string))).limit(amount) payload = self.model("payload") payloads = self.session.query(payload).filter( or_(payload.hash.ilike(string), payload.object_type.ilike(string), payload.insertion_time.ilike(string))).limit(amount) return json_data_node.make({ "global_tags": global_tags.all(), "tags": tags.all(), "iovs": iovs.all(), "payloads": payloads.all() })
def _to_datatables(data): headers = map(str, data.get(0).data().keys()) new_data = [] for n in range(0, len(data.data())): new_data.append( map(lambda entry: str(entry) if type(entry) == unicode else entry, data.get(n).data().values())) return json_data_node.make({"headers": headers, "data": new_data})
def _to_datatables(data): headers = map(str, data.get(0).data().keys()) new_data = [] for n in range(0, len(data.data())): new_data.append(map(lambda entry : str(entry) if type(entry) == unicode else entry, data.get(n).data().values())) return json_data_node.make({ "headers" : headers, "data" : new_data })
def _to_array_of_dicts(data): # check to see if the user has returned a data source, instead of a json data node if not (data.__class__.__name__ in ["json_list", "json_dict", "json_basic"]): data = json_data_node.make(data) headers = data.get("headers").data() data_list = data.get("data").data() def unicode_to_str(string): return str(string) if isinstance(string, unicode) else string headers = map(unicode_to_str, headers) def row_to_dict(row): row = map(unicode_to_str, row) return dict(zip(headers, row)) array_of_dicts = map(row_to_dict, data_list) return json_data_node.make(array_of_dicts)
def _objects_to_dicts(data): if data.__class__.__name__ in ["json_list", "json_dict", "json_basic"]: data = data.data() new_data = [data[n].as_dicts() for n in range(0, len(data))] return json_data_node.make(new_data)