def call(self, method, data=None, **kwargs): """calls the logic tier""" response = logic.call(method, self, data or self._data, **kwargs) to_date = datetime.datetime.fromtimestamp _values = { '$oid': lambda v: v['$oid'], # '$date': lambda v: to_date(v['$date']), #TODO: fix to_date '$date': lambda v: v['$date'] } _keys, identity = {'_id': 'id'}, lambda x: x _get_key = lambda v: list(v.keys())[0] _process = lambda v: _values.get(_get_key(v), identity)(v) \ if isinstance(v, dict) else v _process_dict = lambda response: { _keys.get(k, k): _process(v) for k, v in response.items()} if isinstance(response, list): data = [] for item in response: item = _process_dict(item) if isinstance(item, dict) else item data.append(item) elif isinstance(response, dict): data = _process_dict(response) self.load(**data) else: data = response self._response = response self._response_data = data logger.info(data) return data
def check_client_connection(self): n_of_players = self.count_players_callback() logger.info(f"number of players connected: {n_of_players}") if n_of_players == 2: self.root.destroy() else: self.root.after(2000, self.check_client_connection)
def request(self, method, uri, data, access_token=None): """Makes request with specified method, data, and optional access token""" data = data or {} if access_token: data['access_token'] = access_token self.response = getattr(requests, method)(uri, params=data) json = self.response.json() logger.info(self.response.url) logger.debug(json) if json['status'] != 200: raise LogicException('%s\n- - "%s %s" %d -' % ( json['message'], method.upper(), self.response.url, json['status'])) return json['data']
def connect_votable(self, parsed_table): from client.inst_builder.table_mapper import TableMapper self.parsed_table = parsed_table ack = None acv = None for k in self.json_join_content.keys(): if k.startswith("@") is False: ack = k acv = self.json_join_content[k] break logger.info("Build table_mapper for data joint with table %s", self.foreign_table) self.table_mapper = TableMapper( self.foreign_table, None, parsed_table=self.parsed_table, json_inst_dict={ "MODEL_INSTANCE": { "MODELS":{}, "GLOBALS":{}, "TABLE_MAPPING": { self.foreign_table: { "@tableref": self.foreign_table, "root": [ { "TABLE_ROW_TEMPLATE": { "FILTER": { "@ref": self.foreign_key, "@value": -1 }, ack: acv }, } ] } } } } ) self.table_mapper.resolve_refs_and_values(resolve_refs=False) self.table_mapper.map_columns() for _, table_iterator in self.table_mapper.table_iterators.items(): self.row_filter = table_iterator.row_filter break;