def get_pro(http, p_id): global i url = product_url % (p_id, random_key(4)) try: # response = http.get(url, headers=headers) # print response.status_code response = requests.get("https://" + url, headers=headers) connect = db.connect() connect.execute( text("INSERT INTO test (name, value) VALUES (:name, :value)"), *[{ 'name': 1, 'value': 2 }, { 'name': 3, 'value': 4 }]) connect.close() # json.loads(response.read()) i += 1 print i except Exception, e: print traceback.format_exc(e)
def set_status(site_id, status): sql = text("update category set status=:status where site_id=:site_id;") connect = db.connect() cursor = connect.execute(sql, status=status, site_id=site_id) cursor.close() connect.close() return True
def raw_save(tag, name, p_id, is_leaf, level, site_id, status="0"): sql = text("insert into category (tag, category.name, p_id, is_leaf, category.level, site_id, status) values (:tag, :c_name, :p_id, :is_leaf, :c_level, :site_id, :status) on duplicate key update status=:status") connect = db.connect() cursor = connect.execute(sql, tag=tag, c_name=name, p_id=p_id, is_leaf=is_leaf, c_level=level, site_id=site_id, status=status) cursor.close() s_sql = text("select id from category where tag=:tag and site_id=:site_id;") cursor = connect.execute(s_sql, tag=tag, site_id=site_id) result = cursor.fetchone() connect.close() return result[0]
def pro_review_cnt(cls, pro_no): try: connect = db.connect() sql = text( "select count(*) from joom_review where pro_no=:pro_no;") cursor = connect.execute(sql, pro_no=pro_no) return cursor.fetchone()[0] except: return 0 finally: cursor.close() connect.close()
def raw_pure_upsert(cls, key_lst, kind, site): connect = db.connect() if isinstance(key_lst[0], list): for k_lst in key_lst: values = zip(k_lst, [kind] * len(k_lst), [site] * len(k_lst), [TaskSchedule.INIT] * len(k_lst), [0] * len(k_lst)) cls._raw_batch_upsert(connect, values) else: values = zip(key_lst, [kind] * len(key_lst), [site] * len(key_lst), [TaskSchedule.INIT] * len(key_lst), [0] * len(key_lst)) cls._raw_batch_upsert(connect, values) connect.close() return True
try: connect = db.connect() sql = text( "select count(*) from joom_review where pro_no=:pro_no;") cursor = connect.execute(sql, pro_no=pro_no) return cursor.fetchone()[0] except: return 0 finally: cursor.close() connect.close() if __name__ == "__main__": from sql.base import db connect = db.connect() JoomPro.batch_upsert(connect, [{ "pro_no": "111111111", "shop_no": "222222222", "create_time": datetime.datetime.now(), "update_time": datetime.datetime.now(), }, { "pro_no": "3333333333123", "shop_no": "222222123222", "create_time": datetime.datetime.now(), "update_time": datetime.datetime.now(), }]) connect.execute( text("INSERT INTO test (name, value) VALUES (:name, :value)"), *[{ 'name': 1,
def get_create_table_str(cls): connect = db.connect() res = connect.execute('show create table %s' % cls.__tablename__) connect.close() return res.first()[1]
def clear(cls): connect = db.connect() create_str = cls.get_create_table_str() connect.execute('drop table %s;' % cls.__tablename__) connect.execute(create_str) connect.close()