def import_shortcut_from_sa_to_sql(project='your_project_name', domain='your_domain'): sql = """select $short_url_key,$short_url_target from events where event='$ShortUrlRedirect' group by $short_url_key,$short_url_target""" # result = exesqlcs(sql).splitlines() result = exesqlsc(sql).splitlines() count = 1 for i in result: print(count) count += 1 fi = json.loads(i) short_url_target = urllib.parse.unquote(fi["$short_url_target"]) short_url_key = fi["$short_url_key"] utm_source = None utm_medium = None utm_campaign = None utm_content = None utm_term = None for params in short_url_target.split('?')[-1].split('&'): if 'utm_source' in params: utm_source = params.replace('utm_source=', '') if 'utm_medium' in params: utm_medium = params.replace('utm_medium=', '') if 'utm_campaign' in params: utm_campaign = params.replace('utm_campaign=', '') if 'utm_content' in params: utm_content = params.replace('utm_content=', '') if 'utm_term' in params: utm_term = params.replace('utm_term=', '') insert_shortcut(project=project, short_url=short_url_key, long_url=short_url_target, expired_at=2147443200, src='sensors', src_short_url=domain + short_url_key, submitter='importer', utm_source=utm_source, utm_medium=utm_medium, utm_campaign=utm_campaign, utm_content=utm_content, utm_term=utm_term)
def shortit(): if 'org_url' in request.form: org_url = request.form.get('org_url') expired_at = int(time.mktime(time.strptime(request.form.get('expired_at','2038-01-19'), "%Y-%m-%d"))) project = request.form.get('project',None) src = request.form.get('src','suoim') submitter = request.form.get('submitter',None) utm_source = request.form.get('utm_source',None) utm_medium = request.form.get('utm_medium',None) utm_campaign = request.form.get('utm_campaign',None) utm_content = request.form.get('utm_content',None) utm_term = request.form.get('utm_term',None) url_addon = encode_urlutm(utm_source=utm_source,utm_medium=utm_medium,utm_campaign=utm_campaign,utm_content=utm_content,utm_term=utm_term) if '?' in org_url: longurl = org_url+'&'+url_addon else: longurl = org_url+'?'+url_addon urllist,urlstatus = check_long_url(long_url=longurl) if urlstatus == 'exist': returnjson = {'result':urlstatus,'urllist':urllist} return jsonify(returnjson) else: check_short_status = 'success' while check_short_status == 'success': if src =='suoim': src_short_url,status = get_suoim_short_url(long_url=longurl) else: return jsonify({'result':'error','urllist':'src:'+src+'不存在'}) if status == 'ok': check_short_result,check_short_status = get_long_url_from_short(src_short_url) if check_short_status == 'success': continue break short_url = src_short_url.split('/')[-1] insert_count = insert_shortcut(project=project,short_url=short_url,long_url=longurl,expired_at=expired_at,src=src,src_short_url=src_short_url,submitter=submitter,utm_source=utm_source,utm_medium=utm_medium,utm_campaign=utm_campaign,utm_content=utm_content,utm_term=utm_term) print('已插入短连接解析地址'+str(insert_count)) urllist,urlstatus = check_long_url(long_url=longurl) returnjson = {'result':'created_success','urllist':urllist} return jsonify(returnjson) else: returnjson = {'result':'error','error':'参数不全'} return jsonify(returnjson)