Following Matt's answer from this Question I am trying to use clock.schedule in another process in order to alter my ListProperty called "data_items" but still I get the error "global name 'set_property' is not defined".

beedo.py:

class MyW(Widget):
data_items = ListProperty([])
def set_property(camera, *largs):
    self.data_items.append(camera)
    print(data_items)
    return
....   

class beedoApp(App):
    def build(self):
        return MyW()
    ....

def do_list(camera):
    Clock.schedule_once(partial(set_property, camera))
    print "do list startet.."

def socket_server()
    ....

def event_handler
    ....
    list1 = Process (target=do_list, args=(camera))
    list1.start()

if __name__ == "__main__":
    server1 = Process (target=socket_server, args=(....)
    server2 = Process (target=socket_server, args=(....)
    handler = Process (target=event_handler, args=(....)

    server1.start()
    server2.start()
    handler.start()

    beedoApp().run()

    server1.join()
    server2.join()
    handler.join()

In the file beedo.kv I defined a SimpleListAdapter:

ListView:
     adapter:
     sla.SimpleListAdapter(data=root.data_items, cls=ListItemButton)

The screen of the alarm device looks like this:

Screen

I have uploaded the complete code here:

beedo.py https://www.dropbox.com/s/pyqpfefkia6lj0r/beedo.py?dl=0

Please, if you can help I would be really thankful !! regards, Pipe007

0

There are 0 best solutions below