forked from redeyser/IceCash2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
prizeIceCash.py
101 lines (90 loc) · 2.58 KB
/
prizeIceCash.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/usr/bin/python
# -*- coding: utf8 -*-
# IcePrize client v 0.001
import string
import skserv
import sys
import time
import os
const_error=1
const_error_connect=2
const_error_wait=3
text_separator=";;"
msg_err="err"
class SkClient(skserv.SockClient):
def run(self):
accept=self.mrecv()
if accept==skserv.msg_err:
return 0
lines = sys.stdin.readlines()
error=0
for line in lines:
self.msend(line);
error=self.mrecv()
print error
if str(error)==skserv.msg_err:
break
return 1
class prizeIceCash:
def __init__(self,idsystem,idplace,nkassa,addr,port):
self.addr=addr
self.port=port
self.idsystem=idsystem
self.idplace=idplace
self.nkassa=nkassa
def connect(self):
try:
self.sc=SkClient(self.addr,self.port)
self.data=self.sc.mrecv()
#print "connect prize %s %s" % (self.addr,self.port)
if self.data=='ok':
return True
else:
return False
except:
self.sc=None
print "error connect"
return False
def close(self):
if self.sc!=None:
self.sc.close()
def cmd(self,_cmd,_params=[]):
if self.sc==None:
return False
msg=skserv.separator.join([_cmd]+_params)
#print msg
self.sc.msend(msg)
self.data=self.sc.mrecv()
if len(self.data)==0:
return False
else:
if self.data==msg_err:
return False
return True
def cmd_info(self):
result = self.cmd("info",[self.idsystem])
if result:
self.info=self.data.replace(text_separator," ").decode("utf8")
else:
self.info=""
return result
def cmd_gen(self,ncheck,idtrsc,summa):
result=self.cmd("gen",[str(self.idsystem),str(self.idplace),str(self.nkassa),str(ncheck),str(idtrsc),str(summa)])
if result:
keys=["idtrsc","idprize","type","idtov"]
self.gen=dict(zip(keys,self.data.split(skserv.separator)))
self.gen['idtov']=self.gen['idtov'].decode('utf8')
else:
self.gen={}
print self.gen
return result
def cmd_close(self,idtrsc=None):
if idtrsc==None:
idtrsc=self.gen['idtrsc']
result = self.cmd("close",[str(self.idsystem),str(idtrsc)])
if result:
pass
#print self.data
else:
pass
return result