Esempio n. 1
0
 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
Esempio n. 2
0
    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)
Esempio n. 3
0
 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;