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.
|