commit 11/12/2015
This commit is contained in:
154
data_handling_legacy.py
Normal file
154
data_handling_legacy.py
Normal file
@@ -0,0 +1,154 @@
|
||||
__author__ = 'asc'
|
||||
logger
|
||||
def log(self, message, message_type="text"):
|
||||
if message_type == "text":
|
||||
print ("%s - Log Message: %s"% (str(datetime.datetime.now()), message))
|
||||
elif message_type == "image":
|
||||
image = message
|
||||
if image:
|
||||
filename = datetime.datetime.now().strftime("Image %Y%m%d-%H%M%S.jpg")
|
||||
with open(os.path.join(self.photo_path, filename), 'wb') as f:
|
||||
f.write(message)
|
||||
return 'success'
|
||||
elif message_type == "data":
|
||||
message["sent"] = str(datetime.datetime.now())
|
||||
file=self.log_path
|
||||
|
||||
header = add_keys_if_necessary(file, message)
|
||||
keys = header
|
||||
|
||||
log=open(file, 'a')
|
||||
writer = csv.DictWriter(log, keys, extrasaction="ignore")
|
||||
writer.writerow(message)
|
||||
log.close()
|
||||
else:
|
||||
raise Exception
|
||||
|
||||
|
||||
def _send_data(self, message, message_type):
|
||||
if message_type == "ping":
|
||||
#TODO send text
|
||||
contentType='text/xml'
|
||||
|
||||
if self.use_lan:
|
||||
logger.info("Sending ping using LAN")
|
||||
req = request.Request("{0}:{1}/{2}".format(self.url, self.server_port, self.ping_path))
|
||||
req.add_header('Content-Type', contentType)
|
||||
response = request.urlopen(req,json.dumps(message).encode())
|
||||
response = response.read()
|
||||
pass
|
||||
|
||||
elif not self.use_lan:
|
||||
logger.info("Sending ping using modem")
|
||||
# logger.debug("attaching GPRS")
|
||||
#
|
||||
# if not self.inet.attachGPRS("wholesale", "", "", 1):
|
||||
# logger.error("error attaching GPRS")
|
||||
# return False
|
||||
|
||||
logger.debug("posting")
|
||||
if not self.inet.httpPOST(
|
||||
self.url,
|
||||
self.server_port,
|
||||
"/{}".format(self.ping_path),
|
||||
json.dumps(message),
|
||||
contentType=contentType
|
||||
):
|
||||
logger.error("error making HTTP post: {0}".format(self.inet.errorText))
|
||||
return False
|
||||
|
||||
response=self.inet.httpResponse
|
||||
|
||||
if response is not None:
|
||||
response = str(self.inet.httpResponse).replace("\n\r", "\n")
|
||||
else:
|
||||
response = ("empty response")
|
||||
|
||||
|
||||
elif message_type == "image":
|
||||
response=None
|
||||
m = MultipartEncoder(fields={'image': ('image', message, 'image/jpeg')})
|
||||
|
||||
if self.use_lan:
|
||||
logger.info ("Sending image using LAN")
|
||||
response = requests.post("{0}:{1}/{2}".format(self.url, self.server_port, self.image_path), data=m.read(), headers={'Content-Type': m.content_type})
|
||||
pass
|
||||
|
||||
elif not self.use_lan:
|
||||
logger.info ("Sending image using modem")
|
||||
# logger.debug("attaching GPRS")
|
||||
# if not self.inet.attachGPRS("wholesale", "", "", 1):
|
||||
# logger.error("error attaching GPRS")
|
||||
# return False
|
||||
|
||||
logger.debug("ip = {0}".format(self.inet.ip))
|
||||
|
||||
logger.debug("making HTTP POST request")
|
||||
|
||||
if not self.inet.httpPOST(
|
||||
self.url,
|
||||
self.server_port,
|
||||
"/{}".format(self.image_path),
|
||||
m.to_string(),
|
||||
contentType=m.content_type
|
||||
):
|
||||
logger.error("error making HTTP POST: {0}".format(self.inet.errorText))
|
||||
return False
|
||||
|
||||
if self.inet.httpResponse is not None:
|
||||
response = str(self.inet.httpResponse).replace("\n\r", "\n")
|
||||
else:
|
||||
response = "empty response"
|
||||
|
||||
elif message_type == "data":
|
||||
contentType="application/json"
|
||||
message["sent"] = str(datetime.datetime.now())
|
||||
|
||||
if self.use_lan:
|
||||
logger.info("Sending data using LAN")
|
||||
req = request.Request("{0}:{1}/{2}".format(self.url, self.server_port, self.data_path))
|
||||
req.add_header('Content-Type', contentType)
|
||||
response = request.urlopen(req,json.dumps(message).encode())
|
||||
response = response.read()
|
||||
pass
|
||||
|
||||
elif not self.use_lan:
|
||||
logger.info("Sending data using modem")
|
||||
|
||||
logger.debug("posting")
|
||||
|
||||
if not self.inet.httpPOST(
|
||||
self.url,
|
||||
self.server_port,
|
||||
"/{}".format(self.data_path),
|
||||
json.dumps(message),
|
||||
contentType=contentType
|
||||
):
|
||||
logger.error("error making HTTP POST: {0}".format(self.inet.errorText))
|
||||
return False
|
||||
|
||||
if self.inet.httpResponse is not None:
|
||||
response = str(self.inet.httpResponse).replace("\n\r", "\n")
|
||||
else:
|
||||
response = ("empty response")
|
||||
|
||||
def create_transpondence(self):
|
||||
if self._transpondence is None:
|
||||
self._transpondence={}
|
||||
|
||||
self._transpondence['mt']=self.mt.now()
|
||||
|
||||
|
||||
def add_to_transpondence(self, data, info_type="data"):
|
||||
if self._transpondence.get(info_type) is not None:
|
||||
if type(self._transpondence.get(info_type)) is list:
|
||||
self._transpondence[info_type].append(data)
|
||||
else:
|
||||
self._transpondence[info_type] = [self._transpondence[info_type]]
|
||||
self._transpondence[info_type].append(data)
|
||||
|
||||
else:
|
||||
self._transpondence[info_type]=[data]
|
||||
|
||||
|
||||
self._transpondence
|
||||
Reference in New Issue
Block a user