import asyncio
import concurrent.futures
-import urllib.request
+import functools
import PIL
+import time
+import urllib.request
from controlpi import BasePlugin, Message, MessageTemplate
loop = asyncio.get_running_loop()
executor = concurrent.futures.ProcessPoolExecutor()
# Initialise the model:
- model = await loop.run_in_executor(executor, Model())
+ model = await loop.run_in_executor(
+ executor,
+ functools.partial(Model))
print("Model initialised.")
while True:
# Wait until an image is there:
image = self._current_image
url = self.conf['url'] + image
# Give it to the model:
- category = await loop.run_in_executor(executor,
- model.analyse(url))
+ category = await loop.run_in_executor(
+ executor,
+ functools.partial(model.analyse, url))
# Send the result on the message bus:
await self.bus.send(Message(self.name,
{'event': 'image analysed',