Thread: [Pykafe-commits] SF.net SVN: pykafe: [70] trunk/pykafe/server/server.py
Status: Pre-Alpha
Brought to you by:
jnmbk
From: <jn...@us...> - 2007-06-02 16:24:06
|
Revision: 70 http://pykafe.svn.sourceforge.net/pykafe/?rev=70&view=rev Author: jnmbk Date: 2007-06-02 09:24:08 -0700 (Sat, 02 Jun 2007) Log Message: ----------- clean up some code note: we have a hanging gui now :/ Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-02 14:15:55 UTC (rev 69) +++ trunk/pykafe/server/server.py 2007-06-02 16:24:08 UTC (rev 70) @@ -39,6 +39,7 @@ tcpSocket.write(base64.encodestring(self.message)) tcpSocket.waitForBytesWritten() tcpSocket.disconnectFromHost() + self.terminate() class ListenerThread(QtCore.QThread): def __init__(self, parent, socketDescriptor, clients, config): @@ -65,7 +66,7 @@ client = self.clients[self.clientNumber] data = base64.decodestring(self.tcpSocket.readAll()) print "data:", data - + if data[:3] == "011": if client.session.state == ClientSession.notConnected: logger.add(logger.logTypes.information, "client connected", self.config.last_cashier, client.name) @@ -77,14 +78,15 @@ for i in filters: message += i client.sendMessage(message) - self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.working) message = "016" message += "%s|%s|%s|%s" % (self.config.price_fixedprice, self.config.price_fixedpriceminutes, self.config.price_onehourprice, self.config.price_rounding) client.sendMessage(message) + self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.notReady) else: + self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.notReady) #client is somehow rebooted #TODO: send current session information after taking 004 #message = "013" @@ -158,7 +160,7 @@ def sendMessage(self, message): thread = MessageSender(self.parent(), self.ip, int(self.config.network_port), message) - thread.run() + thread.start() self.threads.append(thread) print "This client has %d threads" % len(self.threads) @@ -216,8 +218,6 @@ self.ui = ui if self.config.startup_askpassword: self.config.set("last_cashier", cashier) - else: - self.cashier = self.config.last_cashier logger.add(logger.logTypes.information, _("cashier login to server"), self.config.last_cashier) if not self.listen(QtNetwork.QHostAddress(QtNetwork.QHostAddress.Any), int(self.config.network_port)): logger.add(logger.logTypes.error, _("Unable to start server: %s") % self.errorString(), self.config.last_cashier) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-02 19:22:41
|
Revision: 74 http://pykafe.svn.sourceforge.net/pykafe/?rev=74&view=rev Author: jnmbk Date: 2007-06-02 12:22:36 -0700 (Sat, 02 Jun 2007) Log Message: ----------- this is the reason of hanging Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-02 17:13:16 UTC (rev 73) +++ trunk/pykafe/server/server.py 2007-06-02 19:22:36 UTC (rev 74) @@ -28,8 +28,8 @@ _ = gettext.translation("pyKafe_server", fallback=True).ugettext class MessageSender(QtCore.QThread): - def __init__(self, parent, ip, port, message): - QtCore.QThread.__init__(self, parent) + def __init__(self, ip, port, message): + QtCore.QThread.__init__(self) self.ip, self.port, self.message = ip, port, message print "sending %s to %s:%d" % (message, ip, port) def run(self): @@ -39,7 +39,6 @@ tcpSocket.write(base64.encodestring(self.message)) tcpSocket.waitForBytesWritten() tcpSocket.disconnectFromHost() - self.terminate() class ListenerThread(QtCore.QThread): def __init__(self, parent, socketDescriptor, clients, config): @@ -91,7 +90,6 @@ #TODO: send current session information after taking 004 #message = "013" #client.sendSession() - pass elif data[:3] == "000": #User wants to open if client.session.state == ClientSession.working: @@ -114,7 +112,6 @@ elif data[:3] == "008": client.setState(ClientSession.waitingMoney) self.tcpSocket.disconnectFromHost() - self.terminate() class ClientThread(QtCore.QThread): def __init__(self, parent, config): @@ -159,7 +156,7 @@ self.setBackground(i, QtGui.QBrush(QtGui.QColor(colorName))) def sendMessage(self, message): - thread = MessageSender(self.parent(), self.ip, int(self.config.network_port), message) + thread = MessageSender(self.ip, int(self.config.network_port), message) thread.start() self.threads.append(thread) print "This client has %d threads" % len(self.threads) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-03 16:26:03
|
Revision: 85 http://pykafe.svn.sourceforge.net/pykafe/?rev=85&view=rev Author: jnmbk Date: 2007-06-03 09:26:05 -0700 (Sun, 03 Jun 2007) Log Message: ----------- make all connection things work Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-03 16:25:29 UTC (rev 84) +++ trunk/pykafe/server/server.py 2007-06-03 16:26:05 UTC (rev 85) @@ -27,6 +27,7 @@ locale.setlocale(locale.LC_MONETARY, "") _ = gettext.translation("pyKafe_server", fallback=True).ugettext + class MessageSender(QtCore.QThread): def __init__(self, ip, port, message): QtCore.QThread.__init__(self) @@ -40,6 +41,7 @@ tcpSocket.waitForBytesWritten() tcpSocket.disconnectFromHost() + class ListenerThread(QtCore.QThread): def __init__(self, parent, socketDescriptor, clients, config): QtCore.QThread.__init__(self, parent) @@ -66,39 +68,13 @@ data = base64.decodestring(self.tcpSocket.readAll()) print "data:", data if data[:3] == "011": - #TODO: Move these into setState - if client.session.state in (ClientSession.notConnected, ClientSession.notReady): - if self.config.filter_enable: - message = "007" - filterFile = open(self.config.filter_file) - filters = filterFile.readlines() - filterFile.close() - for i in filters: - message += i - client.sendMessage(message.strip()) - message = "016" - message += "%s|%s|%s|%s" % (self.config.price_fixedprice, - self.config.price_fixedpriceminutes, - self.config.price_onehourprice, - self.config.price_rounding) - client.sendMessage(message) - self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.notReady) - else: - self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.notReady) - #client is somehow rebooted - #TODO: send current session information after taking 004 - #message = "013" - #client.sendSession() + self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.notReady) elif data[:3] == "004": - if client.session.state == ClientSession.notReady: - self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.ready) + self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.ready) elif data[:3] == "000": - #User wants to open - if client.session.state == ClientSession.ready: - self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.requestedOpening) - else: - #TODO: illegal activity - pass + self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.requestedOpening) + elif data[:3] == "008": + self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.waitingMoney) elif data[:3] == "002": if client.session.state == ClientSession.ready: username, password = data[3:].split("|") @@ -107,14 +83,13 @@ if db.cur.fetchall()[0][0]: client.sendMessage("0031") logger.add(logger.logTypes.information, _("Member logged in"), computer = client.name, member = username) - self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.waitingMoney, user = username) + self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.loggedIn, user = username) else: logger.add(logger.logTypes.warning, _("Someone entered wrong password or username"), computer = client.name, member = username) client.sendMessage("0030") - elif data[:3] == "008": - self.emit(QtCore.SIGNAL("stateChange"), self.clientNumber, ClientSession.waitingMoney) self.tcpSocket.disconnectFromHost() + class ClientThread(QtCore.QThread): def __init__(self, parent, config): QtCore.QThread.__init__(self) @@ -123,16 +98,9 @@ def run(self): while(True): if self.client.session.state == ClientSession.loggedIn: - #calculate time - utime = self.client.session.startTime.secsTo(QtCore.QDateTime.currentDateTime()) - if utime/60 < int(self.config.price_fixedpriceminutes): - price = float(self.config.price_fixedprice) - else: - #TODO: round the price using price_rounding - price = float(self.config.price_onehourprice)/3600 * utime - self.emit(QtCore.SIGNAL("changetext"),3,currency(price)) + self.emit(QtCore.SIGNAL("changetext"),3,currency(self.session.calculatePrice(self.config))) usedTime = QtCore.QDateTime() - usedTime.setTime_t(utime) + usedTime.setTime_t(self.client.session.startTime.secsTo(QtCore.QDateTime.currentDateTime())) self.emit(QtCore.SIGNAL("changetext"),4,usedTime.toUTC().time().toString("hh.mm")) time.sleep(int(self.config.ui_refreshdelay)) @@ -164,24 +132,48 @@ print "This client has %d threads" % len(self.threads) def setState(self, state, user = "guest", endTime = ""): - if self.session.state == ClientSession.requestedOpening and state != ClientSession.requestedOpening: - self.changeColor("white") - elif state == ClientSession.loggedIn: + if state == ClientSession.loggedIn: self.session.user = user - self.setText(2, user) - self.setText(3, currency(0.0)) self.session.startTime = QtCore.QDateTime.currentDateTime() - self.setText(4, self.session.startTime.time().toString("00.00")) + self.setTexts((2,3,4), (user,currency(0.0), self.session.startTime.time().toString("00.00"))) if endTime: self.session.endTime = endTime self.setText(5, self.session.endTime.time().toString("hh.mm")) + self.changeColor("green") + elif state == ClientSession.notReady: + #if self.session.state in (ClientSession.notConnected, ClientSession.notReady): + if self.config.filter_enable: + message = "007" + filterFile = open(self.config.filter_file) + filters = filterFile.readlines() + filterFile.close() + for i in filters: + message += i + self.sendMessage(message.strip()) + message = "016" + message += "%s|%s|%s|%s" % (self.config.price_fixedprice, + self.config.price_fixedpriceminutes, + self.config.price_onehourprice, + self.config.price_rounding) + self.sendMessage(message) + self.setTexts((2,3,4,5), ("","","","")) + self.changeColor("orange") elif state == ClientSession.requestedOpening: self.changeColor("red") elif state == ClientSession.waitingMoney: self.changeColor("red") + elif state == ClientSession.notConnected: + if self.session.state == ClientSession.loggedIn: + logger.add(logger.logTypes.information, "client shutted down while logged in", computer = self.name, member = self.session.user, income = self.session.calculatePrice(self.config)) + self.setTexts((2,3,4,5), ("","","","")) + self.changeColor("orange") + elif state == ClientSession.ready: + self.setTexts((2,3,4,5), ("","","","")) + self.changeColor("lightblue") self.session.state = state self.setText(1, self.session.toString()) logger.add(logger.logTypes.information, _("State changed to %s") % self.session.toString(), member = self.name) + self.setSelected(False) def sendSession(self): "sends latest session to the client, this is for eliminating client side problems like rebooting" @@ -192,6 +184,13 @@ str(self.session.endTime.toTime_t()) self.sendMessage(message) + def setTexts(self, columns, texts): + "Sets multiple texts at once" + #there may be a better way to do this + for column, text in map(lambda x,y:(x,y), columns, texts): + self.setText(column, text) + + class Product(QtGui.QTreeWidgetItem): def __init__(self, parent, productInformation): QtGui.QTreeWidgetItem.__init__(self, parent) @@ -276,14 +275,19 @@ state = client.session.state if state == ClientSession.notConnected: QtGui.QMessageBox.critical(self.parent(), _("Error"), _("Can't connect to client")) - if state == ClientSession.ready: + elif state == ClientSession.ready: client.sendMessage("005") client.setState(ClientSession.loggedIn, user = "guest") - if state == ClientSession.loggedIn: + elif state == ClientSession.loggedIn: QtGui.QMessageBox.information(self.parent(), _("Information"), _("Client is already logged in")) - if state == ClientSession.requestedOpening: + elif state == ClientSession.requestedOpening: client.sendMessage("0011") client.setState(ClientSession.loggedIn) + elif state == ClientSession.waitingMoney: + client.setState(ClientSession.ready) + client.sendMessage("015") + elif state == ClientSession.notReady: + QtGui.QMessageBox.critical(self.parent(), _("Error"), _("Client isn't ready")) def startTimed(self): client = self.ui.main_treeWidget.currentItem() @@ -293,19 +297,25 @@ state = client.session.state if state == ClientSession.notConnected: QtGui.QMessageBox.critical(self.parent(), _("Error"), _("Can't connect to client")) - return - if state == ClientSession.loggedIn: + elif state == ClientSession.loggedIn: QtGui.QMessageBox.information(self.parent(), _("Information"), _("Client is already logged in")) - return - answer = QtGui.QInputDialog.getInteger(self.parent(), _("Enter time"), _("Enter time in minutes"), - int(self.config.price_fixedpriceminutes), - int(self.config.price_fixedpriceminutes), - 1440, 15) - if answer[1] == False: - return - if state == ClientSession.ready: - client.sendMessage("006" + str(answer[0])) - client.setState(ClientSession.loggedIn, user = "guest", endTime = QtCore.QDateTime.currentDateTime().addSecs(answer[0]*60)) + elif state == ClientSession.requestedOpening: + client.sendMessage("0011") + client.setState(ClientSession.loggedIn) + elif state == ClientSession.waitingMoney: + client.setState(ClientSession.ready) + client.sendMessage("015") + elif state == ClientSession.notReady: + QtGui.QMessageBox.critical(self.parent(), _("Error"), _("Client isn't ready")) + elif state == ClientSession.ready: + answer = QtGui.QInputDialog.getInteger(self.parent(), _("Enter time"), _("Enter time in minutes"), + int(self.config.price_fixedpriceminutes), + int(self.config.price_fixedpriceminutes), + 1440, 15) + if answer[1] != False: + myTime = QtCore.QDateTime.currentDateTime().addSecs(answer[0]*60) + client.sendMessage("006" + str(myTime.toTime_t())) + client.setState(ClientSession.loggedIn, user = "guest", endTime = myTime) def stopClient(self): client = self.ui.main_treeWidget.currentItem() @@ -315,16 +325,19 @@ state = client.session.state if state == ClientSession.notConnected: QtGui.QMessageBox.critical(self.parent(), _("Error"), _("Can't connect to client")) - elif state == ClientSession.ready: + elif state in (ClientSession.ready, ClientSession.notReady): QtGui.QMessageBox.information(self.parent(), _("Information"), _("Client is already stopped")) elif state == ClientSession.loggedIn: answer = QtGui.QMessageBox.question(self.parent(), _("Are you sure?"), _("Do you really want to stop this client?"), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes).__or__(QtGui.QMessageBox.No), QtGui.QMessageBox.No) if answer == QtGui.QMessageBox.Yes: client.sendMessage("009") - client.setState(ClientSession.ready) + client.setState(ClientSession.notReady) elif state == ClientSession.requestedOpening: client.sendMessage("0010") client.setState(ClientSession.ready) + elif state == ClientSession.waitingMoney: + client.setState(ClientSession.ready) + client.sendMessage("015") def changeButton(self): pass @@ -527,7 +540,7 @@ self.ui.statusbar.showMessage(_("Deleted product")) def about(self): - QtGui.QMessageBox.about(self.parent(), _("About PyKafe"), "pyKafe v0.1_alpha1\n\n" + _("Authors:") + u"\nUğur Çetin\nMustafa Sarı\n\n" + _("Mentor:") + u"\nA. Tevfik İnan") + QtGui.QMessageBox.about(self.parent(), _("About pyKafe"), "pyKafe v0.1_alpha1\n\n" + _("Authors:") + u"\nUğur Çetin\nMustafa Sarı\n\n" + _("Mentor:") + u"\nA. Tevfik İnan") def aboutQt(self): QtGui.QMessageBox.aboutQt(self.parent()) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-03 18:08:40
|
Revision: 88 http://pykafe.svn.sourceforge.net/pykafe/?rev=88&view=rev Author: jnmbk Date: 2007-06-03 11:08:35 -0700 (Sun, 03 Jun 2007) Log Message: ----------- my bad :P Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-03 16:48:43 UTC (rev 87) +++ trunk/pykafe/server/server.py 2007-06-03 18:08:35 UTC (rev 88) @@ -98,7 +98,7 @@ def run(self): while(True): if self.client.session.state == ClientSession.loggedIn: - self.emit(QtCore.SIGNAL("changetext"),3,currency(self.session.calculatePrice(self.config))) + self.emit(QtCore.SIGNAL("changetext"),3,currency(self.client.session.calculatePrice(self.config))) usedTime = QtCore.QDateTime() usedTime.setTime_t(self.client.session.startTime.secsTo(QtCore.QDateTime.currentDateTime())) self.emit(QtCore.SIGNAL("changetext"),4,usedTime.toUTC().time().toString("hh.mm")) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-10 05:31:43
|
Revision: 105 http://pykafe.svn.sourceforge.net/pykafe/?rev=105&view=rev Author: jnmbk Date: 2007-06-09 22:31:44 -0700 (Sat, 09 Jun 2007) Log Message: ----------- stop complaining for now Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-10 04:32:58 UTC (rev 104) +++ trunk/pykafe/server/server.py 2007-06-10 05:31:44 UTC (rev 105) @@ -252,9 +252,10 @@ member.debt -= total Database().runOnce("update members set debt=? where username=?", (member.debt, member.userName)) else: - logger.add(logger.logTypes.information, _("Money paid"), self.name, member.userName, total) - Database().runOnce("insert into safe values(?,?,?)", (QtCore.QDateTime.currentDateTime().toTime_t(), self.config.last_cashier, total)) + #logger.add(logger.logTypes.information, _("Money paid"), self.name, member.userName, total) + #Database().runOnce("insert into safe values(?,?,?)", (QtCore.QDateTime.currentDateTime().toTime_t(), self.config.last_cashier, total)) #logger.add(logger.logTypes.information, _("money paid"), self.name, self.session.user, self.session.calculateTotal() + pass if self.session.state == ClientSession.loggedIn: total = self.session.calculateTotal(self.config) payingType, credit = Database().runOnce("select paying_type, debt from members where username=?",(self.session.user,))[0] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-10 18:54:21
|
Revision: 109 http://pykafe.svn.sourceforge.net/pykafe/?rev=109&view=rev Author: jnmbk Date: 2007-06-10 11:54:22 -0700 (Sun, 10 Jun 2007) Log Message: ----------- two new todos Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-10 06:07:36 UTC (rev 108) +++ trunk/pykafe/server/server.py 2007-06-10 18:54:22 UTC (rev 109) @@ -139,6 +139,8 @@ usedTime = QtCore.QDateTime() usedTime.setTime_t(self.client.session.startTime.secsTo(QtCore.QDateTime.currentDateTime())) self.emit(QtCore.SIGNAL("changetext"),4,usedTime.toUTC().time().toString("hh.mm")) + if self.client.session.endTime and QtCore.QDateTime.currentDateTime().__gt__(self.client.session.endTime): + self.emit(QtCore.SIGNAL("timepassed")) self.sleep(int(self.config.ui_refreshdelay)) class Log(QtGui.QTreeWidgetItem): @@ -196,6 +198,7 @@ self.fillList(clientInformation) watcherThread = ClientThread(self, config) QtCore.QObject.connect(watcherThread, QtCore.SIGNAL("changetext"), self.setText) + QtCore.QObject.connect(watcherThread, QtCore.SIGNAL("timepassed"), self.timeWarning) watcherThread.start() self.threads = [watcherThread] @@ -219,6 +222,8 @@ def changeColor(self, colorName): for i in range(self.columnCount()): self.setBackground(i, QtGui.QBrush(QtGui.QColor(colorName))) + def timeWarning(self): + self.setBackground(5, QtGui.QBrush(QtGui.QColor("red"))) def sendMessage(self, message): thread = MessageSender(self.ip, int(self.config.network_port), message) @@ -269,8 +274,9 @@ member.debt -= total Database().runOnce("update members set debt=? where username=?", (member.debt, member.userName)) else: - logger.add(logger.logTypes.information, _("Money paid"), self.name, member.userName, total) - Database().runOnce("insert into safe values(?,?,?)", (QtCore.QDateTime.currentDateTime().toTime_t(), self.config.last_cashier, total)) + #logger.add(logger.logTypes.information, _("Money paid"), self.name, member.userName, total) + #Database().runOnce("insert into safe values(?,?,?)", (QtCore.QDateTime.currentDateTime().toTime_t(), self.config.last_cashier, total)) + pass if self.config.filter_enable: message = "007" filterFile = open(self.config.filter_file) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-10 20:28:12
|
Revision: 115 http://pykafe.svn.sourceforge.net/pykafe/?rev=115&view=rev Author: jnmbk Date: 2007-06-10 13:28:14 -0700 (Sun, 10 Jun 2007) Log Message: ----------- runonce Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-10 20:25:32 UTC (rev 114) +++ trunk/pykafe/server/server.py 2007-06-10 20:28:14 UTC (rev 115) @@ -840,7 +840,7 @@ self.ui.logs_dateTimeEdit_1.setDateTime(self.ui.logs_dateTimeEdit_2.dateTime()) return self.logs = [] - logs = Database().run("select date,log_type,log_value,cashier,computer,member,income from logs where date between ? and ?", (startDate, endDate)) + logs = Database().runOnce("select date,log_type,log_value,cashier,computer,member,income from logs where date between ? and ?", (startDate, endDate)) for log in logs: time = QtCore.QDateTime.fromTime_t(log[0]).toString("dd.MM.yyyy hh.mm") type = log[1] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-11 04:19:08
|
Revision: 130 http://pykafe.svn.sourceforge.net/pykafe/?rev=130&view=rev Author: jnmbk Date: 2007-06-10 21:19:10 -0700 (Sun, 10 Jun 2007) Log Message: ----------- code cleanup Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-11 02:20:21 UTC (rev 129) +++ trunk/pykafe/server/server.py 2007-06-11 04:19:10 UTC (rev 130) @@ -243,54 +243,8 @@ self.setText(5, self.session.endTime.time().toString("hh.mm")) self.changeColor("green") elif state == ClientSession.notReady: - if self.session.state == ClientSession.waitingMoney: + if self.session.state in (ClientSession.waitingMoney, ClientSession.loggedIn): self.server.payment(self) - #total = self.session.calculateTotal(self.config) - #dialog = Ui_PaymentDialog() - #self.parent() - """ - self.paymentDialog = QtGui.QDialog(self.parent()) - QtCore.QObject.connect(self.paymentDialog, QtCore.SIGNAL("accepted()"), self.sendOptions) - settingsUi = Ui_SettingsWindow() - settingsUi.setupUi(self.settingsDialog, self.config) - self.settingsDialog.show() - print "will pay", total - payingType, credit = Database().runOnce("select paying_type, debt from members where username=?",(self.session.user,))[0] - print payingType, credit - if payingType == _("Pre Paid"): - print "user is pre_paid and has %s credit" % currency(credit) - for member in self.server.members: - print member.userName, self.session.user - if member.userName == self.session.user: - if member.debt < total: - QtGui.QMessageBox.warning(self.server.parent(), _("Low credit"), _("%s's credit has finished! Has %s debt.") % (member.userName, currency(total - member.debt))) - logger.add(logger.logTypes.warning, _("Member has low credit"), self.name, member.userName, member.debt - total) - member.debt -= total - Database().runOnce("update members set debt=? where username=?", (member.debt, member.userName)) - else: - #logger.add(logger.logTypes.information, _("Money paid"), self.name, member.userName, total) - #Database().runOnce("insert into safe values(?,?,?)", (QtCore.QDateTime.currentDateTime().toTime_t(), self.config.last_cashier, total)) - #logger.add(logger.logTypes.information, _("money paid"), self.name, self.session.user, self.session.calculateTotal() - """ - pass - if self.session.state == ClientSession.loggedIn: - self.server.payment(self) - """total = self.session.calculateTotal(self.config) - payingType, credit = Database().runOnce("select paying_type, debt from members where username=?",(self.session.user,))[0] - if payingType == _("Pre Paid"): - print "user is pre_paid and has %s credit" % currency(credit) - for member in self.server.members: - if member.userName == self.session.user: - if member.debt < total: - QtGui.QMessageBox.warning(self.server.parent(), _("Low credit"), _("%s's credit has finished! Has %s debt.") % (member.userName, currency(total - member.debt))) - logger.add(logger.logTypes.warning, _("Member has low credit"), self.name, member.userName, member.debt - total) - member.debt -= total - Database().runOnce("update members set debt=? where username=?", (member.debt, member.userName)) - else: - #logger.add(logger.logTypes.information, _("Money paid"), self.name, member.userName, total) - #Database().runOnce("insert into safe values(?,?,?)", (QtCore.QDateTime.currentDateTime().toTime_t(), self.config.last_cashier, total)) - pass""" - pass if self.config.filter_enable: message = "007" filterFile = open(self.config.filter_file) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-11 04:22:43
|
Revision: 131 http://pykafe.svn.sourceforge.net/pykafe/?rev=131&view=rev Author: jnmbk Date: 2007-06-10 21:22:45 -0700 (Sun, 10 Jun 2007) Log Message: ----------- not needed any more Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-11 04:19:10 UTC (rev 130) +++ trunk/pykafe/server/server.py 2007-06-11 04:22:45 UTC (rev 131) @@ -347,7 +347,6 @@ self.threads = [] def initMembers(self, first = False): - #TODO: Call this function after adding and deleting if first: self.members = [] self.ui.members_treeWidget.clear() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-11 04:38:51
|
Revision: 132 http://pykafe.svn.sourceforge.net/pykafe/?rev=132&view=rev Author: jnmbk Date: 2007-06-10 21:38:52 -0700 (Sun, 10 Jun 2007) Log Message: ----------- hopefully last changes... Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-11 04:22:45 UTC (rev 131) +++ trunk/pykafe/server/server.py 2007-06-11 04:38:52 UTC (rev 132) @@ -97,6 +97,10 @@ if client.session.state == ClientSession.ready: username, password = data[3:].split("|") if Database().runOnce("select count() from members where username = ? and password = ?", (username, password))[0][0]: + dates = Database().runOnce("select starting_date, finish_date from members where username = ?", (username,))[0] + if not dates[0] < QtCore.QDateTime.currentDateTime().toString("yyyy-MM-dd") < dates[1]: + client.sendMessage("0030") + return wallpaper = "" try: wallpaper = Database().runOnce("select setting_value from member_settings where username=? and setting_name=?", (username,"wallpaper"))[0][0] @@ -458,7 +462,19 @@ client.sendMessage("015") def changeButton(self): - pass + client = self.ui.main_treeWidget.currentItem() + if not client: + QtGui.QMessageBox.information(self.parent(), _("Information"), _("Choose a client first")) + return + if client.session.state != ClientSession.loggedIn: + QtGui.QMessageBox.critical(self.parent(), _("Error"), _("Client must be logged in before moving")) + return + count = 0 + for client in self.clients: + if client.session.state in (ClientSession.loggedIn, ClientSession.ready): + count += 1 + if count < 2: + QtGui.QMessageBox.critical(self.parent(), _("Error"), _("There must be at least one more ready or logged in client")) def remoteButton(self): client = self.ui.main_treeWidget.currentItem() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-11 04:41:38
|
Revision: 133 http://pykafe.svn.sourceforge.net/pykafe/?rev=133&view=rev Author: jnmbk Date: 2007-06-10 21:41:29 -0700 (Sun, 10 Jun 2007) Log Message: ----------- use currency Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-11 04:38:52 UTC (rev 132) +++ trunk/pykafe/server/server.py 2007-06-11 04:41:29 UTC (rev 133) @@ -307,7 +307,7 @@ def updateValues(self, productInformation): self.name, self.price, self.quantity = productInformation self.setText(0,self.name) - self.setText(1,str(self.price)) + self.setText(1,currency(self.price)) self.setText(2,str(self.quantity)) class Member(QtGui.QTreeWidgetItem): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-09 18:31:48
|
Revision: 103 http://pykafe.svn.sourceforge.net/pykafe/?rev=103&view=rev Author: jnmbk Date: 2007-06-09 11:31:50 -0700 (Sat, 09 Jun 2007) Log Message: ----------- ip validator Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-09 17:52:27 UTC (rev 102) +++ trunk/pykafe/server/server.py 2007-06-09 18:31:50 UTC (rev 103) @@ -29,6 +29,19 @@ _ = gettext.translation("pyKafe_server", fallback=True).ugettext +def validIp(ip): + "returns true when you give it a valid ip" + try: + is_ip = True + num = ip.split('.') + for n in num: + if not 256 > int(n) > 0: + is_ip = False + break; + return is_ip + except ValueError: + return False + class MessageSender(QtCore.QThread): def __init__(self, ip, port, message): QtCore.QThread.__init__(self) @@ -708,6 +721,9 @@ def changeClient(self): client = self.ui.main_treeWidget.currentItem() + if not validIp(unicode(self.clientSettingsUi.clientIP.text())): + QtGui.QMessageBox.critical(self.parent(), _("Error"), _("Invalid ip address")) + return client.updateInformation(self.parent(), unicode(self.clientSettingsUi.clientID.text()), self.clientSettingsUi.clientIP.text()) def addClient(self): @@ -716,6 +732,9 @@ def clientAdder(self): name = unicode(self.clientSettingsUi.clientID.text()) ip = unicode(self.clientSettingsUi.clientIP.text()) + if not validIp(ip): + QtGui.QMessageBox.critical(self.parent(), _("Error"), _("Invalid ip address")) + return try: Database().runOnce("insert into computers(ip,name) values(?,?)", (ip, name)) info = ClientInformation(ip, name) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-10 20:33:56
|
Revision: 116 http://pykafe.svn.sourceforge.net/pykafe/?rev=116&view=rev Author: jnmbk Date: 2007-06-10 13:33:58 -0700 (Sun, 10 Jun 2007) Log Message: ----------- set minvalue 2 Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-10 20:28:14 UTC (rev 115) +++ trunk/pykafe/server/server.py 2007-06-10 20:33:58 UTC (rev 116) @@ -458,7 +458,7 @@ elif state == ClientSession.ready: answer = QtGui.QInputDialog.getInteger(self.parent(), _("Enter time"), _("Enter time in minutes"), int(self.config.price_fixedpriceminutes), - int(self.config.price_fixedpriceminutes), + 2, 1440, 15) if answer[1] != False: myTime = QtCore.QDateTime.currentDateTime().addSecs(answer[0]*60) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-10 23:08:24
|
Revision: 121 http://pykafe.svn.sourceforge.net/pykafe/?rev=121&view=rev Author: jnmbk Date: 2007-06-10 16:08:21 -0700 (Sun, 10 Jun 2007) Log Message: ----------- at least works Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-10 23:07:58 UTC (rev 120) +++ trunk/pykafe/server/server.py 2007-06-10 23:08:21 UTC (rev 121) @@ -244,7 +244,7 @@ elif state == ClientSession.notReady: if self.session.state == ClientSession.waitingMoney: total = self.session.calculateTotal(self.config) - self.emit(QtCore.SIGNAL("payment"), self) + self.server.payment(self) #dialog = Ui_PaymentDialog() #self.parent() self.paymentDialog = QtGui.QDialog(self.parent()) @@ -374,7 +374,6 @@ self.clients = [] for clientInformation in self.config.clientList: client = Client(ui.main_treeWidget, clientInformation, self.config, self) - QtCore.QObject.connect(client, QtCore.SIGNAL("payment"), self.payment) self.clients.append(client) self.ui.orders_idComboBox.addItem(clientInformation.name, QtCore.QVariant(clientInformation.ip)) ui.main_treeWidget.sortItems(0, QtCore.Qt.AscendingOrder) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jn...@us...> - 2007-06-11 01:28:11
|
Revision: 126 http://pykafe.svn.sourceforge.net/pykafe/?rev=126&view=rev Author: jnmbk Date: 2007-06-10 18:26:52 -0700 (Sun, 10 Jun 2007) Log Message: ----------- delete remaining orders Modified Paths: -------------- trunk/pykafe/server/server.py Modified: trunk/pykafe/server/server.py =================================================================== --- trunk/pykafe/server/server.py 2007-06-11 01:19:29 UTC (rev 125) +++ trunk/pykafe/server/server.py 2007-06-11 01:26:52 UTC (rev 126) @@ -893,4 +893,9 @@ Database().runOnce("update members set debt=? where username=?", (totalCost - credit, client.session.user)) else: Database().runOnce("insert into safe values(?,?,?)", (QtCore.QDateTime.currentDateTime().toTime_t(), self.config.last_cashier, cost)) - logger.add(logger.logTypes.information, _("Money paid"), client.name, client.session.user, totalCost) \ No newline at end of file + logger.add(logger.logTypes.information, _("Money paid"), client.name, client.session.user, totalCost) + for order in self.orders: + if order.clientName == client.name: + Database().runOnce("delete from orders where product_name=? and quantity=? and computer_name=?", (order.productName, order.quantity, order.clientName)) + self.ui.orders_treeWidget_1.takeTopLevelItem(self.ui.orders_treeWidget_1.indexOfTopLevelItem(order)) + del(self.orders[self.orders.index(order)]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |