Update changelog for 0.4.0
[osm/N2VC.git] / examples / allwatcher.py
index 3f5ea06..c78d689 100644 (file)
@@ -1,21 +1,31 @@
+"""
+This example:
+
+1. Connects to the current model
+2. Starts an AllWatcher
+3. Prints all changes received from the AllWatcher
+4. Runs forever (kill with Ctrl-C)
+
+"""
 import asyncio
 import logging
-logging.basicConfig(level=logging.DEBUG)
 
 from juju.client.connection import Connection
-from juju.client import watcher
-
-
-loop = asyncio.get_event_loop()
-conn = loop.run_until_complete(Connection.connect_current())
+from juju.client import client
+from juju import loop
 
 
 async def watch():
-    allwatcher = watcher.AllWatcher()
-    allwatcher.connect(conn)
+    conn = await Connection.connect_current()
+    allwatcher = client.AllWatcherFacade.from_connection(conn)
     while True:
         change = await allwatcher.Next()
         for delta in change.deltas:
             print(delta.deltas)
 
-loop.run_until_complete(watch())
+
+if __name__ == '__main__':
+    logging.basicConfig(level=logging.DEBUG)
+    # Run loop until the process is manually stopped (watch will loop
+    # forever).
+    loop.run(watch())