From 90cec9c695242e33c93ebef101d2d496bede46a2 Mon Sep 17 00:00:00 2001 From: tirilane Date: Sat, 14 Jun 2008 17:48:48 +0000 Subject: [PATCH] Must fix coursesUsesBooks et al. --- egon.db | Bin 15360 -> 15360 bytes egon.py | 67 +++++++++++++++++++++++++++++++++++++------------------- 2 files changed, 45 insertions(+), 22 deletions(-) diff --git a/egon.db b/egon.db index 6936b6f8eaf62dedfa63bb6b87df68eef4342943..0394b6f55847abd7b8d425dead935afeefe210f8 100644 GIT binary patch delta 707 zcmZ8f&ubGw6rP#SWj8UV#Oqmxg9wTj4_-Xi*<_W}85rKY`QG=w_ui~5t}H%RY4XkF zcLcP0D8HyG$rFSSV2$7audx=S##gaC1vyWtnoZqu+x6N~JYhTBth?6jUeoASszoMG ziRW@^q1o?x0+2{XfLYJ88tst2nUH;t#ge%Gi} z;{yph1V6BY4}=8i+$-D}msAlN5l2FhkyMd7a{f!ta*{5vBiuv0Lc{79wg^6AOVqZB z2WOZxlh0Gr9im&NYk9ldb*t$)w#hA&s8qg?r92YpT78$>+^LB@I6_01Ha8s_3THS7 zd-pR)UEIUjlbAU|&C)3U&lMc%IF?Bgh3JHxf`m)>OcV60xbFFn&;5?wjmcRd@!7Kf zsJP_cFD0*bjk-2Bzi?iQYa^@CHH`Maf5iR7=^LRp7DD|`#p|(-G$35P=ASOzV{`L< zr<8#}_|pX~cv*T#N7reuU=+ZhGIq?J16O_@g4Wd+=yOzxh%WA&z{M2gjlQoh}=LK1vfD HUZ%<)Don~D literal 15360 zcmeHOy>Ht_6zB0o$&w|zj;#oWV)z`xbrg#!NqyN)fmC*sz>S>`MX8e^5NPvkvzA1K zqMUkElDR1Q2NYcjbm-WrTZRG|x*p$WQl$W)+3w=O+?Nu*5&4Ny37Oi~hgcR#*+ z@AuxlqmI(e8_TkW(T1YdMGa-B00jW`5keG2ZIHKf3z7nGR5;Ha)%#Bw{X+PU-q3Fz z_GA1Sp8=nN!)727h|xb${h&Gk9>b^f*L0g617E^6*aUylOYk&24f^f3D$Nh0qLQp3Rv!H>D|LZOEbT#_4dYYR*4fDRoV=jUb%x@azkI3m{p9k`?@T}@bE zNS^9S77(AG&+3X>nt-c{hQwx5Rdj7qBc7T#G-rx7_H5L^5=MxXgb{&Q$-5ZoEAEJL zOVPjo&;UqOAJ_B!nfmk33fSvG%oTb1p{E8Z|+u#Xj+rWUc#Edvg zeNksAdeT`6$DO4}*jXCvBj#VS`-_F(&(tZq6bzD5SCiMXW;E)U@8Kf)3(y08G&a zDhY%x%Ar+G$Z@Pt;J_rXgz;W5fd~`wAVOFV!c~gQ{;Ti_neV@Y+S}&{Un8G^BgMce zh9r&y(ncuBkaXdlEP`g6XO0M%ZJw!tG21*70&TW=W&vaVr^(GdeBs~WAE^lQl|AMR zOwggx!J%YwctvSQ;_fVO5AbEYuC-NM&SfV+Xq-TX7#Lxaql5N3ft4KS1d|*$D)q77O9$5c|A>N5;iGrKc;5z} zfuqL26`Gm8%L4LzqxW6EEH-5cUB0!1uB*zXD%R_AV-ww%wJmggSKCq=NNh;xhPEQA z+vsMyUdQT&jB65L0W&?7BElR?0>!nKQfrgP{EIU)t71*VD!M7|$lCfAH0S^46nqZ< zIBLB4`uYs`3>?hB5S(@=722$EWCmmY4}d2WctU?mzkp82^&0z70i z{b_u$)silp@WIb6M&K%68@}puSR~fRu$WtVw9^rW2$`b9Cq%(P$HQG59bV0%2<@h zENUGBE;_8rJzU(!c-w7;g9pQ~HAUGr&390U*0;o_KFjX6wkdAnmPfs$G%#AYc5S&- zyqY#7cWu`NyGYWtN?SfjBV7XrQEVWXC?*dg$}+RcTPIA6j#7P;OwsQ_1`6;OPzJwI zGKl~0vEE7bhZ3n2cn~vuv1mlptrl)A5dGby0hedoZF?MK#>=82c}14a%u;L36^Je( zdsmw@>flr)oH`#3Ca$Fp;?S*7m3Nm1JCSfGF**u5io;M76ZJ4`pFx%>PM5pKoF;2E zFLPU4imDl*)eW80OeC1NF#2jsYzy>9!GVs-7}`I)U}(RLTP>wweg<9In{|7%Co4=I zvAv-xbxp2&>8vS^1}jrIhM03qX}e7?396#hJ^J+Ua~cu#(#Y1vF=l3huVTrxw91>u zQ0H_gl!(W{gK2{yJ$&_dpNk#6W)C;A9f_~+S(508Z#}HUl5AvJl7CB=OXZ&5r~875 z^YMfHu4`B2_0O>GbQ%-Pl zezIQB!qTpaS)^}jijnxFKk~<-?9AJL`e@Vf={q_GtaJ=7z z&%hgDpdTjnM*{llKW&}szi2nU|C2xc_?ypw&%iNcK%f8p@qY{*@0;v1Kp6NJ`e#y{ diff --git a/egon.py b/egon.py index 4730b1d..9fe1bdd 100755 --- a/egon.py +++ b/egon.py @@ -11,6 +11,7 @@ import sys import string import datetime import time +import random from PyQt4.QtCore import * from PyQt4.QtGui import * #from PyQt4 import QtGui @@ -29,7 +30,7 @@ coursesString = [] books = [] booksString = [] chosenDay = QDate() - +colors = [] class MainWindow(QMainWindow): @@ -887,14 +888,11 @@ class ScheduleTab(QWidget): def getRows(self, fromtime, totime): rows = [] - fromTime = string.atoi(fromtime) - toTime = string.atoi(totime) - for i in range(fromTime, toTime): - rows.append(i) + for i in range(fromtime, totime): + rows.append(i-8) return rows -## Type skal bestemme brush, fag skal bestemme farge!!! Må skrive om course slik at farge velges ved adding def getBackground(self, type, course): if type.compare(QString(self.trUtf8("Lecture"))) == 0: brush = QBrush(Qt.HorPattern) @@ -997,6 +995,7 @@ class AddScheduleDlg(ScheduleDlg): course = getCourseFromDB(getCourseCode(courseFull)) addNewLessonToDB(day, fromTime, toTime, course, type, room) + getMain().schedule.addLessonToTable(ScheduleModel(day, fromTime, toTime, course, type, room)) class EditScheduleDlg(ScheduleDlg): @@ -1020,8 +1019,8 @@ class EditScheduleDlg(ScheduleDlg): class ScheduleModel(): day = "" - fromTime = "" - toTime = "" + fromTime = 0 + toTime = 0 course = None type = "" room = "" @@ -1135,11 +1134,18 @@ class AddCourseDlg(CourseDlg): def accept(self): courseCode = unicode(self.codeEdit.text()) courseTitle = unicode(self.titleEdit.text()) - courseShort = unicode(self.shortEdit.text()) + courseShort = unicode(self.shortEdit.text()) courseBooks = self.books - course = CourseModel(courseCode, courseTitle, courseShort, courseBooks) + color = getRandomColor() + global colors + while color in colors: + color = getRandomColor() + colors.append(color) + course = CourseModel(courseCode, courseTitle, courseShort, color, courseBooks) self.close() - addNewCourseToDB(courseCode, courseTitle, courseShort, courseBooks) + for book in courseBooks: + self.addNewBookCourse(book) + addNewCourseToDB(courseCode, courseTitle, courseShort, color, courseBooks) def addNewBookCourse(self, book): self.books.append(book) @@ -1154,11 +1160,12 @@ class CourseModel(): full = "" books = [] - def __init__(self, code, title, short, books): + def __init__(self, code, title, short, color, books): self.code = code self.title = title self.short = short self.setFull(code, title) + self.color = color self.books = books def getCode(self): @@ -1176,6 +1183,9 @@ class CourseModel(): def getFull(self): return self.full + def getColor(self): + return self.color + def addBook(self, book): books.append(book) @@ -1322,8 +1332,8 @@ def initScheduleDB(cursor): cursor.execute(''' CREATE TABLE Lesson ( day TEXT, - fromtime TEXT, - totime TEXT, + fromtime INT, + totime INT, course TEXT, type TEXT, room TEXT, @@ -1346,7 +1356,10 @@ def initCourseDB(cursor): CREATE TABLE Course ( code TEXT PRIMARY KEY, title TEXT, - short TEXT + short TEXT, + red INT, + green INT, + blue INT ) ''') @@ -1398,13 +1411,17 @@ def addNewLessonToDB(day, fromtime, totime, course, type, room): exitDB(conn) -def addNewCourseToDB(code, title, short, books): +def addNewCourseToDB(code, title, short, color, books): cursor, conn = initDB() + red = color.red() + green = color.green() + blue = color.blue() + cursor.execute(''' - INSERT INTO Course (code, title, short) - VALUES (?, ?, ?) - ''', (code, title, short)) + INSERT INTO Course (code, title, short, red, green, blue) + VALUES (?, ?, ?, ?, ?, ?) + ''', (code, title, short, red, green, blue)) for book in books: cursor.execute(''' @@ -1500,7 +1517,7 @@ def getCoursesFromDB(): courses = [] for row in cursor.fetchall(): - courses.append(CourseModel(row[0], row[1], row[2], [])) + courses.append(CourseModel(row[0], row[1], row[2], QColor(row[3], row[4], row[5]), [])) for course in courses: cursor.execute(''' @@ -1530,7 +1547,7 @@ def getCourseFromDB(courseCode): ''', (courseCode,)) for row in cursor.fetchall(): - course = CourseModel(row[0], row[1], row[2], []) + course = CourseModel(row[0], row[1], row[2], QColor(row[3], row[4], row[5]), []) cursor.execute(''' SELECT bookIsbn @@ -1674,7 +1691,7 @@ def getCourseCode(courseFull): def addNewCourse(course): courses.append(course) - addNewCourseToDB(course.getCode(), course.getTitle(), course.getShort()) + addNewCourseToDB(course.getCode(), course.getTitle(), course.getShort(), course.getColor()) addNewCourseString(course) def getCourses(): @@ -1736,6 +1753,12 @@ def emptyBooks(): books = [] booksString = [] +def getRandomColor(): + return QColor(getRandomColorPart(), getRandomColorPart(), getRandomColorPart()) + +def getRandomColorPart(): + return random.random()*256 + def getMain(): global main return main