コード例 #1
0
def client_parse(rfidInput, client, client_socket):
    clientReturn = None
    try:
        message = umsgpack.unpackb(rfidInput)
        print message
    except TypeError:
        message = ['']

    if message[0] in socket_options:
        clientReturn = socket_options[message[0]]['d'](message)
    else:
        clientReturn = {'response': response(rfidInput[0], 'InvalidOption')}

    if clientReturn == None:
        return

    if 'response' not in clientReturn:
        pass
    elif clientReturn['response'] is '':
        client_socket.send(
            umsgpack.packb(response(rfidInput[0], 'ServerError')))
    else:
        print "Returning", clientReturn['response'], "to", client['addr']
        client_socket.send(umsgpack.packb(clientReturn['response']))
        print ":".join("{0:x}".format(ord(c))
                       for c in umsgpack.packb(clientReturn['response']))
コード例 #2
0
ファイル: trigger.py プロジェクト: ryali93/agol2gdb
def executeProcess(modulo, codes):
    if codes == "CONTEO":
        listCDMTRA = sampleCounting(modulo)
        arcpy.AddMessage(listCDMTRA)
        arcpy.SetParameterAsText(2, json.dumps(
            listCDMTRA))  # Devuelve un json del feature principal del modulo
    else:
        response(modulo, codes).main()
        arcpy.SetParameterAsText(2, "")
コード例 #3
0
 def do_reponse(self):
     databuff = ""
     data_len = 0
     while True:
         rbuff = self.client.recv(FSIZE)
         magic_code, resp_code, id, reverse, length = unpack(FMT, rbuff)
         self.client.logger.debug("return resp_code[%d] length[%d],id[%d]" % (resp_code, length, id))
         if id != self.id:
             raise response_exception("id is error!")
         rbuff = self.client.recv(length)
         if 400 <= resp_code < 600:
             rpos = 0
             error_code, = unpack('!L', rbuff[rpos:rpos + 4])
             if resp_code == CLIENT_STATUS_DB_ERROR:
                 raise response_exception("mysql return code [%d]" % error_code)
             if error_code < len(ERROR_MSG):
                 raise response_exception(ERROR_MSG[error_code])
             else:
                 raise response_exception("unkown error code [%d]" % error_code)
         elif resp_code == CLIENT_STATUS_ACCEPT:
             databuff += rbuff
             data_len += length
         elif resp_code == CLIENT_STATUS_OK:
             databuff += rbuff
             data_len += length
             self.client.logger.debug("return data_length[%d]" % data_len)
             return response(databuff, data_len).parse()
         else:
             raise response_exception("unknown response code [%d]" % resp_code)
コード例 #4
0
 def do_reponse(self):
     databuff = ""
     data_len = 0
     while True:
         rbuff = self.client.recv(FSIZE)
         magic_code, resp_code, id, reverse, length = unpack(FMT, rbuff)
         self.client.logger.debug("return resp_code[%d] length[%d],id[%d]" %
                                  (resp_code, length, id))
         if id != self.id:
             raise response_exception("id is error!")
         rbuff = self.client.recv(length)
         if 400 <= resp_code < 600:
             rpos = 0
             error_code, = unpack('!L', rbuff[rpos:rpos + 4])
             if resp_code == CLIENT_STATUS_DB_ERROR:
                 raise response_exception("mysql return code [%d]" %
                                          error_code)
             if error_code < len(ERROR_MSG):
                 raise response_exception(ERROR_MSG[error_code])
             else:
                 raise response_exception("unkown error code [%d]" %
                                          error_code)
         elif resp_code == CLIENT_STATUS_ACCEPT:
             databuff += rbuff
             data_len += length
         elif resp_code == CLIENT_STATUS_OK:
             databuff += rbuff
             data_len += length
             self.client.logger.debug("return data_length[%d]" % data_len)
             return response(databuff, data_len).parse()
         else:
             raise response_exception("unknown response code [%d]" %
                                      resp_code)
コード例 #5
0
ファイル: server.py プロジェクト: rkuthala/WebServer
    def run(self):
        self.responseObj = response()
        self.responseCode = 200
        self.mimetype = "text/plain"
        self.resource = " "
        try:
            self.message = self.socket.recv(4096)
            self.requestObj = request(self.message)
            self.reqParsed = self.requestObj.parse()

            if self.reqParsed == False:
                raise Exception("Server Error")

            self.resource = self.requestObj.getResource()
            if self.resource == "/":
                self.resource = "/index.html"

            self.fileExists = path.isfile(curdir + sep + self.resource)

            if self.fileExists == False:
                raise IOError("File Not Found")

            self.responseCode = 200

            if self.resource.endswith(".html"):
                self.mimetype = "text/html"
            elif self.resource.endswith(".jpg"):
                self.mimetype = "image/jpg"
            elif self.resource.endswith(".png"):
                self.mimetype = "image/png"
            elif self.resource.endswith(".gif"):
                self.mimetype = "image/gif"
            elif self.resource.endswith(".js"):
                self.mimetype = "application/javascript"
            elif self.resource.endswith(".css"):
                self.mimetype = "text/css"
            elif self.resource.endswith(".pdf"):
                self.mimetype = "application/pdf"
            else:
                self.mimetype = "text/plain"

            self.filename = curdir + sep + self.resource
            with open(self.filename, "rb") as self.f:
                self.responseContent = self.f.read()

        except IOError, e:
            self.responseCode = 404
            self.mimetype = "text/html"
            self.responseContent = "<h1>File Not Found</h1>"
コード例 #6
0
ファイル: controller.py プロジェクト: HSBNE/snarc_code
def client_parse(rfidInput, client, client_socket):
    clientReturn = None
    try:
        message = umsgpack.unpackb(rfidInput);
        print message
    except TypeError:
        message = ['']

    if message[0] in socket_options:
        clientReturn = socket_options[message[0]]['d'](message)
    else:
        clientReturn = {'response':response(rfidInput[0], 'InvalidOption')}
    
    if clientReturn == None:
        return
    
    if 'response' not in clientReturn:
        pass
    elif clientReturn['response'] is '':
        client_socket.send(umsgpack.packb(response(rfidInput[0], 'ServerError')))
    else:
        print "Returning", clientReturn['response'], "to", client['addr']
        client_socket.send(umsgpack.packb(clientReturn['response']))
        print ":".join("{0:x}".format(ord(c)) for c in umsgpack.packb(clientReturn['response']))
コード例 #7
0
def submitAnswer():
    responseData = initResponseXML()
    form = submitAnswerForm()

    # question = GetQuestion(0, responseData)
    #  print(question)
    #flash msg to be added...
    if form.validate_on_submit():
        #rertrieve questions from user input
        userAnswerin = request.form['userAnswerin']
        responseData = response(responseData, userAnswerin)
        ExportToResponseXML(responseData)

        #flash msg, pass in f to pass data
        flash(f'Answer added: {form.userAnswerin.data}.', 'success')
        return redirect(url_for('checkAnswer'))
    return render_template('submitAnswer.html',
                           title='Submit an Answer',
                           form=form)
コード例 #8
0
import json

from flask import Flask, request
from flask_restful import Resource, Api, reqparse
from open_weather_map import *
from response import *
from spotify import *

app = Flask(__name__)
api = Api(app)
response = response()
spotify = spotify()
owm = open_weather_map()


def get_dictionary_by_coordinate(request):
    """
    Obter o dicionario.
    Author: Gugatb
    Date: 17/06/2018
    Param: request a requisicao
    Return: dictionary o dicionario
    """
    dictionary = {
        'category': '',
        'city': '',
        'country': '',
        'error': False,
        'latitude': float(0),
        'longitude': float(0),
        'temperature': float(0),
コード例 #9
0
ファイル: controller.py プロジェクト: HSBNE/snarc_code
                    csock.setblocking(0)
                    clients[csock] = {'addr':addr, 'msgbuf':[], 'remain':0, 'bytes':0}
                    print >> sys.stderr, 'New connection from %s' % (addr)
                
                # have any of the clients sent us data?
                elif sock in clients:
                    try:
                        rxbytes = sock.recv(100)
                        if rxbytes == '':
                            raise socket.error
                        for byte in rxbytes:
                            try:
                                client_rxbyte(clients[sock], byte, sock)
                            except (IndexError, umsgpack.InsufficientDataException, TypeError, struct.error) as e:
                                print "Unexpected error:", sys.exc_info()[0]
                                print e
                                clients[sock] = {'addr':clients[sock]['addr'], 'msgbuf':[], 'remain':0, 'bytes':0}
                                client_socket.send(umsgpack.packb(response(rfidInput[0], 'ServerError')))
                    except socket.error:
                        # client died, or connection lost
                        c = clients.pop(sock)
                        print >> sys.stderr,  'Client from %s disconnected' % c['addr']
                        sock.close()
            
#            s.send(str(node_data_store))
        except socket.timeout:
            pass
except KeyboardInterrupt:
    runThreads = False
    print "\nPlease wait for connections to close.."
コード例 #10
0
 def _error_404(e):
     return response(405)
コード例 #11
0
 def _error_500(e):
     return response(500)
コード例 #12
0
 def _error_400(e):
     return response(400)
コード例 #13
0
                        for byte in rxbytes:
                            try:
                                client_rxbyte(clients[sock], byte, sock)
                            except (IndexError,
                                    umsgpack.InsufficientDataException,
                                    TypeError, struct.error) as e:
                                print "Unexpected error:", sys.exc_info()[0]
                                print e
                                clients[sock] = {
                                    'addr': clients[sock]['addr'],
                                    'msgbuf': [],
                                    'remain': 0,
                                    'bytes': 0
                                }
                                client_socket.send(
                                    umsgpack.packb(
                                        response(rfidInput[0], 'ServerError')))
                    except socket.error:
                        # client died, or connection lost
                        c = clients.pop(sock)
                        print >> sys.stderr, 'Client from %s disconnected' % c[
                            'addr']
                        sock.close()

#            s.send(str(node_data_store))
        except socket.timeout:
            pass
except KeyboardInterrupt:
    runThreads = False
    print "\nPlease wait for connections to close.."