def _get_loguserdata(self): model_mgr = ModelRequestMgr() gachamasteridlist = [557, 558, 559] # ステップガチャ 5,6,7 gachamasters = model_mgr.get_models(GachaMaster, gachamasteridlist, using=settings.DB_READONLY) continuitydict = {master.id:master.continuity for master in gachamasters} loguserdata = {} # the error occured between 2017-02-09 16:00:00 and 2017-02-10 14:00:00 # therefore we filter the User Log using this parameters filters = dict(ctime__gte=DateTimeUtil.strToDateTime('2017-02-09 16:00:00', '%Y-%m-%d %H:%M:%S'), ctime__lte=DateTimeUtil.strToDateTime('2017-02-10 14:00:00', '%Y-%m-%d %H:%M:%S')) tmpdict = {continuity:defaultdict(int) for continuity in continuitydict.values()} for model in UserLogGacha.fetchValues(filters=filters): uid, ctime, logdata = model.uid, model.ctime, model.data continuity = logdata.get('continuity') if continuity in continuitydict.values(): tmpdict[continuity][uid] += 1 """ ID's form PrizeMaster 611045 => 5STEP目は「琥珀のかんざし」 611044 => 6STEP目は「花魁のかんざし」 400401 => 7STEP目は「ティアラ」 """ loguserdata[611045] = tmpdict.pop(8) loguserdata[611044] = tmpdict.pop(11) loguserdata[400401] = tmpdict.pop(19) return loguserdata
def send_prize(self, csv_dir, csv_name, prize_ids): print '================================' print csv_name print '================================' file_path = os.path.join(csv_dir, csv_name + ".csv") model_mgr = ModelRequestMgr() prizelist = model_mgr.get_models(PrizeMaster, prize_ids, using=backup_db) self.send_prize_from_csv(file_path, prizelist, TEXTID, "send_prize_" + csv_name)