# -*- coding: utf-8 -*-
"""
Created on Sun Jan  18 14:43:15 2022

@author: Shahedalam07@gmail.com
"""

import time
import urllib

import paho.mqtt.client as mqtt
import requests

global flag4
flag4 = 0
ip4 = "202.65.11.59"
deviceId4 = 'mgh.python.display'
client_server4 = mqtt.Client(deviceId4)
client_server4.username_pw_set(username="shahed", password="A_shahed_b")
host_server4 = ip4

def on_message4(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/display?"

            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_connect4(client_server, userdata, flags, rc):
    global flag4
    flag4 = 1
    client_server.on_message=on_message4
    client_server.on_connect = on_connect4
    client_server.on_disconnect = on_disconnect4
    client_server.on_publish = on_pub4
   # client_server.subscribe(mqtt_sub_topic)
    client_server.subscribe('/esp32/mgh/display1/pub',0)

    
   # client_server.loop_start()
    print("connected ok")

def on_pub4 (client_server, userdata, result):
    print("data published")

def on_disconnect4(client, userdata, rc):
    global flag4
    flag4 = 0
    print("disconnected")
  # client_server.connect(host_server, port=1883, keepalive=600, bind_address="")
   

try:

    client_server4.connect(host_server4, port=1883, keepalive=60, bind_address="")
    client_server4.on_connect = on_connect4
    client_server4.on_disconnect = on_disconnect4
    client_server4.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))


