import arrow from .handler import Handler class HandlerEvent(Handler): @classmethod def get_coll(cls, *args, **kwargs): event_date = kwargs.get('event_date') appid = kwargs.get('appid') coll_name = f'event_{event_date}' return cls.g_mdb[appid][coll_name] def handler_event(self): update_data = self._data.get('props', {}) if not update_data: return event_time = update_data.get('_event_time', None) if not event_time: return event_date = arrow.get(event_time) \ .to(Handler.game_config.get('timezone', 'local')) \ .strftime('%Y-%m-%d') update_data.update({ '_ut': self._nt, '_ct': self._nt, }) coll = self.get_coll(appid=self.appid, event_date=event_date) coll.insert(update_data)