#!/usr/bin/env python
# -*- coding: utf-8 -*-
from insight.context import Context
from insight.token import Token
from insight.postinsight import PostInsight
from insight.datadb import DataDB
from insight.url import Url
import time
if __name__=='__main__':
#token_str = "EAAUTLd5JgaoBAJMeeMXqcdExQ1egUHeBaIgVBCilmiH4K9RNyUt7gSgVZCZAtszWCLEaZCDQpxewhICtFjNRICFPWAqUygshcSsdEZBUeZAyUJkON7bfQ2NFFI5AqifNahzjFT83GkWZCZCZBXO3050XSjFf9HSR0iAZD"
token = Token()
contexts = Context(token)
contexts.setContextsFeedAndTimestemp(3600 * 24 * 10)
contents_list = contexts.getContentsList()
for content in contents_list:
datadb = DataDB()
time.sleep(1)
p_id = str(content['id'].split('_')[0])
c_id = str(content['id'].split('_')[1])
created_time = content['created_time'].replace('T'," ").replace('+0000',"")
try:
message = content['message'].replace('\n'," ").replace('\r'," ").replace('\'',"")
except:
message = ""
try:
message_url = Url().getText2bitly(message)
except:
message_url = ""
insight = PostInsight(token)
insight.setContentInsight(content['id'])
lists =["post_story_adds_unique",
"post_story_adds",
"post_story_adds_by_action_type_unique,comment",
"post_story_adds_by_action_type_unique,like",
"post_story_adds_by_action_type_unique,share",
"post_story_adds_by_action_type,comment",
"post_impressions",
"post_impressions_paid_unique",
"post_impressions_paid",
"post_story_adds_by_action_type,like",
"post_story_adds_by_action_type,share",
"post_impressions_unique",
"post_impressions_organic_unique",
"post_impressions_organic",
"post_impressions_by_story_type_unique,other",
"post_impressions_by_story_type,other",
"post_consumptions_by_type_unique,other clicks",
"post_consumptions_by_type_unique,photo view",
"post_consumptions_by_type_unique,video play",
"post_consumptions_by_type_unique,link clicks",
"post_consumptions_by_type,other clicks",
"post_consumptions_by_type,photo view",
"post_consumptions_by_type,video play",
"post_consumptions_by_type,link clicks",
"post_engaged_users",
"post_video_views",
"post_video_views_unique",
"post_video_views_paid",
"post_video_views_autoplayed",
"post_video_views_10s",
"post_video_views_10s_unique",
"post_video_views_10s_paid",
"post_video_views_10s_organic",
"post_video_views_10s_clicked_to_play",
"post_video_views_10s_autoplayed",
"post_video_views_10s_sound_on",
"post_video_views_sound_on",
"post_video_view_time",
"post_video_complete_views_organic",
"post_video_complete_views_paid"]
sqlprefix = "insert into facebook_insights2 ("
sqlreplace = "REPLACE into facebook_insights2_last ("
sqlvalues = " values ("
sqlprefix += "`p_id`, "
sqlprefix += "`c_id`, "
sqlprefix += "`type`, "
sqlprefix += "`message`, "
sqlprefix += "`message_url`, "
sqlprefix += "`comment_url`, "
sqlprefix += "`created_time`, "
sqlprefix += "`loging_time`, "
sqlprefix += "`bit_url`, "
sqlprefix += "`bit_click`, "
sqlprefix += "`origin_url`, "
sqlprefix += "`piki_cid`, "
sqlprefix += "`rpiki_click`, "
sqlvalues += p_id + ", "
sqlvalues += c_id + ", "
sqlvalues += "'" + insight.getContentType() + "', "
sqlvalues += "'" + message + "', "
sqlvalues += "'" + message_url + "', "
sqlvalues += "'" + insight.getContentCommentUrl() + "', "
sqlvalues += "'" + created_time + "', "
sqlvalues += "NOW(), "
url_data = Url().url2dic([insight.getLinkUrl(),message_url,insight.getContentCommentUrl()])[0]
sqlvalues += "'" + url_data['bitly_url'] + "', "
sqlvalues += url_data['bitly_click'] + ", "
sqlvalues += "'" + url_data['origin_url'] + "', "
sqlvalues += url_data['piki_cid'] + ", "
sqlvalues += url_data['rpiki_click'] + ", "
for list in lists:
sqlprefix += "`" + list.replace(',','_') + "`, "
sqlvalues += str(insight.getContentInsightByKey(list)) + ", "
sqlprefix = sqlprefix[:len(sqlprefix)-2] + ")"
sqlvalues = sqlvalues[:len(sqlvalues)-2] + ");"
#print sqlprefix + sqlvalues
datadb.fb_insert(sqlprefix + sqlvalues)
datadb.fb_insert(sqlreplace + sqlprefix[32:] + sqlvalues)
del(datadb)
del(insight)