示例#1
0
 def __get_job(self, job_id):
     Logger.debug("__get_job: job_name={job_id}".format(job_id=job_id))
     try:
         job = self.__get_client().get_job(job_id)
     except NotFound:
         job = None
     return job
示例#2
0
文件: main.py 项目: sungpil/bigshow
def before():
    Logger.set_level(Logger.DEBUG)
    Logger.debug("before url={url}".format(url=request.endpoint))
    if not request.endpoint or 'gmail_auth' not in request.endpoint:
        redirection = oauth2check()
        if redirection:
            return redirection
示例#3
0
文件: main.py 项目: sungpil/bigshow
def charts_queries():
    chart_id = request.json['chart_id']
    resource = request.json['resource']
    query_type = request.json['query_type']
    query_params = request.json['query_params']
    query = request.json['query']
    Logger.debug('resource={0}, query_type={1}'.format(resource, query_type))
    results, error = bigshow.Chart.query_sync(chart_id=chart_id, resource=resource,
                                              query_type=query_type, query=query, query_params=query_params)
    return json.dumps({'results': results, 'error': error})
示例#4
0
文件: admin.py 项目: sungpil/bigshow
 def __get_db(self):
     if not self.__db:
         from config.dev import config
         Logger.debug("__getDB: config=" + str(config))
         db_config = config['db']['admin']
         return pymysql.connect(host=db_config["host"],
                                user=db_config["user"],
                                password=db_config["password"],
                                db=db_config["db"],
                                charset=db_config["charset"],
                                cursorclass=pymysql.cursors.DictCursor)
     return self.__db
示例#5
0
def oauth2callback():
    code = request.args['code']
    Logger.debug("oauth2callback code={code}".format(code=code))
    credentials = __getFlow().step2_exchange(code)
    email = credentials.id_token[u'email']
    user = Admin().get(email)
    if user:
        Logger.debug("user_id={user_id}, email={email}".format(
            user_id=user['idx'], email=email))
        session['user'] = {'id': user['idx'], 'time': time.time()}
        return redirect('/')
    else:
        return redirect(url_for('gmail_auth.fail'))
示例#6
0
文件: chart.py 项目: sungpil/bigshow
 def __get_db(cls):
     if not Chart.__db:
         conversions[FIELD_TYPE.TIMESTAMP] = through
         from config.dev import config
         db_config = config['db']['default']
         Logger.debug("new connection - CHART")
         return pymysql.connect(host=db_config["host"],
                                user=db_config["user"],
                                password=db_config["password"],
                                db=db_config["db"],
                                charset=db_config["charset"],
                                cursorclass=pymysql.cursors.DictCursor)
     return Chart.__db
示例#7
0
文件: chart.py 项目: sungpil/bigshow
 def query(chart_id, resource, query_type, query, query_params):
     Logger.debug(
         'chart_id={0}, resource={1}, query_type={2}, query={3}, query_params={4}'
         .format(chart_id, resource, query_type, query, query_params))
     adapter = Resource.get(resource_id=resource)
     if not adapter:
         return None
     else:
         job_id = Chart.get_job_id(chart_id)
         adapter.query(job_id=job_id,
                       query_type=query_type,
                       query=query,
                       query_params=query_params)
         return job_id
示例#8
0
 def add(cls, schedule):
     Logger.error("add: schedule={schedule}".format(schedule=schedule))
     connection = cls.__get_db()
     try:
         with connection.cursor() as cursor:
             keys = list(
                 set(cls.__schema).intersection(set(schedule.keys())) -
                 {'id'})
             sql = "INSERT INTO schedules({keys}, created) " \
                   "VALUES({columns}, now())".format(keys=','.join(keys), columns=','.join(map(lambda x: "%s", keys)))
             values = []
             for key in keys:
                 values.append(schedule[key])
             Logger.debug("sql={sql}, values={values}".format(
                 sql=sql, values=values))
             cursor.execute(sql, values)
             insert_id = connection.insert_id()
         connection.commit()
         return insert_id
     finally:
         connection.close()
示例#9
0
 def update(cls, schedule):
     Logger.error("update: schedule={schedule}".format(schedule=schedule))
     connection = cls.__get_db()
     try:
         with connection.cursor() as cursor:
             keys = list(
                 set(cls.__schema).intersection(set(schedule.keys())))
             sql = "UPDATE schedules SET {key_val} WHERE id={id}".format(
                 key_val=','.join(
                     map(lambda x: "{key}=%s".format(key=x), keys)),
                 id=schedule['id'])
             values = []
             for key in keys:
                 values.append(schedule[key])
             Logger.debug("sql={sql}, values={values}".format(
                 sql=sql, values=values))
             cursor.execute(sql, values)
             insert_id = connection.insert_id()
         connection.commit()
         return insert_id
     finally:
         connection.close()
示例#10
0
文件: chart.py 项目: sungpil/bigshow
 def update(cls, chart_id, chart):
     schema = set(cls.__schema) - {'id'}
     targets = list(schema & chart.keys())
     columns = ','.join(map(lambda x: "{x}=%s".format(x=x), targets))
     values = []
     for key in targets:
         if isinstance(chart[key], (list, dict)):
             values.append("{x}".format(x=json.dumps(chart[key])))
         else:
             values.append(chart[key])
     sql = "UPDATE charts SET {columns} WHERE id={chart_id}".format(
         columns=columns, chart_id=chart_id)
     Logger.debug("columns={columns},sql={sql},values={values}".format(
         columns=columns, sql=sql, values=values))
     connection = cls.__get_db()
     try:
         with connection.cursor() as cursor:
             cursor.execute(sql, tuple(values))
         connection.commit()
         return True
     finally:
         connection.close()
示例#11
0
 def __get_cache(self):
     if not self.__cache:
         Logger.debug("__get_cache")
         from config.dev import config
         self.__cache = PooledClient(server=config['cache']['server'])
     return self.__cache