-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueries.py
More file actions
95 lines (83 loc) · 2.92 KB
/
queries.py
File metadata and controls
95 lines (83 loc) · 2.92 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
"""performs CURD operations
"""
from sqlalchemy.orm import sessionmaker
from dataQueue import engine, User, config
import sqlalchemy.exc
import logging
from logging import basicConfig
from LOGCONFIG.dict_config import config
logging.config.dictConfig(config)
logger = logging.getLogger(__name__)
# creating session to intract with database
Session = sessionmaker(bind=engine)
def display_data():
session = Session()
try:
users = session.query(User).all()
except NameError as e:
logger.error(e)
else:
user_list = []
for user in users:
values = {
"id": user.id,
"username": user.username,
"comment": user.comment
}
user_list.append(values)
session.close()
return user_list
def insert_data(uname, comment):
session = Session()
user = User()
user.username = uname
user.comment = comment
try:
session.add(user)
session.commit()
logger.info('Record Created Successfully')
return 'Record Created Successfully'
except sqlalchemy.exc.IntegrityError as e:
logger.error(e)
return("username already exists!")
session.close()
def update_data(uid, u_name, u_comment):
session = Session()
u_id = '{}'.format(uid)
try:
if u_name is None and u_comment is None:
return 'Required minimum one optional argument [--username][--comment]'
elif u_name is None:
x = session.query(User).filter(User.id == u_id).first()
x.comment = u_comment
session.commit()
logger.info('comment updated to : {} '.format(u_comment))
return 'comment updated to : {} '.format(u_comment)
elif u_comment is None:
x = session.query(User).filter(User.id == u_id).first()
x.username = u_name
session.commit()
session.close()
logger.info('username updated to : {}'.format(u_name))
return 'username updated to : {}'.format(u_name)
else:
x = session.query(User).filter(User.id == u_id).first()
x.username = u_name
x.comment = u_comment
session.commit()
session.close()
logger.info('updated username => {} and comment => {}'.format(
u_name, u_comment))
return 'updated username => {} and comment => {}'.format(u_name, u_comment)
except sqlalchemy.exc.IntegrityError as e:
logger.error(e)
return 'username must be unique'
return 'Updated'
def delete_data(uid):
session = Session()
u_id = '{}'.format(uid)
x = session.query(User).filter(User.id == u_id). \
delete(synchronize_session=False)
session.commit()
session.close()
return 'Deleted data for ID : {} '.format(u_id)