def find_id(exlPath): m = MyExcelUtil(exlPath) mydb = MysqldbHelper(host='10.10.19.117', port=3306, user='******', password='******', db='filmora_es_admin') for j in range(4, 6): name = m.get_sheet_names() for i in range(1, m.get_row_num(j)): d = m.get_rowCol_data(i, 1, j) if name[j] == "MUSIC": value = 'sound_' + replace_space2(d).lower() elif name[j] == "TEXT": value = 'text_' + replace_space2(d).lower() elif name[j] == "TRANSITIONS": value = 'trans_' + replace_space2(d).lower() elif name[j] == "FILTERS": value = 'effect_' + replace_space2(d).lower() elif name[j] == "OVERLAYS": value = 'overlay_' + replace_space2(d).lower() elif name[j] == "ELEMENTS": value = 'element_' + replace_space2(d).lower() elif name[j] == "SPLIT": value = 'split_' + replace_space2(d).lower() if m.get_rowCol_data(i, 8, j).upper() == "Y": print value result = mydb.executeSqlOne( 'SELECT id,catdir from wx_resource_category where child = 0 and catdir = \"{}\"'.format(value)) if result is not None: print result["id"] MyExcelUtil(exlPath).write_data(i, 5, result["id"], MyExcelUtil.set_style(8), j)
def up_pack9_default(): mydb = MysqldbHelper(host='10.10.19.117', port=3306, user='******', password='******', db='filmora_es_admin') resource_dict = mydb.executeSql( 'SELECT slug from wx_pack_9_resource where description IN (\"wang auto\" ,\"default Edit\") and resource_status = 3 and slug !=\"Shadow1\"' ) resource_name = [] for name in resource_dict: # print name["slug"] resource_name.append(name["slug"]) resource_name = list(set(resource_name)) # print resource_name try: print "内置资源个数:" + str(len(resource_name)) resText = reqApi.post_Pack9Add("DefaultPackage", "", "DefaultPackage", resource_name) if resText.find(u"操作成功") >= 0: print("操作成功 ") except Exception as err: print err print("操作失败")
def edit_ini(path, res, categorys): mydb = MysqldbHelper(host='192.168.11.83', port=3306, user='******', password='******', db='Wang_Test') langs = ["ZHH", "CHT", "NLD", "ENG", "FRA", "DEU", "ITA", "JPN", "PTG", "RUS", "ESP", "ESM", "ARG"] del_headerr(path) m = MyFileParserUtil(path) # m.del_headerr() result = mydb.executeSql( 'SELECT ZHH,CHT,NLD,ENG,FRA,DEU,ITA,JPN,PTG,RUS,ESP,ESM,ARG from `res_language` where ENG = "{}" '.format(res)) if len(result) > 0: for lang in langs: print lang, categorys, result[0][lang] m.add_fileValue(lang, categorys, result[0][lang].strip()) m.write_fileValue()
def up_set9(exlPath, type=0): """ 打包set :param exlPath: """ mydb = MysqldbHelper(host='192.168.11.43', port=3306, user='******', password='******', db='store') m = MyExcelUtil(exlPath) set_dict = {} set_dict2 = {} for i in range(1, m.get_row_num(6)): if m.get_rowCol_data(i, 2, 6).upper() == "Y": setName = m.get_rowCol_data(i, 1, 6) packName = m.get_rowCol_data(i, 0, 6) sql = 'SELECT id from wx_pack9 where slug = \"{}\"'.format( replace_space(setName)) result = mydb.executeSqlOne(sql) if result is None: set_dict[packName] = setName set_dict2.update({setName: []}) print set_dict2 for k, v in set_dict.items(): if set_dict2.has_key(v): set_dict2[v].append(k.lower()) else: set_dict2[v] = [] print set_dict2 time = 0 for s, p in set_dict2.items(): print p resource_name = [] for j in range(0, 6): for i in range(1, m.get_row_num(j)): if m.get_rowCol_data(i, 4, j).lower() in p: resource_name.append(m.get_rowCol_data(i, 3, j)) MyExcelUtil(exlPath).write_data(i, 5, "PASS", MyExcelUtil.set_style(3), j) # print resource_name print(s, "", replace_space(s), resource_name) try: if len(resource_name) > 0: if type == 0: resText = reqApi.post_Pack9Add(s, "", replace_space(s), resource_name) else: resText = reqApi.post_shenCutPackAdd(s, "", replace_space(s), resource_name) if resText.find(u"操作成功") >= 0: time = time + 1 print("操作成功 " + str(time)) except Exception as err: print err
def exce_pack9_multi_language(slug): mydb = MysqldbHelper(host='192.168.11.83', port=3306, user='******', password='******', db='Wang_Test') sql = 'SELECT en,fr,de,es,it,pt,jp FROM pack9_multi_language WHERE en = \"{}\"'.format( slug) # mydb = MysqldbHelper(host='192.168.11.82', port=3307, user='******', password='******', # db='filmora_es_admin') # sql = 'SELECT title FROM wx_pack_9_resource WHERE slug = \"{}\" ORDER BY updatetime'.format(slug) result = mydb.executeSqlOne(sql) return result
def sql_filmora9_JP(exlPath): """ 配置多语言(日语) :param exlPath: """ # mydb = MysqldbHelper(host='10.10.19.117', port=3306, user='******', password='******', db='filmora_es_admin') # mydb = MysqldbHelper(host='10.10.18.252', port=33064, user='******', password='******', db='f_common') mydb = MysqldbHelper(host='192.168.11.82', port=3307, user='******', password='******', db='filmora_es_admin') m = MyExcelUtil(exlPath) pack_name = [] # 获取pack name # for j in range(0, 6): # for i in range(1, m.get_row_num(j)): # # print m.get_rowCol_data(i, 6, j) # if m.get_rowCol_data(i, 6, j).upper() == "Y": # data = m.get_rowCol_data(i, 4, j) # pack_name.append(data) # pack_name = list(set(pack_name)) # 获取set name for i in range(1, m.get_row_num(6)): if m.get_rowCol_data(i, 2, 6).upper() == "Y": data = m.get_rowCol_data(i, 1, 6) pack_name.append(data) pack_name = list(set(pack_name)) # print pack_name for name in pack_name: sql_jp = 'SELECT pack9_id,pack9_slug,pack9_url from wx_pack WHERE slug="{}" and siteid =3 and status=99'.format( name.replace(" ", "-")) # print sql_jp r = mydb.executeSqlOne(sql_jp) # print r # sql_siteid = 'SELECT siteid from wx_pack WHERE title="{}"'.format(name) # print sql_siteid # result_siteid = mydb.executeSqlOne(sql_siteid) # print result_siteid if r is not None and int(r["pack9_id"]) == 0: sql_jp2 = 'SELECT pack9_id,pack9_slug,pack9_url from wx_pack WHERE title="{}" and siteid =1'.format(name) r2 = mydb.executeSqlOne(sql_jp2) # print r["pack9_url"] sql2 = 'UPDATE wx_pack SET pack9_id = {},pack9_slug="{}",pack9_url="{}" WHERE slug="{}" and siteid =3;'.format( r2["pack9_id"], r2["pack9_slug"], r2["pack9_url"], name.replace(" ", "-")) print sql2
def sql_filmora9(exlPath): # mydb = MysqldbHelper(host='10.10.19.117', port=3306, user='******', password='******', db='filmora_es_admin') # mydb = MysqldbHelper(host='10.10.18.252', port=33064, user='******', password='******', db='f_common') mydb = MysqldbHelper(host='192.168.11.82', port=3307, user='******', password='******', db='filmora_es_admin') m = MyExcelUtil(exlPath) pack_name = [] for j in range(0, 6): for i in range(1, m.get_row_num(j)): # print m.get_rowCol_data(i, 6, j) if m.get_rowCol_data(i, 5, j).upper() == "Y": data = m.get_rowCol_data(i, 4, j) pack_name.append(data) pack_name = list(set(pack_name)) # print pack_name for name in pack_name: sql = 'SELECT pack9_id,pack9_slug,pack9_url from wx_pack WHERE title="{}" and siteid =1'.format( name) r = mydb.executeSqlOne(sql) # print r # sql_siteid = 'SELECT siteid from wx_pack WHERE title="{}"'.format(name) # print sql_siteid # result_siteid = mydb.executeSqlOne(sql_siteid) # print result_siteid if r is not None and len(r["pack9_url"]) > 1: # print r["pack9_url"] for i in range(2, 21): sql3 = 'SELECT pack9_id,pack9_slug,pack9_url from wx_pack WHERE title="{}" and siteid ={}'.format( name, i) result3 = mydb.executeSqlOne(sql3) if result3 is not None: sql2 = 'UPDATE wx_pack SET pack9_id = {},pack9_slug="{}",pack9_url="{}" WHERE title="{}" and siteid ={};'.format( r["pack9_id"], r["pack9_slug"], r["pack9_url"], name, i) print sql2 mydb2 = MysqldbHelper(host='192.168.11.82', port=3307, user='******', password='******', db='filmora_es_admin')
def sql_filmora9(exlPath): import json """ 配置多语言 :param exlPath: """ mydb = MysqldbHelper(host='10.10.19.117', port=3306, user='******', password='******', db='store') # mydb = MysqldbHelper(host='10.10.18.252', port=33064, user='******', password='******', db='f_common') # mydb = MysqldbHelper(host='192.168.11.82', port=3307, user='******', password='******', # db='filmora_es_admin') sql = 'SELECT * from wx_resource_category' r_list = mydb.executeSql(sql) # print r_list m = MyExcelUtil(exlPath) pack_name = [] name = {} # 获取pack name for i in range(1, m.get_row_num()): # print m.get_rowCol_data(i, 6, j) for r in r_list: # print r["catname"] # print json.loads(r["catname"])["en"] catname = {} catname["zh"] = json.loads(r["catname"])["zh"] if catname["zh"] == m.get_rowCol_data(i, 0): name[catname["zh"]] = m.get_rowCol_data(i, 1) # print catname["zh"] print name # name = json.dumps(name,ensure_ascii=False) # print name for k, v in name.items(): catkey = {} catkey["zh"] = k, catkey = json.dumps(catkey) catname = {} catname["zh"] = v catname = json.dumps(catname, ensure_ascii=False) sql = "UPDATE wx_resource_category SET catname = '{}' where catname = '{}';".format(catname, catkey) print sql
def edit_iss(infile, outfile, resPack): mydb = MysqldbHelper(host='192.168.11.83', port=3306, user='******', password='******', db='Wang_Test') langs = ["ZHH", "CHT", "NLD", "ENG", "FRA", "DEU", "ITA", "JPN", "PTG", "RUS", "ESP", "ESM", "ARG"] result = mydb.executeSql( 'SELECT ZHH,CHT,NLD,ENG,FRA,DEU,ITA,JPN,PTG,RUS,ESP,ESM,ARG from `res_language` where ENG = "{}" '.format( resPack)) infopen = open(infile, 'r') outfopen = open(outfile, 'w') try: lines = infopen.readlines() for line in lines: for lang in langs: if line.find(lang + ".AppName") == 0: new_line = line.split("=")[0] + "=" + result[0][lang].strip() # print new_line outfopen.writelines(new_line) outfopen.writelines("\n") break else: outfopen.writelines(line) finally: infopen.close() outfopen.close()
def conver_to_mysql(exlPath): mydb = MysqldbHelper(host='192.168.11.83', port=3306, user='******', password='******', db='Wang_Test') m = MyExcelUtil(exlPath) for j in range(0, 1): for i in range(1, m.get_row_num(j)): # categoryExcel = m.get_rowCol_data(i, 0, j) enExcel = m.get_rowCol_data(i, 0, j) # print enExcel # print unicode(enExcel, "utf8") jpExcel = m.get_rowCol_data(i, 1, j) deExcel = m.get_rowCol_data(i, 2, j) frExcel = m.get_rowCol_data(i, 3, j) ptExcel = m.get_rowCol_data(i, 4, j) esExcel = m.get_rowCol_data(i, 5, j) itExcel = m.get_rowCol_data(i, 6, j) # print enExcel, frExcel, deExcel, esExcel, itExcel, ptExcel, jpExcel sql = 'INSERT INTO pack9_multi_language(en,fr,de,es,it,pt,jp) VALUES (\"{}\",\"{}\",\"{}\",\"{}\",\"{}\",\"{}\",\"{}\")'.format( enExcel, frExcel, deExcel, esExcel, itExcel, ptExcel, jpExcel) print sql mydb.executeCommentSqlOnce(sql)
def post_shenCutPackAdd(zh, jp, slug, resource_name): """ 打包神剪手 :param en: :param slug: :param resource_name: :return: """ # # 灰度环境 mydb = MysqldbHelper(host='192.168.11.43', port=3306, user='******', password='******', db='store') # 测试环境 # mydb = MysqldbHelper(host='10.10.19.117', port=3306, user='******', password='******', db='store') headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0', } resource = [] for name in resource_name: # print name sql = 'SELECT id from wx_pack_9_resource where slug = \"{}\"'.format( name) + "ORDER BY id DESC" result = mydb.executeSqlOne(sql) if result is not None: key = "resource_ids[" + name + "]" resource.append((key, result["id"])) else: print "数据库查询结果为空:" + sql # print resource fields = { 'info[title][zh]': zh, 'info[status]': '99', 'inputtime': getTime(), 'info[slug]': slug, 'dosubmit': "提交", '__hash__': "93d0d292eba73d9a40c9bcc82c4039f6_27090f865c3c4055c63c1f8c1742b664" # 'file': (os.path.basename(argv_dict['file']), open(argv_dict['file'], 'rb'), 'application/octet-stream') # file为路径 } for key, value in dict(resource).items(): fields[key] = str(value) # print fields multipart_encoder = MultipartEncoder(fields=fields, boundary='----WebKitFormBoundary' + gen_random_string(16)) headers['Content-Type'] = multipart_encoder.content_type # 请求头必须包含一个特殊的头信息,类似于Content-Type: multipart/form-data; boundary=${bound} cookies = shencut_cookies headers.setdefault("Cookie", cookies) url = "http://{}/Pack9/add".format(SHENCUT_ADMIN_HOST) r = requests.post(url, data=multipart_encoder, headers=headers) if r.status_code != 200: print("接口返回状态码:{}".format(r.status_code)) return # print(r.text) return r.text
def post_shenCutEdit(filename, download_url, slug, id1, id2, resource_type, description="wang edit"): """ 编辑资源接口 :param filename: :param download_url: :param slug: :param id1: :param id2: :param resource_type: :param description: :return: """ # 灰度环境 mydb = MysqldbHelper(host='192.168.11.43', port=3306, user='******', password='******', db='store') # slug = slug+"_vlog" # 测试环境 # mydb = MysqldbHelper(host='10.10.19.117', port=3306, user='******', password='******', db='store') headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0', } # filename = filepath.split("\\")[-1] sql = 'SELECT id,resource_version,download_url from wx_pack_9_resource where slug = \"{}\" and (resource_status = 3 or resource_status = 1)'.format( slug) # print sql r = mydb.executeSqlOne(sql) # print r if r is not None: url = "http://{}/Resource/edit?id={}".format(SHENCUT_ADMIN_HOST, r['id']) else: print 'SELECT id,resource_version from wx_pack_9_resource where slug = \"{}\" and (resource_status = 3 or resource_status = 1)'.format( slug) + " 查询的结果为空" return # print url if download_url == "": download_url = r["download_url"] print filename fields = { 'id': str(r['id']), 'info[title][zh]': filename, 'info[description]': description, 'info[download_url]': download_url, 'info[resource_status]': '3', 'info[resource_type]': str(resource_type), 'info[resource_version]': str(r["resource_version"]), 'info[status]': '99', 'inputtime': getTime(), 'info[slug]': slug, 'dosubmit': "提交", '__hash__': "a1656aff97b26f16d588a13310b9d39f_80cd895355f9b9d6b96a7d63d921bf7c" } j = 0 id = [] id.append(id1) id.append(id2) for i in id: if i != " " and i != "": # print j fields["category_id[" + str(j) + "]"] = str(i) j = j + 1 multipart_encoder = MultipartEncoder(fields=fields, boundary='----WebKitFormBoundary' + gen_random_string(16)) headers['Content-Type'] = multipart_encoder.content_type # 请求头必须包含一个特殊的头信息,类似于Content-Type: multipart/form-data; boundary=${bound} cookies = shencut_cookies headers.setdefault("Cookie", cookies) r = requests.post(url, data=multipart_encoder, headers=headers) # print r.text return r.text
def post_Pack9Add(en, jp, slug, resource_name): # # 灰度环境 mydb = MysqldbHelper(host='192.168.11.82', port=3308, user='******', password='******', db='f_common') # 测试环境 # mydb = MysqldbHelper(host='10.10.18.252', port=33064, user='******', password='******', db='f_common') headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0', } resource = [] for name in resource_name: # print name sql = 'SELECT id from wx_pack_9_resource where slug = \"{}\"'.format( name) + "ORDER BY id DESC" result = mydb.executeSqlOne(sql) if result is not None: key = "resource_ids[" + name + "]" resource.append((key, result["id"])) else: print "数据库查询结果为空:" + sql # print resource fields = { 'info[title][de]': '', 'info[title][en]': en, 'info[title][es]': '', 'info[title][fr]': '', 'info[title][it]': '', 'info[title][jp]': jp, 'info[title][pt]': '', 'info[status]': '99', 'inputtime': getTime(), 'info[slug]': slug, 'dosubmit': "提交", '__hash__': "93d0d292eba73d9a40c9bcc82c4039f6_27090f865c3c4055c63c1f8c1742b664" # 'file': (os.path.basename(argv_dict['file']), open(argv_dict['file'], 'rb'), 'application/octet-stream') # file为路径 } for key, value in dict(resource).items(): fields[key] = str(value) # print fields multipart_encoder = MultipartEncoder(fields=fields, boundary='----WebKitFormBoundary' + gen_random_string(16)) headers['Content-Type'] = multipart_encoder.content_type # 请求头必须包含一个特殊的头信息,类似于Content-Type: multipart/form-data; boundary=${bound} cookies = {'Cookie': filmora_cookies} # headers.setdefault("Cookie", cookies) url = "https://{}/Pack9/add".format(WONDERSHARE_HOST) r = requests.post(url, data=multipart_encoder, headers=headers, cookies=cookies, verify=False) if r.status_code != 200: print("接口返回状态码:{}".format(r.status_code)) return # print(r.text) return r.text
def post_ResourceEdit(filename, download_url, slug, id1, id2, resource_type, description="wang edit"): """ 编辑资源接口 :param filename: :param download_url: :param slug: :param id1: :param id2: :param resource_type: :param description: :return: """ # 灰度环境 mydb = MysqldbHelper(host='192.168.11.82', port=3308, user='******', password='******', db='f_common') # 测试环境 # mydb = MysqldbHelper(host='10.10.18.252', port=33064, user='******', password='******', db='f_common') headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0', } # filename = filepath.split("\\")[-1] sql = 'SELECT id,resource_version,download_url from wx_pack_9_resource where slug = \"{}\" and (resource_status = 3 or resource_status = 1)'.format( slug) # print sql r = mydb.executeSqlOne(sql) # print r if r is not None: url = "https://{}/Resource/edit?id={}".format(WONDERSHARE_HOST, r['id']) else: print 'SELECT id,resource_version from wx_pack_9_resource where slug = \"{}\" and resource_status = 3'.format( slug) + " 查询的结果为空" return # print url if download_url == "": download_url = r["download_url"] # file_list = filename.split(" ") # val = str(file_list[-1]) # de, es, fr, it, jp, pt = "Geteilter Bildschirm {}".format(str(file_list[-1])), "Pantalla Dividida {}".format( # str(file_list[-1])), "Écran partagé {}".format(str(file_list[-1])), "Schermo Diviso {}".format(str(file_list[-1])), "分割表示 {}".format( # str(file_list[-1])), "Tela Dividida {}".format(str(file_list[-1])) # en = "Split Screen {}".format(str(file_list[-1])) # print de, es, fr, it, jp, pt, en # de, es, fr, it, jp, pt = "", "", "", "", "", "" res = exce_pack9_multi_language(filename) if res is not None: # r = json.loads(res) # de = r["title"]["de"] # es = r["title"]["es"] # fr = r["title"]["fr"] # it = r["title"]["it"] # jp = r["title"]["jp"] # pt = r["title"]["pt"] de = res["de"] es = res["es"] fr = res["fr"] it = res["it"] jp = res["jp"] pt = res["pt"] else: de, es, fr, it, jp, pt = "", "", "", "", "", "" if description == "default Edit": logger.error( 'SELECT title FROM wx_pack_9_resource WHERE slug = \"{}\" ORDER BY updatetime' .format(slug) + " 结果为空") print filename fields = { 'id': str(r['id']), 'info[title][de]': de, 'info[title][en]': filename, 'info[title][es]': es, 'info[title][fr]': fr, 'info[title][it]': it, 'info[title][jp]': jp, 'info[title][pt]': pt, 'info[description]': description, 'info[download_url]': download_url, 'info[resource_status]': '3', 'info[resource_type]': str(resource_type), 'info[resource_version]': str(r["resource_version"]), 'info[status]': '99', 'inputtime': getTime(), 'info[slug]': slug, 'dosubmit': "提交", '__hash__': "a1656aff97b26f16d588a13310b9d39f_80cd895355f9b9d6b96a7d63d921bf7c" } j = 0 id = [] id.append(id1) id.append(id2) for i in id: if i != " " and i != "": # print j fields["category_id[" + str(j) + "]"] = str(i) j = j + 1 multipart_encoder = MultipartEncoder(fields=fields, boundary='----WebKitFormBoundary' + gen_random_string(16)) headers['Content-Type'] = multipart_encoder.content_type # 请求头必须包含一个特殊的头信息,类似于Content-Type: multipart/form-data; boundary=${bound} cookies = filmora_cookies headers.setdefault("Cookie", cookies) # cookies = { # 'Cookie': filmora_cookies # } r = requests.post(url, data=multipart_encoder, headers=headers, verify=False) # print r.text return r.text
element = driver.find_element_by_css_selector( ".pack_list>ul>li:nth-child(" + str(n) + ")>input") # element = find_Ele(driver, By.CSS_SELECTOR, ".pack_list>ul>li:nth-child(" + str(n) + ")>input") print element.get_attribute("value") if element.get_attribute("value") == replace_space(val): ele.click() driver.switch_to.default_content() find_Ele(driver, By.CSS_SELECTOR, ".aui_state_highlight").click() time.sleep(1) driver.switch_to.frame("right") find_Ele(driver, By.NAME, "dosubmit").click() except Exception as err: print(err) mydb = MysqldbHelper(host='localhost', port=3306, user='******', password='******', db='filmora') # 配置多语言 def packRecurse_edit_ui(driver): if v_cookie(driver): print "cookie文件已经存在" use_cookies(driver) else: login(driver) save_cookies(driver) find_Ele(driver, By.ID, "_M497").click() time.sleep(0.5) if "block" in driver.find_element_by_css_selector("ul.page-sidebar-menu>li:nth-child(5)>ul").get_attribute("style"): find_Ele(driver, By.ID, "_MP561").click() else: find_Ele(driver, By.CSS_SELECTOR, "ul.page-sidebar-menu>li:nth-child(5)>a").click()