-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpg_client.py
More file actions
31 lines (27 loc) · 1.1 KB
/
pg_client.py
File metadata and controls
31 lines (27 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import logging
import psycopg2
class PgClient:
def __init__(self, host, port, user, passwd, db):
self.pg_cl = psycopg2.connect(host=host, port=port, database=db, user=user, password=passwd)
def insert_sticker_pack(self, name, title, thumb, animated):
query = "insert into sticker_pack(pack_name,title,thumb,animated,created_at) values(%s,%s,%s,%s, get_unix_timestamp()) ON CONFLICT (pack_name) DO UPDATE set created_at = get_unix_timestamp()"
try:
cur = self.pg_cl.cursor()
cur.execute(query, (name, title, thumb, animated))
self.pg_cl.commit()
cur.close()
except psycopg2.errors as e:
logging.error(e)
return False
return True
def set_recommended_pack(self, name):
query = "update sticker_pack set recommended = 1 where pack_name=%s"
try:
cur = self.pg_cl.cursor()
cur.execute(query, (name,))
self.pg_cl.commit()
cur.close()
except psycopg2.errors as e:
logging.error(e)
return False
return True