# -*- coding: utf-8 -*- import json import traceback from piwikapi.analytics import PiwikAnalytics import sys import ssl sys.path.append("/va/local/mode2") from functions.mwDB import mwDB ### api setting ### id_site = 1 api_url = 'http://%s/mode2_piwik/index.php' select_api = "" token_auth = "" def get_piwik(method, period, date, domain=False, **args): try: # SSLのエラーを無視する ssl._create_default_https_context = ssl._create_unverified_context pa = PiwikAnalytics() if domain: dom = domain else: dom = "localhost" pa.set_api_url(api_url % dom) pa.set_id_site(id_site) pa.set_format('json') if select_api == "": ta = get_token_auth(domain) else: ta = token_auth pa.set_parameter('token_auth', ta) pa.set_parameter('token_auth', ta) print('#################### PiwikAPI elements ###################') print('token_auth : ' + ta) print('method : ' + method) print('period : ' + period) print('date : ' + date) pa.set_method(method) pa.set_period(period) pa.set_date(date) for k, v in args.items(): pa.set_parameter(k, v) query = str(pa.get_query_string()) print('#################### PiwikAPI query ###################') print(query) data = json.loads(pa.send_request()) return data except Exception as e: raise e def get_token_auth(domain=False): Db = mwDB(domain, 'mode2_piwik') query = 'select token_auth from piwik_user where superuser_access=1;' token_auth = Db.fetchone(query)[0] Db.close() return token_auth ### Main Program ### if __name__ == "__main__": pass