Beispiel #1
0
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)
Beispiel #2
0
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)