Ejemplo n.º 1
0
def start():
    x = DbType.SYBASE
    logger = JLogger("/workspace/outme.log", "test")
    db_temp = DbConn(x, "sa", "myPassword", "dbsybase", "5000", "tempdb",
                     logger)
    db_master = DbConn(x, "sa", "myPassword", "dbsybase", "5000", "master",
                       logger)

    pipeline(db_master, db_temp)
Ejemplo n.º 2
0
def load_user(userid):
    try:
        return User(
            DbConn.DbConn(app.config['MYSQL_USERNAME'],
                          app.config['MYSQL_PASSWORD'],
                          app.config['MYSQL_DB']), int(userid))
    except InvalidUserError, e:
        return None
Ejemplo n.º 3
0
def movie_detail(year):
    db = DbConn()
    sql = "select moviecd from boxoffice2 where dailydate between TO_DATE('" + str(
        year) + "/01/01', 'YYYY/MM/DD') and TO_DATE('" + str(
            year) + "/12/31', 'YYYY/MM/DD') group by moviecd"
    print(sql)
    cd_list = db.execute(sql)
    db.disconnect()

    for movie_cd in cd_list:
        insert_moviedetail(movie_cd[0])

    print(len(cd_list), "개 인서트 끝~~~~")
Ejemplo n.º 4
0
def insert_boxoffice(showrange):
    db = DbConn()
    url = BOX_OFFICE_URL + "?key=" + API_KEY + "&targetDt=" + str(showrange)
    data = requests.get(url).json()

    # showRange = data['boxOfficeResult']['showRange']
    dailyBoxOfficeList = data['boxOfficeResult']['dailyBoxOfficeList']
    dailydate = datetime.strptime(showrange, '%Y%m%d').strftime('%Y-%m-%d')

    insert_query = """
    INSERT INTO boxOffice2
    (dailydate, rnum, mrank, rankinten, rankoldandnew, moviecd, movienm, opendt, salesamt, salesshare, salesinten, saleschange, salesacc, audicnt, audiinten, audichange, audiacc, scrncnt, showcnt)
    VALUES (TO_DATE(:dailydate, 'YYYY-MM-DD'), :rnum, :mrank, :rankinten, :rankoldandnew, :moviecd, :movienm, TO_DATE(:opendt, 'YYYY-MM-DD'), :salesamt, :salesshare, :salesinten, :saleschange, :salesacc, :audicnt, :audiinten, :audichange, :audiacc, :scrncnt, :showcnt)
    """
    select_query = "SELECT * FROM BOXOFFICE2 WHERE dailydate = TO_DATE(:dailydate, 'YYYY-MM-DD') AND MOVIECD = :MOVIECD"

    for i in dailyBoxOfficeList:  # 하루에 1위~10위 데이터 들어있음

        p = re.compile('[0-9]')
        movieCd_re = p.findall(i['movieCd'])
        print(i['movieCd'], movieCd_re)

        if len(movieCd_re) != 8:
            continue

        openDt = i['openDt']
        if len(openDt) < 3:
            continue

        query_params = {
            'dailydate': dailydate,
            'rnum': i['rnum'],
            'mrank': i['rank'],
            'rankinten': i['rankInten'],
            'rankoldandnew': i['rankOldAndNew'],
            'moviecd': i['movieCd'],
            'movienm': i['movieNm'],
            'opendt': openDt,
            'salesamt': i['salesAmt'],
            'salesshare': i['salesShare'],
            'salesinten': i['salesInten'],
            'saleschange': i['salesChange'],
            'salesacc': i['salesAcc'],
            'audicnt': i['audiCnt'],
            'audiinten': i['audiInten'],
            'audichange': i['audiChange'],
            'audiacc': i['audiAcc'],
            'scrncnt': i['scrnCnt'],
            'showcnt': i['showCnt']
        }
        # print(query_params)
        select_result = db.execute(select_query, {
            "dailydate": dailydate,
            "MOVIECD": i['movieCd']
        })

        if len(select_result) == 0:
            db.execute(insert_query, query_params)
            # print(showRange, movieNm,'성공적으로 DB에 입력했슴')
        # else :
        #     print(showRange, movieNm,'는 안대요 안대~!')

    print(showrange, "작업 완료. -----")
    db.disconnect()
Ejemplo n.º 5
0
import requests
import time
from pathlib import Path
import sys
from DbConn import *

db = DbConn()

sql = """
SELECT *
FROM BOXOFFICE
"""

result = db.execute(sql)

print(type(result), result)
Ejemplo n.º 6
0

def dict_dot(a, b):
    return sum(a[key] * b[key] for key in a if key in b)


def dict_corr(a, b):
    keys = list(a.viewkeys() | b.viewkeys())
    return numpy.corrcoef([a.get(x, 0) for x in keys],
                          [b.get(x, 0) for x in keys])[0, 1]


config = configobj.ConfigObj(
    infile=open('/home/shaldengeki/llAnimuBot/config.txt', 'r'))
db = DbConn.DbConn(username=config['DB']['llBackup']['username'],
                   password=config['DB']['llBackup']['password'],
                   database=config['DB']['llBackup']['name'])

# assemble a list of topics.
sat_db = DbConn.DbConn(username=config['DB']['llAnimu']['username'],
                       password=config['DB']['llAnimu']['password'],
                       database=config['DB']['llAnimu']['name'])
sats = [
    eti.Topic(db, topic_id).load()
    for topic_id in sat_db.table('sats').fields('ll_topicid').where(
        completed=1).order('ll_topicid ASC').list(valField='ll_topicid')
]

# assemble a dict of all users and their post counts in each SAT.
users = {}
for sat in sats:
Ejemplo n.º 7
0
def insert_moviedetail(moviecd):
    db = DbConn()

    url = MOVIE_DETAIL_URL + '?key=' + API_KEY + '&movieCd=' + str(moviecd)
    data = requests.get(url).json()

    movie_info_list = data['movieInfoResult']['movieInfo']

    insert_query = '''
    INSERT INTO movie (movieCd,movieNm,movieNmEn,prdtYear,showTm,openDt,prdtStatNm,typeNm,nations,genre,genreSub,director,actors1,actors2,actors3,actors4,audits,prodCd,prodNm,distCd,distNm,staffs)
    VALUES(:movieCd,:movieNm,:movieNmEn,:prdtYear,:showTm,:openDt,:prdtStatNm,:typeNm,:nations,:genre,:genreSub,:director,:actors1,:actors2,:actors3,:actors4,:audits,:prodCd,:prodNm,:distCd,:distNm,:staffs)
    '''
    select_query = "SELECT * FROM movie WHERE MOVIECD = :MOVIECD"

    #변수 조건
    actor1 = movie_info_list['actors'][0]['peopleNm'] if len(
        movie_info_list['actors']) > 0 else ''
    actor2 = movie_info_list['actors'][1]['peopleNm'] if len(
        movie_info_list['actors']) > 1 else ''
    actor3 = movie_info_list['actors'][2]['peopleNm'] if len(
        movie_info_list['actors']) > 2 else ''
    actor4 = movie_info_list['actors'][3]['peopleNm'] if len(
        movie_info_list['actors']) > 3 else ''

    nations = movie_info_list['nations'][0]['nationNm'] if len(
        movie_info_list['nations']) > 0 else ''

    genre = movie_info_list['genres'][0]['genreNm'] if len(
        movie_info_list['genres']) > 0 else ''
    genreSub = movie_info_list['genres'][1]['genreNm'] if len(
        movie_info_list['genres']) > 1 else ''

    director = movie_info_list['directors'][0]['peopleNm'] if len(
        movie_info_list['directors']) > 0 else ''

    audits = movie_info_list['audits'][0]['watchGradeNm'] if len(
        movie_info_list['audits']) > 0 else ''

    openDt = datetime.strptime(movie_info_list['openDt'], '%Y%m%d')
    prodCd = ""
    prodNm = ''
    distCd = ''
    distNm = ''

    if len(movie_info_list['companys']) > 0:
        for n in movie_info_list['companys']:
            if n['companyPartNm'] == '제작사':
                prodCd = n['companyCd']
                prodNm = n['companyNm']
                break
        for n in movie_info_list['companys']:
            if n['companyPartNm'] == '배급사':
                distCd = n['companyCd']
                distNm = n['companyNm']
                break

    staffs = movie_info_list['staffs'][0]['peopleNm'] if len(
        movie_info_list['staffs']) > 0 else ''

    query_params = {
        'movieCd': movie_info_list['movieCd'],
        'movieNm': movie_info_list['movieNm'],
        'movieNmEn': movie_info_list['movieNmEn'],
        'prdtYear': movie_info_list['prdtYear'],
        'showTm': movie_info_list['showTm'],
        'openDt': openDt,
        'prdtStatNm': movie_info_list['prdtStatNm'],
        'typeNm': movie_info_list['typeNm'],
        'nations': nations,
        'genre': genre,
        'genreSub': genreSub,
        'director': director,
        'actors1': actor1,
        'actors2': actor2,
        'actors3': actor3,
        'actors4': actor4,
        'audits': audits,
        'prodCd': prodCd,
        'prodNm': prodNm,
        'distCd': distCd,
        'distNm': distNm,
        'staffs': staffs
    }

    select_result = db.execute(select_query, {"MOVIECD": moviecd})

    if len(select_result) == 0:
        # print(insert_query, query_params)
        db.execute(insert_query, query_params)

    print(movie_info_list['movieNm'], "작업 완료. -----")
    db.disconnect()
Ejemplo n.º 8
0
def before_request():
    g.db = DbConn.DbConn(app.config['MYSQL_USERNAME'],
                         app.config['MYSQL_PASSWORD'], app.config['MYSQL_DB'])
Ejemplo n.º 9
0
#   try:
#     if sproc:
#       if sproc[0] in name_proc.keys():
#         name_proc[sproc[0]] = name_proc[sproc[0]].append(sproc[1])
#       else:
#         name_proc[sproc[0]] = [sproc[1]]
#   except AttributeError:
#     print("Not found: {0}".format(sproc[0]))

# print(len(name_proc.keys()))
# print("".join(txt))
from Nums import DbType
from Utils import JLogger
x = DbType.SYBASE
logger = JLogger("/workspace/outme.log", "test")
db = DbConn(x, "sa", "myPassword", "dbsybase", "5000", "tempdb", logger)
# statement = """
# CREATE TABLE mockData(
#   pid int not null,
#   img image
# )
# """
# DataUtils.uploadImage(db.conn, "/workspace/samples/img.png",
# statement = """
# SELECT * FROM blobtest
# """
# queryList = db.queryToList(statement)
# for y in queryList:
#   print(y)

# statement = """
Ejemplo n.º 10
0
def insert_boxoffice(showrange):
    db = DbConn()
    url = BOX_OFFICE_URL+"?key="+API_KEY+"&targetDt="+showrange
    data = requests.get(url).json()
    
    boxOfficeResult = data['boxOfficeResult']
    showRange = boxOfficeResult['showRange']
    dailyBoxOfficeList = boxOfficeResult['dailyBoxOfficeList']

    insert_query = """
    INSERT INTO boxOffice
    (showrange, rnum, rank, rankinten, rankoldandnew, moviecd, movienm, opendt, salesamt, salesshare, salesinten, saleschange, salesacc, audicnt, audiinten, audichange, audiacc, scrncnt, showcnt)
    VALUES (:showrange, :rnum, :rank, :rankinten, :rankoldandnew, :moviecd, :movienm, :opendt, :salesamt, :salesshare, :salesinten, :saleschange, :salesacc, :audicnt, :audiinten, :audichange, :audiacc, :scrncnt, :showcnt)
    """
    select_query = "SELECT * FROM BOXOFFICE WHERE SHOWRANGE = :SHOWRANGE AND MOVIECD = :MOVIECD"


    for i in dailyBoxOfficeList: # 하루에 1위~10위 데이터 들어있음
        salesInten = i['salesInten']
        openDt = i['openDt']
        if len(openDt) < 3:
            continue

        audiInten = i['audiInten']
        rnum = i['rnum']
        movieCd = i['movieCd']
        audiAcc = i['audiAcc']
        showCnt = i['showCnt']
        audiCnt = i['audiCnt']
        salesAmt = i['salesAmt']
        movieNm = i['movieNm']
        rank = i['rank']
        audiChange = i['audiChange']
        rankInten = i['rankInten']
        scrnCnt = i['scrnCnt']
        rankOldAndNew = i['rankOldAndNew']
        salesChange = i['salesChange']
        salesAcc = i['salesAcc']
        salesShare = i['salesShare']
        
        query_params = {
            'showrange' : showRange,
            'rnum' : rnum,
            'rank' : rank,
            'rankinten' : rankInten,
            'rankoldandnew' : rankOldAndNew,
            'moviecd' : movieCd,
            'movienm' : movieNm,
            'opendt' : openDt,
            'salesamt' : salesAmt,
            'salesshare' : salesShare,
            'salesinten' : salesInten,
            'saleschange' : salesChange,
            'salesacc' : salesAcc,
            'audicnt' : audiCnt,
            'audiinten' : audiInten,
            'audichange' : audiChange,
            'audiacc' : audiAcc,
            'scrncnt' : scrnCnt,
            'showcnt' : showCnt
        }

        select_result = db.execute(select_query, {"SHOWRANGE": showRange, "MOVIECD": movieCd})

        if len(select_result) == 0:
            db.execute(insert_query, query_params)
            # print(showRange, movieNm,'성공적으로 DB에 입력했슴')
        # else :
        #     print(showRange, movieNm,'는 안대요 안대~!')
    print(showrange, "작업 완료. -----")
    db.disconnect()