32 lines
729 B
Python
32 lines
729 B
Python
import logging
|
|
import sys
|
|
|
|
try:
|
|
import qi
|
|
except ImportError:
|
|
qi = None
|
|
|
|
|
|
def get_qi_session():
|
|
"""
|
|
Create and return a Qi session if available.
|
|
|
|
:return: The active Qi session or ``None`` if unavailable.
|
|
:rtype: qi.Session | None
|
|
"""
|
|
if qi is None:
|
|
logging.info("Unable to import qi. Running in stand-alone mode.")
|
|
return None
|
|
|
|
if "--qi-url" not in sys.argv:
|
|
logging.info("No Qi URL argument given. Running in stand-alone mode.")
|
|
return None
|
|
|
|
try:
|
|
app = qi.Application()
|
|
app.start()
|
|
return app.session
|
|
except RuntimeError:
|
|
logging.info("Unable to connect to the robot. Running in stand-alone mode.")
|
|
return None
|