#push_view
importosimportsysimportdjango
pathname= os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, pathname)
sys.path.insert(0, os.path.abspath(os.path.join(pathname,'..')))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xad_unit.settings")
django.setup()from datetime importdatetimeimporttimefrom pv_uv.views importexec_sqlfrom pv_uv.models importCpdclassSql_Tool(object):defzy_sql(self, date):#sql = 'select ngx_date, path, event_type, count(distinct request_id) as num from xad_app_log where path = "/xad_tracking" and event_type in ("xad_dl_start", "xad_dl_success", "xad_install_start", "xad_install_success", "xad_click_tracking", "xad_impression") and ngx_date="{}"and ad_system="{}" group by ngx_date, path, event_type order by ngx_date, path, event_type limit 1000'.format(
#date, 'liyanmobi')
sql= 'select ngx_date, path, event_type, count(distinct request_id) as num from xad_app_log where path = "/xad_tracking" and event_type in ("xad_dl_start", "xad_dl_success", "xad_install_start", "xad_install_success", "xad_click_tracking", "xad_impression") and ngx_date>="{}" and ad_system="{}" and req_from="1" group by ngx_date, path, event_type order by ngx_date, path, event_type limit 1000'.format(
date,'liyanmobi')
l_list=exec_sql(sql)returnl_listdefstrint_toDate(self, string):return datetime.strptime(string, '%Y%m%d')if __name__ == '__main__':
sql_tool=Sql_Tool()
current_time= time.strftime('%Y%m%d', time.localtime(time.time()))#current_time = '20180726'
l_list =sql_tool.zy_sql(current_time)print(l_list)#l_list = [{'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_click_tracking', 'num': 302}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_dl_start', 'num': 182}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_dl_success', 'num': 101}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_impression', 'num': 301}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_install_start', 'num': 101}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_install_success', 'num': 42}]
l2 =l_list
l_list=list()
tmp_set=set()for i_dict inl2:
tmp_dict=dict()
date1= i_dict.get('ngx_date')if date1 not intmp_set:
tmp_set.add(date1)else:continue
for i_i_dict inl2:
date2= i_i_dict.get('ngx_date')if date1 ==date2:
tmp_dict['ngx_date'] = i_i_dict.get('ngx_date')
tmp_dict[str(i_i_dict.get('event_type'))] = i_i_dict.get('num')
l_list.append(tmp_dict)
tmp_dict=dict()print(l_list)for i_dict inl_list:
cpd=Cpd()for key, value ini_dict.items():if key == 'ngx_date':
a= sql_tool.strint_toDate(i_dict.get('ngx_date'))
cpd.ngx_date= sql_tool.strint_toDate(i_dict.get('ngx_date'))if key == 'xad_click_tracking':
cpd.xad_click_tracking=key
cpd.xad_click_tracking_nums=valueif key == 'xad_dl_start':
cpd.xad_dl_start=key
cpd.xad_dl_start_nums=valueif key == 'xad_dl_success':
cpd.xad_dl_success=key
cpd.xad_dl_success_nums=valueif key == 'xad_impression':
cpd.xad_impression=key
cpd.xad_impression_nums=valueif key == 'xad_install_start':
cpd.xad_install_start=key
cpd.xad_install_start_nums=valueif key == 'xad_install_success':
cpd.xad_install_success=key
cpd.xad_install_success_nums=value
cpd.save()