Skip to content

Commit 2474dab

Browse files
committed
added stale
1 parent 7cd60be commit 2474dab

File tree

6 files changed

+36
-38
lines changed

6 files changed

+36
-38
lines changed

TAKfreeServer/Controllers/RequestCOTController.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,13 @@
1818
class RequestCOTController:
1919
"""this controller manage all the different types of COTS, including the geochat
2020
"""
21-
# default constructor
21+
22+
# default constructor
2223
def __init__(self):
2324
pass
2425

25-
def timeout(self, lat="00.00000000", lon='00.00000000', le = "9999999.0", ce = "9999999.0", hae = "00.00000000", linkuid='abc', linktype='a-f-G-U-C', linkrelation='p-p'):
26-
event = Event(eventType = 'timeout',eventconnType = 'timeout',linkType='timeout' ,pointlat=lat, pointlon=lon, pointle=le, pointce=ce, pointhae=hae, linkuid=linkuid, linktype=linktype, linkrelation=linkrelation)
26+
def timeout(self, lat="00.00000000", lon='00.00000000', le = "9999999.0", ce = "9999999.0", hae = "00.00000000", linkuid='abc', linktype='a-f-G-U-C', linkrelation='p-p', eventhow ='h-g-i-g-o', eventuid = None):
27+
event = Event(eventhow = eventhow, eventuid = eventuid,eventType = 'timeout',eventconnType = 'timeout',linkType='timeout' ,pointlat=lat, pointlon=lon, pointle=le, pointce=ce, pointhae=hae, linkuid=linkuid, linktype=linktype, linkrelation=linkrelation)
2728
return event
2829

2930
def ping(self, lat="00.00000000", lon='00.00000000', le = "9999999.0", ce = "9999999.0", hae = "00.00000000"):
@@ -33,4 +34,3 @@ def ping(self, lat="00.00000000", lon='00.00000000', le = "9999999.0", ce = "999
3334
def chat(self, lat="00.00000000", lon='00.00000000', le = "9999999.0", ce = "9999999.0", hae = "00.00000000",isChat = 1,chatType = None, senderCallsign = None, chatroom = None, groupOwner = None, id = None, parent = None, uid0 = None, uid1 = None):
3435
event = Event(connType = 'chat', chatType = chatType, senderCallsign = senderCallsign, chatroom = chatroom, groupOwner = groupOwner, id = id, parent = parent, uid0 = uid0, uid1 = uid1, chatgrpid = chatgrpid, lat=lat, lon=lon, le=le, ce=ce, hae=hae)
3536
return event
36-
RequestCOTController().ping()

TAKfreeServer/Controllers/serializer.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import xml.etree.ElementTree as et
2-
from Controllers.RequestCOTController import RequestCOTController
32
class Serializer:
43
def __init__(self):
5-
self.xmlheader = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>"
4+
self.xmlheader = '<?xml version="1.0" encoding="UTF-8" standalone="true"?>'
65

76
def serializerRoot(self, object):
87
root = et.Element('event')

TAKfreeServer/Model/Event.py

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ class Event:
1515

1616
#default constructor
1717
def __init__(self, linkType=None, linkuid = None, linkproduction_time=None, linkrelation=None, linktype=None, linkparent_callsign=None, eventType = 'default', eventisPing = 0 ,eventtype = "a-f-G-I" , eventhow = 'm-g' ,eventisGeochat = 0 ,eventDATETIME_FMT = "%Y-%m-%dT%H:%M:%SZ", eventuid = "UIDString", eventversion = '2.0', eventconnType=None, pointlat="00.00000000", pointlon='00.00000000', pointle = "9999999.0", pointce = "9999999.0", pointhae = "00.00000000", chatType = None, chatsenderCallsign = None, chatchatroom = None, chatgroupOwner = None,chatid = None, chatparent = None ,chatgrpid = None ,chatgrpuid0 = None, chatgrpuid1 = None):
18-
19-
2018

2119
from Model.detail import Detail
2220
from Model.point import Point
@@ -29,13 +27,7 @@ def __init__(self, linkType=None, linkuid = None, linkproduction_time=None, link
2927

3028
}
3129

32-
self.version = eventversion
33-
34-
self.uid = eventuid
35-
3630
DATETIME_FMT = eventDATETIME_FMT
37-
38-
self.type = eventtype
3931
# flag to determin e if this event is a geo chcat if so, will be added as a
4032
# prefix to the uid
4133

@@ -63,46 +55,49 @@ def __init__(self, linkType=None, linkuid = None, linkproduction_time=None, link
6355
# flag to determine if this event is a Ping, in this case append to the UID
6456

6557

66-
self.setuid(isGeochat = eventisGeochat, isPing = eventisPing)
67-
68-
self.how = eventhow
58+
6959
#calls detail and point
7060
self.point = Point(lat=pointlat, lon=pointlon, le=pointle, ce=pointce, hae=pointhae)
7161
self.detail = Detail(connType=eventconnType,linkuid=linkuid ,linkType=linkType, uid = eventuid, linkproduction_time=linkproduction_time, linkrelation=linkrelation, linktype=linktype, linkparent_callsign=linkparent_callsign, chatType = chatType, chatsenderCallsign = chatsenderCallsign, chatchatroom = chatchatroom, chatgroupOwner = chatgroupOwner, chatid = chatid, chatparent = chatparent, chatgrpuid0 = chatgrpuid0, chatgrpuid1 = chatgrpuid1)
7262

73-
case[eventType](DATETIME_FMT)
63+
case[eventType](DATETIME_FMT,version = eventversion, uid = eventuid, how = eventhow, type = eventtype,isGeochat = eventisGeochat, isPing = eventisPing)
64+
65+
def defaultFunc(self, DATETIME_FMT, version, uid, type, how, isGeochat, isPing):
66+
self.how = how
7467

75-
def defaultFunc(self, DATETIME_FMT):
7668
timer = dt.datetime
7769
now = timer.utcnow()
7870
zulu = now.strftime(DATETIME_FMT)
79-
80-
self.settime(zulu)
81-
self.setstart(zulu)
8271
stale_part = dt.datetime.strptime(zulu, DATETIME_FMT) + dt.timedelta(minutes = 1)
8372
stale_part = stale_part.strftime(DATETIME_FMT)
8473
self.setstale(str(stale_part))
74+
self.setstart(zulu)
75+
self.settime(zulu)
76+
self.type = type
77+
self.setuid(isGeochat = isGeochat, isPing=isPing)
78+
self.version = version
79+
80+
def timeoutFunc(self, DATETIME_FMT, version, uid, type, how, isGeochat, isPing):
81+
self.how = how
8582

86-
def timeoutFunc(self, DATETIME_FMT):
8783
timer = dt.datetime
8884
now = timer.utcnow()
8985
zulu = now.strftime(DATETIME_FMT)
90-
91-
self.settime(zulu)
9286
stale_part = dt.datetime.strptime(zulu, DATETIME_FMT) - dt.timedelta(minutes = 1)
9387
stale_part = stale_part.strftime(DATETIME_FMT)
94-
self.setstart(stale_part)
9588
self.setstale(str(stale_part))
96-
self.how = 'h-g-i-g-o'
97-
self.type = 't-x-d-d'
98-
89+
self.setstart(zulu)
90+
self.settime(zulu)
91+
self.type = type
92+
self.setuid(isGeochat = isGeochat, isPing=isPing)
93+
self.version = version
9994
#Start getter
10095
def getstart(self):
10196
return self.Start
10297

10398
# Start setter
10499
def setstart(self, Start=0):
105-
self.Start = Start
100+
self.start = Start
106101

107102
# m_point setter
108103
def setpoint(self, m_point=0):

TAKfreeServer/Model/link.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,11 @@ def createArguments(self, argumentsRecieved):
3434
pass
3535
return argumentsToBePassed
3636
def timeoutFunc(self, args):
37+
self.settype('a-f-G-U-C')
3738

3839
self.setuid(args['linkuid'])
3940

40-
self.settype(args['linktype'])
41-
42-
self.setrelation(args['linkrelation'])
41+
self.setrelation('p-p')
4342

4443
# uid getter
4544
def getuid(self):

TAKfreeServer/Model/point.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
class Point:
1313

1414
def __init__(self, lat="00.00000000", lon='00.00000000', le = "9999999.0", ce = "9999999.0", hae = "00.00000000"):
15-
self.lat = lat
16-
self.lon = lon
1715
self.le = le
1816
self.ce = ce
1917
self.hae = hae
18+
self.lon = lon
19+
self.lat = lat
2020
pass
2121

2222

TAKfreeServer/server.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
import xml.etree.ElementTree as ET
2424
import TAKWinService.constants as constants
2525
import logging
26-
from Controllers.serializer import Serializer
2726
from Controllers.RequestCOTController import RequestCOTController
27+
from Controllers.serializer import Serializer
2828
import multiprocessing as multi
2929
const = constants.vars()
3030
''' Server class '''
@@ -187,6 +187,7 @@ def listenToClient(self, client, address):
187187
Function to receive data from the client. this must be long as everything
188188
'''
189189
defaults = self.connectionSetup(client, address)
190+
print(defaults)
190191
defaults = defaults.split(' ? ')
191192
print(defaults)
192193
first_run=defaults[0]
@@ -210,13 +211,17 @@ def listenToClient(self, client, address):
210211
#checking if check_xml detected client disconnect
211212
if working == const.FAIL:
212213
print('here')
213-
timeoutInfo = Serializer().serializerRoot(RequestCOTController().timeout(linkuid = self.client_dict[current_id]['uid']))
214+
timeoutInfo = Serializer().serializerRoot(RequestCOTController().timeout(eventhow = 'h-g-i-g-o', eventuid = 'aef53602-ea19-4a82-a07b-f0069470b23d', linkuid = self.client_dict[current_id]['uid']))
215+
print(timeoutInfo.encode())
216+
logging.debug(timeoutInfo.encode())
217+
logging.debug('timeout info is with utf8 '+str(timeoutInfo))
218+
logging.debug('timeout info is with ascii '+str(bytes(timeoutInfo, 'utf-8')))
214219
if len(self.client_dict)>0:
215220

216221
for x in self.client_dict:
217222

218223
if x != current_id:
219-
print(self.client_dict[x]['client'])
224+
logging.debug('sending timeout to '+str(self.client_dict[x]['client']))
220225
self.client_dict[x]['client'].send(timeoutInfo.encode())
221226

222227
else:

0 commit comments

Comments
 (0)