diff --git a/myops/csv/1004_button_name.csv b/myops/csv/1004_button_name.csv index 8734c79..fcc1bb7 100644 --- a/myops/csv/1004_button_name.csv +++ b/myops/csv/1004_button_name.csv @@ -51,3 +51,4 @@ stageover#3,通过关卡3 stageover#4,通过关卡4 stageover#5,通过关卡5 stageover#6,通过关卡6 +cakehousebtn#guide,蛋糕房点击次数 diff --git a/myops/csv/2001_b_n.csv b/myops/csv/2001_b_n.csv index 9ce43af..52d8659 100644 --- a/myops/csv/2001_b_n.csv +++ b/myops/csv/2001_b_n.csv @@ -1,24 +1,131 @@ b_n,b_n_china -wx5183864ab7af5343,火柴人挑战 -wxa279240fe15684bf,火柴人探险寻宝 -wx4553770d33651fff,蜗牛探险之旅 -wx411387cf980c03a4,植物斗僵尸 -wxf1439517533e8128,恐龙酷跑 -wx5c5ee0062bbe0f34,王者雪球推手 -wxb67f20e031a667b7,我要当国王 -wx734ec00e1e490bb5,猜字高手 -wx9c910aaee370b95d,疯狂滑板 -wx687b277ddffe3eaf,枪神计划 -wx0f396fa5d17034f7,超级求生 -wx06ce93cb02162dc1,完美救援 -wxbb0b00982cbd1b4f,蛋蛋环游世界 wx7d84fae7fe8796d7,超神坦克 -wx9a09ef090c2eb911,锤子小英雄 -wxcc0126aec244ce23,冲鸭彩虹屁 -wx863a58ff6a6ef427,疯狂撸玉米 -wx40231b004aa2d01e,模拟停车 -wx93c5fb7591fe1aa3,火柴人弓箭手 -wxcd778c740cb72626,极速摩托车 -wx157a805b5675ccbb,枪火射击 -wx9626878ba22b417b,穿越大冒险 -wx81128cd788129605,完美切菜 +wx1dd2f605f4f8496b,求生之岛 +wxfa6da31c8efa6526,热血装甲 +wx327f44630205dcd2,极乐大逃亡 +wx7d6716d538596fa8,精英枪王突袭大战 +wx5c55ab8c331eeb76,鳄鱼小逃杀 +wxd658fb14078317af,俯视坦克 +wx7e477939c46cc123,贪吃的蛇王 +wxc9f314021cd7f7c5,倾城一剑 +wx4f135f82a53ec628,我求生欲超强 +wx63a09fd508cacaa9,汽车人变形 +wx5e7ab8e994bcd8c3,放开那曹操 +wx5732e1e2fa23d9c3,英雄的战争 +wxf72548cd96f894e0,恐龙大乱斗 +wx901c464aba7e7540,熊猫突突突 +wx8855cf90b4d7ebb0,封神策 +wx7fbe017255a36844,全民坦克世界 +wxa8622b40daf299a7,爆笑虫仔 +wx2b06a5cf61c2ed9f,攻城总动员 +wxd0e8c6dfbf3f1aa0,三国霸王录 +wxf607dba4f864ef5a,爆破先生 +wx5b118d0419ca7058,超级火枪手 +wx0d12087fc360da80,富甲萌国 +wxb571cb8c9632810a,家园守卫 +wx6482547927fc08ad,梦想封神 +wx55965328effd38c1,英雄杀 +wx71156a49536c176e,300大作战 +wxce28fe35f64315d9,天剑诀 +wxdb35ed6c131bc206,不思议地下城 +wx52966cd958bcd65b,超级精灵球 +wx9c448202dfbeb1e2,机器人枪战 +wx5c432aeea071d773,烈火封神游戏 +wx8703ca93e029aeab,命运战歌 +wxf77abae3d7f8964c,西游梦幻 +wx6eaedecada6eb7a7,逍遥修真 +wxfaf065c195f4b045,小小王者大乱斗 +wx04c3d1aa8bb7bc1a,三国大领主 +wx3f9e2265d628b8d6,萌将三国 +wxe3053c0f1b24e473,三国群将传 +wxa79e477227d5e664,滑稽部落 +wxed1f078c4628585d,阿拉德枪神 +wx13daf3d978100b94,亿万疆尸 +wx4adb0ca56d90cf63,飞虎突击队 +wx75a03576951c34be,剑侠传奇 +wx8f02cacbb2e3eb18,狙击小子 +wxa42b4766280c1d5d,出击吧精灵 +wx27c8f9e5cac659c9,蓝月战将 +wxbd274cfa97804168,灵宠三国 +wx8c7e46d90d5eb662,咱家有矿 +wx7e12857c5e8512e5,神龙小剑士 +wx3d12038e5c9e5d62,仗剑九州 +wxb7b043d2ff683ce2,魔域无双 +wx54a03ebb111d248e,机甲世界 +wxf248728a5dcd8b5a,铠甲勇士终极猎铠 +wxce25b79e7e4e3ba7,花花丧尸射手 +wx7af2a99c9ea5cdce,剑客风云 +wxa8114405ce9cdbf2,仙途苍穹 +wx644623ce1ee7a05f,刀枪英雄 +wx62961c0746146797,勇敢者西游 +wxcef157f7e317b79b,风云传奇OL +wx64f90208cd165b56,无限吃鸡香肠乱斗 +wxbf9a668ebd7688ed,航母出击 +wx18391cb73c87ab85,弹力坦克王 +wx37ad7219081a06d2,文明觉醒 +wx63a059b69e251d9d,枪神模拟器 +wx8236c48a6aa6c29d,战车吃鸡对决 +wx54086e313d71db29,撞车吃鸡 +wxdd55e4f5749c8702,迷你方块捉迷藏 +wx67db756e4d9471b8,最强战士 +wxfbcdd69cbb08ea0f,萌龙大作战 +wx2ebc3a2f5e4bbd52,狩猎大师 +wx33808fab527cb25d,海底水世界 +wxb97f56feadc1e616,高跟鞋冲冲冲 +wxbc94899c05de8f76,香肠仔冲刺 +wx9ffecb73b0e67bd5,放好别翻了 +wxf127941a0911287a,吃鸡王者精英 +wxcda8b1aee9b5346b,火柴人特攻队 +wxe166a120fcc489ac,水枪英雄 +wx5183bbba5faefe09,真实空战 +wxb9489421e05f3be0,火柴人无限战争 +wxf98fef19c3962c40,动物战塔防 +wx9f453b80deb22283,加油特种兵 +wx5d5e77c7daa9eeba,植物大师VS精英僵尸 +wx7244bfd41427d01b,修仙记 +wx549114506af4ce96,迷你搬砖 +wx9b74b98037f36255,圣境之刃 +wx5535e3ed5bbfdb2c,神酱三国 +wx5a9c314274d9c315,滑冰小将 +wx2022eed6278af19c,夺命枪手 +wx5c8ec37ed3b3a03f,迷你特工队 +wxaea0bbf7921898d2,机甲战士乱斗 +wx5f94732f232f8727,指挥官 +wxd2761edb2c95dde8,枪神特种兵 +wxa1bebc78086cc69e,贪吃蛇争霸赛 +wx95c53436ed45b33d,小英雄大决斗 +wx6810e72adc098901,火柴人乱入 +wx406ae87a41848c80,全民枪击 +wx6994540aed70f6b7,吃鸡小勇士 +wx675bce9e366db33d,五虎战将 +wx933eda966c95a816,我踩我踩我踩踩踩 +wx7b3c32dbaa925560,超神阻击手 +wxea998231960c2381,炎黄大陆 +wx52b82811dc4a3547,独行狙击手 +wxc0e7bb02821a46bd,枪火恐龙 +wx81c83d36e0124fdd,狂轰乱炸 +wxe63902a5f678a64c,大炮轰飞机 +wx0b9f77acaf3b8a83,我不是贪吃蛇 +wxde6314c29e329cd2,兵王火柴人 +wx017e587ee3844d31,我要当街霸 +wx2bee79d9941e2612,最强守卫军 +wx4c706e509ffaef85,时光BT版 +wxf81d850c2a2358f0,武极至尊 +wx04d987cc40157b10,战地对决 +wx8526af9a59f1ba55,爆裂飞车3兽神合体 +wxe57456340fc78ac7,封仙奇缘 +wx6fbaa09f7f23a1a5,奇兵指挥官 +wx312e2b7e9157ca07,像素枪神 +wxe5662522ec753177,我吃鸡特牛 +wxd0737dac3de64fab,像素电子宠物 +wx21a7a48f36eb8556,我系传奇 +wxc3ba1ed4ab5c531d,刮刮三国 +wxa6961e95130abdce,战斗虫模拟器 +wx2a8b068947e6eae2,红豆人对决 +wx65fc7e771dded112,兵器大侠 +wx7af5401255a73f75,荒野大派对 +wx19a6f5fd06ce6924,三国群英纪 +wx9429a38a888bf623,天天爱西游 +wxeaab9b9498f27d5f,一起打王者 +wx9904979e31c414a7,开局一块田 +wx259f160a2cb73656,一枪断魂 diff --git a/myops/ss_virtual_create.py b/myops/ss_virtual_create.py index 1c43f9d..57bddc7 100644 --- a/myops/ss_virtual_create.py +++ b/myops/ss_virtual_create.py @@ -96,8 +96,8 @@ class SS_Virtual_command: def main(): ss = SS_Virtual_command() #ss.upload_gameid() - #ss.upload_2001_b_n() - ss.upload_1004_button_name() + ss.upload_2001_b_n() + #ss.upload_1004_button_name() if __name__ == "__main__": main() diff --git a/web.py b/web.py index 7ed663c..76c6f49 100644 --- a/web.py +++ b/web.py @@ -19,104 +19,108 @@ from deploy.clear_service_data import ClearService from online.online_data import OnlineData2mysql import json + define_logger("ops_interface.log") log = logging.getLogger(__name__) -tornado.options.define("port", default=interface_port, type=int, help="run server on the given port.") +tornado.options.define("port", default=interface_port, + type=int, help="run server on the given port.") class DispatchHandler(tornado.web.RequestHandler): - @gen.coroutine - def get(self): - if self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'sync_log_conf': - print("start sync_log_conf! ") - self._selfgamelogexternal() - elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'mp2ss': - yield self._selfmp2ss() - elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'user_online': - # print(f"get user_online get") - yield self._user_online() - elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'clear_redis': - yield self._selfclear_redis() - elif self.get_query_argument('c') == 'Deploy' and self.get_query_argument('a') == 'keys': - yield self._selfdeploykeys() - else: - self.write("pls check args!") - - @gen.coroutine - def post(self): - # pdb.set_trace() - data = json.loads(self.request.body) - if data.get('event_name', None) == 'push': - yield self._git_webhook() - else: - self.write("pls check args!") - - def _git_webhook(self): - token = self.request.headers.get('X-Gitlab-Token', None) - if token == "kingsome_devops_937711": - name = json.loads(self.request.body).get('project', None).get('name', None) - branch = json.loads(self.request.body).get('project', None).get('default_branch', None) - if branch == "master": - print("stat deploy git with {name}!".format(name=name)) - d = DeployGit(name) - d.run() - else: - self.write("pls check args {name} {branch}!".format(name=name, branch=branch)) - else: - self.write("{token} not in define!".format(token=token)) - - def _user_online(self): - post_data = {} - post_data['zone_id'] = self.get_query_argument('zone_id') - post_data['number'] = self.get_query_argument('number') - post_data['channel_id'] = self.get_query_argument('channel_id') - post_data['game_id'] = self.get_query_argument('game_id') - post_data['gamename'] = 'wjtx' - log.info(f"get data from {post_data}") - aa = OnlineData2mysql(post_data) - aa.run() - - def _selfdeploykeys(self): - try: - project = self.get_query_argument('project') - dk = DeployKeys(project) - dk.run() - except Exception: - log.error(f"deploy keys with {project} failed", exc_info=True) - - def _selfclear_redis(self): - try: - accountid = self.get_query_argument('accountid') - cc = ClearService(accountid) - cc.clear_rediskey() - except Exception: - log.error(f"clear keys with {accountid} failed", exc_info=True) - - def _selfgamelogexternal(self): - try: - cc = Build_Gamelog_Config() - cc.run() - except Exception: - return self.write({'errcode': 2, "errmsg": 'Failed'}) - return self.write({'errcode': 0, "errmsg": ''}) - - def _selfmp2ss(self): - log.info("start mp2ss") - try: - ss = Mp2shushu(2001, 6001) - ss.run() - except Exception: - return self.write({'errcode': 2, "errmsg": 'Failed'}) - return self.write({'errcode': 0, "errmsg": ''}) + @gen.coroutine + def get(self): + if self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'sync_log_conf': + print("start sync_log_conf! ") + self._selfgamelogexternal() + elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'mp2ss': + yield self._selfmp2ss() + elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'user_online': + #print(f"get user_online get") + yield self._user_online() + elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'clear_redis': + yield self._selfclear_redis() + elif self.get_query_argument('c') == 'Deploy' and self.get_query_argument('a') == 'keys': + yield self._selfdeploykeys() + else: + self.write("pls check args!") + + @gen.coroutine + def post(self): + data = json.loads(self.request.body) + print(data) + if data.get('event_name', None) == 'tag_push': + yield self._git_webhook() + else: + self.write("pls check args!") + + def _git_webhook(self): + token = self.request.headers.get('X-Gitlab-Token', None) + if token == "kingsome_devops_937711": + name = json.loads(self.request.body).get( + 'project', None).get('name', None) + branch = json.loads(self.request.body).get( + 'project', None).get('default_branch', None) + if branch == "master": + print("stat deploy git with {name}!".format(name=name)) + d = DeployGit(name) + d.run() + else: + self.write("pls check args {name} {branch}!".format( + name=name, branch=branch)) + else: + self.write("{token} not in define!".format(token=token)) + + def _user_online(self): + post_data = {} + post_data['zone_id'] = self.get_query_argument('zone_id') + post_data['number'] = self.get_query_argument('number') + post_data['channel_id'] = self.get_query_argument('channel_id') + post_data['game_id'] = self.get_query_argument('game_id') + post_data['gamename'] = 'wjtx' + aa = OnlineData2mysql(post_data) + aa.run() + + def _selfdeploykeys(self): + try: + project = self.get_query_argument('project') + dk = DeployKeys(project) + dk.run() + except Exception: + log.error(f"deploy keys with {project} failed", exc_info=True) + + def _selfclear_redis(self): + try: + accountid = self.get_query_argument('accountid') + cc = ClearService(accountid) + cc.clear_rediskey() + except Exception: + log.error(f"clear keys with {accountid} failed", exc_info=True) + + def _selfgamelogexternal(self): + try: + cc = Build_Gamelog_Config() + cc.run() + except Exception: + return self.write({'errcode': 2, "errmsg": 'Failed'}) + return self.write({'errcode': 0, "errmsg": ''}) + + def _selfmp2ss(self): + log.info("start mp2ss") + try: + ss = Mp2shushu(2001, 6001) + ss.run() + except Exception: + return self.write({'errcode': 2, "errmsg": 'Failed'}) + return self.write({'errcode': 0, "errmsg": ''}) def make_app(): - return tornado.web.Application([(r"/webapp/index[\.]php", DispatchHandler)]) + return tornado.web.Application([(r"/webapp/index[\.]php", DispatchHandler)]) if __name__ == "__main__": - print('start!') - tornado.options.parse_command_line() - app = make_app() - app.listen(tornado.options.options.port) - tornado.ioloop.IOLoop.current().start() + print('start!') + tornado.options.parse_command_line() + app = make_app() + app.listen(tornado.options.options.port) + tornado.ioloop.IOLoop.current().start()