# -*- coding: utf-8 -*-
"""
Created on Sun Jan  18 14:55:11 2022

@author: Shahedalam07@gmail.com
"""

import time
import urllib

import paho.mqtt.client as mqtt
import requests

global flag2
flag2 = 0
ip2 = "202.65.11.59"
deviceId2 = 'mgh.python.booker_pub'
client_server2 = mqtt.Client(deviceId2)
client_server2.username_pw_set(username="shahed", password="A_shahed_b")
host_server2 = ip2

def on_message2(client, userdata, message):
        try:
            print("message received " ,str(message.payload.decode("utf-8")))
            print("message topic=",str(message.topic))
            print("message qos=",message.qos)
            print("message retain flag=",message.retain)
            topic = str(message.topic)
            htttp_url1 = "http://202.65.11.59/api/booker_pub?"

            payload = message.payload.decode("utf-8")
            htttp_url1 += 'msg=' + str(payload)
            htttp_url1 +='&topic='+ str(topic)
            x = requests.post(htttp_url1)
            print(x.status_code)
        except Exception as e:
            print("Exception Message: {}".format(e))

def on_connect2(client_server, userdata, flags, rc):
    global flag2
    flag2 = 1
    client_server.on_message=on_message2
    client_server.on_connect = on_connect2
    client_server.on_disconnect = on_disconnect2
    client_server.on_publish = on_pub2
   # client_server.subscribe(mqtt_sub_topic)
    client_server.subscribe('/esp32/mgh/booker1/pub',0)


   # client_server.loop_start()
    print("connected ok")

def on_pub2 (client_server, userdata, result):
    print("data published")

def on_disconnect2(client, userdata, rc):
    global flag2
    flag2 = 0
    print("disconnected")
  # client_server.connect(host_server, port=1883, keepalive=600, bind_address="")


try:

    client_server2.connect(host_server2, port=1883, keepalive=60, bind_address="")
    client_server2.on_connect = on_connect2
    client_server2.on_disconnect = on_disconnect2
    client_server2.loop_start()
except Exception as e:
    print("Exception Message: {}".format(e))


while True:
    try:
        time.sleep(0.5)
    except Exception as e:
        print("Exception Message: {}".format(e))


