# importing vlc module from os import listdir from os.path import isfile, join from random import randint from time import sleep import paho.mqtt.client as mqtt from video import Video import multiprocessing import sys from random import randint class App: def __init__(self, client, x, y): self.client = client self.video = Video(x, y) self.videos = [join("slave/videos", f) for f in listdir("slave/videos") if isfile(join("slave/videos", f))] print(self.videos) print(self.videos[randint(0, len(self.videos))]) def on_connect(self, client, userdata, flags, rc): print("Connected with result code "+str(rc)) self.client.subscribe("slave") def on_message(self, client, userdata, msg): print(msg.topic+" "+str(msg.payload)) if msg.payload == b'idle': print("Idle") self.x = multiprocessing.Process(target = self.idle) self.x.start() elif msg.payload == b'stop': print("Stop") self.x.terminate() def idle(self): while True: #if self.x is not None: # self.x.terminate() video = self.videos[randint(0, len(self.videos))] self.video.start(video) def main(): client = mqtt.Client() app = App(client, int(sys.argv[1]), int(sys.argv[2])) client.on_connect = app.on_connect client.on_message = app.on_message client.connect("10.1.1.162", 1883, 60) client.loop_forever() if __name__ == "__main__": main()