Ejemplo n.º 1
0
def publish(msg, room, token):
    publisher = Publisher(room=room, token=token)
    publisher.start()
    publisher.publish(msg)
    _, data = publisher.recv()
    if not data == b'publish successful':
        raise Exception(data)
    publisher.stop()
Ejemplo n.º 2
0
    def process_withdrawal_status(self, message):
        self.info("Publish .. creating publish instance, queue," \
  "exchange: (%s, %s) " % ('WITHDRAWAL_STATUS', 'WITHDRAWAL_STATUS'))
        message['exchange'] = 'WITHDRAWAL_STATUS'
        publisher = Publisher('WITHDRAWAL_STATUS', 'WITHDRAWAL_STATUS')

        self.logger.info("Publish calling publish status : %r" % message)
        publisher.publish(message, 'WITHDRAWAL_STATUS')

        self.info(
            "POST: Withdraw status Queued successfully with message: %r " %
            message)
Ejemplo n.º 3
0
    def process_message_status(self, message):
        self.info("Publish .. creating publish instance, queue," \
  "exchange: (%s, %s) " % ('DLR_QUEUE', 'DLR_QUEUE'))
        message['exchange'] = 'DLR_QUEUE'
        message['reference'] = message.get('ref_no')

        publisher = Publisher('DLR_QUEUE', 'DLR_QUEUE')

        self.logger.info("Publish calling publish status : %r" % message)
        publisher.publish(message, 'DLR_QUEUE')

        self.info("POST: DLR Queued successfully with message: %r " % message)
Ejemplo n.º 4
0
    def get(self):
        message = self.get_message_dict()
        self.logger.info("Publish .. creating publish instance, queue," \
            "exchange: (%s, %s) " % (self.QUEUE_NAME, self.EXCHANGE_NAME))
        publisher = Publisher(self.QUEUE_NAME, self.EXCHANGE_NAME)

        self.logger.info("Publish calling publish : %r" % message)
        q_message = self.get_queue_message(message)
        publisher.publish(q_message, self.ROUTING_KEY)

        self.info("GET: Task Queued successfully with message: %r " % message)
        return self.response(message.get('TransID'), 201,
                             'Transaction queued succcess'), 200
Ejemplo n.º 5
0
    def get(self):
        message = self.get_message_dict()
        self.logger.info("Publish .. creating publish instance, queue," \
            "exchange: (%s, %s) " % (self.SMS_QUEUE_NAME, self.SMS_EXCHANGE_NAME))

        message['exchange'] = self.SMS_EXCHANGE_NAME
        publisher = Publisher(self.SMS_QUEUE_NAME, self.SMS_EXCHANGE_NAME)

        self.logger.info("Publish calling publish : %r" % message)
        publisher.publish(message, self.SMS_ROUTING_KEY)

        self.info("GET: Task Queued successfully with message: %r " % message)
        return self.response()
Ejemplo n.º 6
0
class SerialData(object):
    """ This class handles the communication with Arduino Boards.
    """
    def __init__(self, port='/dev/ttyACM1'):
        signal.signal(signal.SIGINT, self.signal_handler)
        self.__publisher = Publisher()
        self.__last_received = '{"temperature":"-100","humidity":"-100"}'
        self.__kill_received = False
        try:
            self.ser =  serial.Serial(
                port=port,
                baudrate=9600,
                bytesize=serial.EIGHTBITS,
                parity=serial.PARITY_NONE,
                stopbits=serial.STOPBITS_ONE,
                timeout=0.1,
                xonxoff=0,
                rtscts=0,
                interCharTimeout=None
            )
        except serial.serialutil.SerialException:
            # no serial connection
            self.ser = None
        else:
            self.__thread = Thread(target=self.__receiving, args=(self.ser,)).start()

    def __receiving(self, ser):
        readline = ''
        while not self.__kill_received:
            if self.__kill_received:
                logging.debug('got kill')
            readline = ser.readline()
            if readline != '':
                self.__last_received = readline
                self.__publisher.publish(self.__last_received)

    def next(self):
        if not self.ser:
            return 100  # return anything so we can test when Arduino isn't connected
        for j in range(40):
            raw_line = self.__last_received
            try:
                # logging.debug(raw_line.strip())
                return raw_line.strip()
            except ValueError, e:
                # print 'bogus data',raw_line
                logging.debug("Value Error: {0}".format(raw_line.strip()))
                print str(e)
                time.sleep(.005)
        return 0.
Ejemplo n.º 7
0
    def post(self):
        message = self.get_message_dict()
        self.info("Received inbox post request ==> %r" % (message, ))
        if not message or not message.get('short_code'):
            return {
                'response_code': 400,
                'response_desc': 'Missing MSISDN on POST'
            }, 400
        message['exchange'] = self.SMS_EXCHANGE_NAME
        publisher = Publisher(self.SMS_QUEUE_NAME, self.SMS_EXCHANGE_NAME)

        self.logger.info("Publish calling publish : %r" % message)
        publisher.publish(message, self.SMS_ROUTING_KEY)

        self.info("POST: Task Queued successfully with message: %r " % message)
        return self.response()
Ejemplo n.º 8
0
    def post(self):
        message = self.get_message_dict()
        if not message or not message.get('TransID'):
            return {
                'response_code': 400,
                'response_desc': 'Missing transaction ID'
            }, 400
        message['exchange'] = self.EXCHANGE_NAME
        publisher = Publisher(self.QUEUE_NAME, self.EXCHANGE_NAME)

        self.logger.info("Publish calling publish : %r => Q = %s, EX=%s" %
                         (message, self.QUEUE_NAME, self.EXCHANGE_NAME))

        q_message = self.get_queue_message(message)
        publisher.publish(q_message, self.ROUTING_KEY)

        self.info("POST: Task Queued successfully with message: %r " % message)
        return self.response(message.get('TransID'), 201, 'Succcess')
Ejemplo n.º 9
0
class RPData(object):
    """This class handles hardware communication with sensors and actuators directly attached to
    the RPi
    """
    def __init__(self):
        signal.signal(signal.SIGINT, self.signal_handler)
        self.__lastswitchstate = 1;
        self.__temperature = -100;
        self.__humidity = 0;
        self.__thread = Thread(target=self.__receiving).start()
        self.__kill_received = False
        self.__publisher = Publisher()

    def __receiving(self):
        """This function is called by the thread to update the device"""
        while not self.__kill_received:
            if self.__kill_received:
                logging.debug("Thread got killed")
            humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, 4)
            logging.debug("Got temperature reading: "+str(temperature)+" and also got Humidity reading: "+str(humidity))
            if self.__temperature != temperature or self.__humidity != humidity:
                if self.__humidity != 0 and self.__temperature != -100:
                    self.__publisher.publish({"temperature":temperature,"humidity":humidity, "switch":self.__lastswitchstate})
                self.__humidity = humidity
                self.__temperature = temperature
            sleep(2)

    def next(self):
        return str('{"temperature":"%5.2f","humidity":"%5.2f", "switch":"%d"}' % (self.__temperature, self.__humidity, self.__lastswitchstate))

    def updateSwitch(self, state):
        subprocess.call(["sudo", "/usr/local/bin/send433", "11111", "11", str(state)])
        self.__lastswitchstate = state

    def signal_handler(self, signal, frame):
        self.__kill_received = True
        os._exit(1)
Ejemplo n.º 10
0
 def publish_rabbit(self, message):
     print "got message to publish %r" % message
     pyb = Publisher(queue_name, exchange_name, logger)
     inject = pyb.publish(message, routing_key)
     print("rabbit mq inject result {0!r}".format(inject))
Ejemplo n.º 11
0
from Publisher import Publisher
from Subscriber import Subscriber

publisher = Publisher()
subscriber = Subscriber()
subscriber.subscriberName = "Hello World"
publisher.add(subscriber)
publisher.publish("Hello from Publisher")
publisher.filter_publish("Hello World", "Hello From Filter Publisher")
Ejemplo n.º 12
0
#!/usr/bin/env python

from Publisher import Publisher

CEP_SERVER_ADDRESS = '192.168.122.1'	# IP address of the server. You can find it at the end of the CEP console
SSL_PORT = 7711		# Thrift SSL port of the server
TCP_PORT = 7611     # Thrift TCP port of the server
USERNAME = '******'	# Username
PASSWORD = '******' 	# Passowrd

publisher = Publisher(CEP_SERVER_ADDRESS, SSL_PORT, TCP_PORT)

# Connect to server with username and password
publisher.connect(USERNAME, PASSWORD)

# Publish an event to the Temperature stream
publisher.publish('com.javahelps.stream.Temperature:1.0.0', 'Kitchen', 56)

# Disconnect
publisher.disconnect()