4 from datetime
import datetime
5 from pytz
import timezone
16 SUBJECT_ID=
"subject_id"
17 SUBJECT_NAME=
"subject_name"
18 SUBJECT_MID=
"subject_mid"
19 ASSIGNMENT_NAME=
"assignment_name"
20 AUPLOAD_ON=
"aupload_on"
23 AATTACHMENTS_FILE_NAME=
"aattachments_file_name"
27 QUPLOAD_ON=
"qupload_on"
32 ANNOUNCENMENTS=
"announcements_id"
34 ANUPLOAD_ON1=
"aNupload_on1"
37 ANUPLOAD_ON2=
"aNupload_on2"
40 ANUPLOAD_ON3=
"aNupload_on3"
43 ANUPLOAD_ON4=
"aNupload_on4"
46 ANUPLOAD_ON5=
"aNupload_on5"
50 LATEST_COURSE_CONTENTS=
"latest_course_contents"
53 connection=sqlite3.Connection(
"management.db")
54 cursor=connection.cursor()
63 def create_table(self):
64 connection=sqlite3.Connection(
"management.db")
65 cursor=connection.cursor()
66 connection.execute(
" CREATE TABLE IF NOT EXISTS moodle_data"+
" ( " + SUBJECT_ID +
67 " INTEGER PRIMARY KEY, " +
68 SUBJECT_NAME +
" TEXT, " +
69 SUBJECT_MID +
" INTEGER, " + ASSIGNMENT_NAME +
" TEXT, "
70 + AUPLOAD_ON +
" INTEGER, " + ADUE_DATE +
" INTEGER, "
71 + AINTRO +
" TEXT, " + AATTACHMENTS_FILE_NAME +
" TEXT, "
72 + QUIZ_NAME +
" TEXT, "
73 + QUPLOAD_ON +
" INTEGER, "+ QDUE_DATE +
" INTEGER, "+ GRADE +
" INTEGER, "
74 + ANNOUNCENMENTS+
" INTEGER, "+ ANNAMES1 +
" TEXT, "+ ANUPLOAD_ON1 +
" INTEGER, "
75 + ANINTRO1 +
" TEXT, "+ ANNAMES2 +
" TEXT, "+ ANUPLOAD_ON2 +
" INTEGER, "+ ANINTRO2
76 +
" TEXT, "+ ANNAMES3 +
" TEXT, "+ ANUPLOAD_ON3 +
" INTEGER, "+ ANINTRO3 +
" TEXT, "
77 + ANNAMES4 +
" TEXT, "+ ANUPLOAD_ON4 +
" INTEGER, "+ ANINTRO4 +
" TEXT, "
78 + ANNAMES5 +
" TEXT, "+ ANUPLOAD_ON5 +
" INTEGER, "+ ANINTRO5 +
" TEXT, "+ LATEST_COURSE_CONTENTS +
" TEXT)")
80 def insert(self,subject_id,subject_name):
81 connection=sqlite3.Connection(
"management.db")
82 cursor=connection.cursor()
83 cursor.execute(
"INSERT INTO moodle_data VALUES("+str(subject_id)+
",'"+subject_name+
"',0,'null',0,0,'null','null', 'null',0,0,0 ,0,'null',0,'null','null',0,'null','null',0,'null','null',0,'null','null',0,'null','null')")
86 def update(self,row,column,dictt):
87 connection=sqlite3.Connection(
"management.db")
88 cursor=connection.cursor()
91 cursor.execute(
"UPDATE moodle_data SET subject_mid="+str(dictt)+
" WHERE subject_id="+str(row))
101 t6=i[
"introattachments"]
106 t7=t7+k[
"filename"]+
"\n"
107 t7=t7+k[
"fileurl"]+
"\n"
108 cursor.execute(
"UPDATE moodle_data SET assignment_name="+
"?"+
" , aupload_on="+
"?"
109 +
" , adue_date="+
"?"+
" , aintro="+
"?" +
" , aattachments_file_name="+
"?" +
" WHERE subject_id="+
"?",(t2,t3,t4,t5,t7,row))
119 cursor.execute(
"UPDATE moodle_data SET quiz_name="+
"?"+
" , qupload_on="+
"?"+
120 " , qdue_date="+
"?"+
" , grade="+
"?" +
" WHERE subject_id="+
"?",(t2,t3,t4,t5,row))
123 cursor.execute(
"UPDATE moodle_data SET announcements_id="+str(dictt[
"id"])+
" WHERE subject_id="+str(row))
127 t7=t7+dictt[
"name"]+
"\n"
128 dictt=dictt[
"modules"]
132 t7=t7+k[
"fileurl"]+
"\n"
135 cursor.execute(
"UPDATE moodle_data SET latest_course_contents="+
"?"+
" WHERE subject_id="+
"?",(t7,row))
144 cursor.execute(
"UPDATE moodle_data SET annames%s=" %n+
"?"+
" , anupload_on%s=" %n+
"?"+
" , anintro%s=" %n+
"?"+
" WHERE subject_id=?",(t2,t3,t4,row))
147 connection=sqlite3.Connection(
"management.db")
148 cursor=connection.cursor()
149 rows = cursor.execute(
"SELECT subject_id, subject_name,subject_mid,assignment_name,aupload_on,adue_date,aintro,aattachments_file_name,quiz_name,qupload_on,qdue_date,grade,announcements_id,annames1,anupload_on1,anintro1,annames2,anupload_on2,anintro2,annames3,anupload_on3,anintro3,annames4,anupload_on4,anintro4,annames5,anupload_on5,anintro5,latest_course_contents FROM moodle_data").fetchall()
152 def get_courseid(self,sub_id):
153 connection=sqlite3.Connection(
"management.db")
154 cursor=connection.cursor()
155 rows = cursor.execute(
"SELECT subject_mid, announcements_id FROM moodle_data WHERE subject_id = " + sub_id).fetchall()
158 def get_all_courses(self):
160 connection=sqlite3.Connection(
"management.db")
161 cursor=connection.cursor()
162 rows = cursor.execute(
"SELECT subject_id FROM moodle_data").fetchall()
168 def delete_sub(self):
169 connection=sqlite3.Connection(
"management.db")
170 cursor=connection.cursor()
171 cursor.execute(
"DELETE FROM moodle_data WHERE subject_id = 725")
175 def assignment_details(self,subid):
176 connection=sqlite3.Connection(
"management.db")
177 cursor=connection.cursor()
178 rows = cursor.execute(
"SELECT assignment_name,adue_date,aintro,aattachments_file_name FROM moodle_data WHERE subject_id = " + subid).fetchall()
184 i =
"Due Date : " + getDate(i)
189 i =
"PDFs/URLs : " + i
194 def quiz_details(self,subid):
195 connection=sqlite3.Connection(
"management.db")
196 cursor=connection.cursor()
197 rows = cursor.execute(
"SELECT quiz_name,qdue_date, grade FROM moodle_data WHERE subject_id = "+ subid).fetchall()
202 i =
"Due Date : " + getDate(i)
205 i =
"Grade : " + str(i)
210 def course_contents(self, subid):
211 connection=sqlite3.Connection(
"management.db")
212 cursor=connection.cursor()
213 rows = cursor.execute(
"SELECT latest_course_contents FROM moodle_data WHERE subject_id = "+ subid).fetchall()
219 def get_announcements(self,subid):
220 connection=sqlite3.Connection(
"management.db")
221 cursor=connection.cursor()
222 rows = cursor.execute(
"SELECT annames1, aNupload_on1 , anintro1 , annames2 , aNupload_on2 , anintro2 FROM moodle_data WHERE subject_id = "+ subid).fetchall()
227 i =
"Date : " + getDate(i)
229 i =
"Date : " + getDate(i)
234 def getDate(unixdate):
236 return str(datetime.utcfromtimestamp(ts).astimezone(timezone(
'Asia/Kolkata')).strftime(
'%Y-%m-%d'))
This is used for maintaining the Student moodle data.