def setup(self): """ Run deferred __init__ tasks """ self._login = Login(self)
class Context(object): """ CLI Context """ def __init__(self): self.cookiejar = None self.config = ConfigParser() self.config_path = None self.log = None self.cache = True self.database = NotImplemented self.basedir = os.path.join(os.path.dirname(os.path.realpath(__file__))) self.load_config(os.path.join(self.basedir, 'config', 'ipsv.conf')) self._login = None def setup(self): """ Run deferred __init__ tasks """ self._login = Login(self) @property def db(self): """ Get a loaded database session """ if self.database is NotImplemented: self.database = Session return self.database def load_config(self, path): """ (Re-)load the configuration file """ self.config_path = path self.config.read(self.config_path) def get_login(self, use_session=True): """ Get an active login session @param use_session: Use a saved session file if available @type use_session: bool """ # Should we try and return an existing login session? if use_session and self._login.check(): self.cookiejar = self._login.cookiejar return self.cookiejar # Prompt the user for their login credentials username = click.prompt('IPS Username') password = click.prompt('IPS Password', hide_input=True) remember = click.confirm('Save login session?', True) # Process the login cookiejar = self._login.process(username, password, remember) if remember: self.cookiejar = cookiejar return cookiejar
class Context(object): """ CLI Context """ def __init__(self): self.cookiejar = None self.config = ConfigParser() self.config_path = None self.log = None self.cache = True self.database = NotImplemented self.basedir = os.path.join(os.path.dirname( os.path.realpath(__file__))) self.load_config(os.path.join(self.basedir, 'config', 'ipsv.conf')) self._login = None def setup(self): """ Run deferred __init__ tasks """ self._login = Login(self) @property def db(self): """ Get a loaded database session """ if self.database is NotImplemented: self.database = Session return self.database def load_config(self, path): """ (Re-)load the configuration file """ self.config_path = path self.config.read(self.config_path) def get_login(self, use_session=True): """ Get an active login session @param use_session: Use a saved session file if available @type use_session: bool """ # Should we try and return an existing login session? if use_session and self._login.check(): self.cookiejar = self._login.cookiejar return self.cookiejar # Prompt the user for their login credentials username = click.prompt('IPS Username') password = click.prompt('IPS Password', hide_input=True) remember = click.confirm('Save login session?', True) # Process the login cookiejar = self._login.process(username, password, remember) if remember: self.cookiejar = cookiejar return cookiejar