117 lines
3.0 KiB
Python
117 lines
3.0 KiB
Python
""" The DataCenter module uses sqlite3 for storage of Data By default."""
|
|
import sqlite3
|
|
conn = sqlite3.connect("Intern.db")
|
|
def checkState():
|
|
"""
|
|
Function Name: checkState.
|
|
|
|
Function Use: Rectify Integerity of the DataBase.
|
|
"""
|
|
try:
|
|
c = conn.cursor()
|
|
c.execute("SELECT * from INTER_TAB")
|
|
except:
|
|
c = conn.cursor()
|
|
c.execute("CREATE TABLE INTER_TAB(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,user_name TEXT)")
|
|
|
|
try:
|
|
c = conn.cursor()
|
|
c.execute("SELECT * FROM RATING_TAB")
|
|
except:
|
|
c = conn.cursor()
|
|
c.execute("CREATE TABLE RATING_TAB(user_name TEXT,rating INTEGER, FOREIGN KEY(user_name) REFERENCES INTER_TAB(user_name))")
|
|
|
|
|
|
def readAll():
|
|
"""
|
|
Function Name: readAll.
|
|
|
|
Function use: To Retrieve all the relavant Interns details.
|
|
"""
|
|
|
|
c = conn.cursor()
|
|
data = c.execute("SELECT name,user_name FROM INTER_TAB").fetchall()
|
|
conn.commit()
|
|
|
|
return data
|
|
|
|
|
|
def write(intern_name,intern_user_name):
|
|
"""
|
|
Function Name: write.
|
|
|
|
Function Use: writes the Intern's Data to the DataBase.
|
|
"""
|
|
c = conn.cursor()
|
|
c.execute("INSERT INTO INTER_TAB(name,user_name) VALUES(?,?)",(intern_name,intern_user_name))
|
|
|
|
conn.commit()
|
|
|
|
def delete(intern_name):
|
|
"""
|
|
Function Name: delete.
|
|
|
|
Function Use: Removes Intern data from the DataBase.
|
|
"""
|
|
c = conn.cursor()
|
|
c.execute("DELETE FROM INTER_TAB WHERE user_name=?",(intern_name,))
|
|
conn.commit()
|
|
|
|
|
|
def update(intern_name,intern_user_name):
|
|
#Updates Existing - Intern Details - Not Used Currently
|
|
c = conn.cursor()
|
|
c.execute("UPDATE INTER_TAB SET user_name = ? WHERE intern_name = ?",(intern_name,intern_user_name))
|
|
conn.commit()
|
|
|
|
|
|
def insertRating(user_name,rating):
|
|
"""
|
|
Function name:insert Rating.
|
|
|
|
Function use: Adds/Updates ratings of the Intern's in the DB.
|
|
"""
|
|
|
|
c = conn.cursor()
|
|
try:
|
|
k = c.execute("SELECT * FROM RATING_TAB WHERE user_name = ? ",(user_name,)).fetchone()
|
|
if not k:
|
|
raise sqlite3.OperationalError
|
|
c.execute("UPDATE RATING_TAB SET rating = ? WHERE user_name = ?",(rating,user_name))
|
|
conn.commit()
|
|
except sqlite3.OperationalError:
|
|
c.execute("INSERT INTO RATING_TAB(user_name,rating) VALUES(?,?)",(user_name,rating))
|
|
conn.commit()
|
|
|
|
|
|
def clearRatings():
|
|
"""
|
|
Function Name:clearRatings.
|
|
|
|
Function Use:Delete Unwanted Ratings from the DataBase.
|
|
|
|
"""
|
|
c = conn.cursor()
|
|
c.execute("DELETE FROM RATING_TAB")
|
|
|
|
|
|
def retrieveRating():
|
|
"""
|
|
Function Name: retrieveRating
|
|
|
|
Function use: Get the Rating from Rating DataBase.
|
|
"""
|
|
c = conn.cursor()
|
|
data = c.execute("SELECT * FROM RATING_TAB").fetchall()
|
|
return data
|
|
|
|
|
|
def removeRating(user_name):
|
|
"""
|
|
Function Name: removeRating
|
|
|
|
Function use: Delete a specific user rating Data.
|
|
"""
|
|
c = conn.cursor()
|
|
c.execute("DELETE FROM RATING_TAB where user_name = ?",(user_name,))
|
|
conn.commit() |