Updated examples to use juju.loop
[osm/N2VC.git] / examples / localcharm.py
index bc92914..978703e 100644 (file)
@@ -10,31 +10,25 @@ import asyncio
 import logging
 
 from juju.model import Model
+from juju import loop
 
 
-async def run():
+async def main():
     model = Model()
     await model.connect_current()
 
-    # Upload local charm to the model.
-    # The returned 'local:' url can be used to deploy the charm.
-    charm_url = await model.add_local_charm_dir(
-        '/home/tvansteenburgh/src/charms/ubuntu', 'trusty')
-
-    # Deploy the charm using the 'local:' charm.
+    # Deploy a local charm using a path to the charm directory
     await model.deploy(
-        charm_url,
+        '/home/tvansteenburgh/src/charms/ubuntu',
         application_name='ubuntu',
+        series='trusty',
     )
 
     await model.disconnect()
-    model.loop.stop()
 
 
-logging.basicConfig(level=logging.DEBUG)
-ws_logger = logging.getLogger('websockets.protocol')
-ws_logger.setLevel(logging.INFO)
-loop = asyncio.get_event_loop()
-loop.set_debug(False)
-loop.create_task(run())
-loop.run_forever()
+if __name__ == '__main__':
+    logging.basicConfig(level=logging.DEBUG)
+    ws_logger = logging.getLogger('websockets.protocol')
+    ws_logger.setLevel(logging.INFO)
+    loop.run(main())