def wizard(config): """ Get application wizard (read from config) :param str config: configuration file :raise PackageError :return: str """ try: config = filesystem.readcfg(config) # noinspection PyProtectedMember params = dict(config._sections['general']) for key, val in params.items(): params[key] = None if val == 'None' else val if None is not params[key]: if params[key].isdigit(): params[key] = int(float(params[key])) elif params[key] in ['True', 'False']: if params[key] == 'True': params[key] = True else: params[key] = False else: params[key] = params[key].strip() return params except FileSystemError as error: raise PackageError(str(error))
def exception_log(): """ Get exception log path :return: string """ config = filesystem.readcfg('setup.cfg') return config.get('system', 'exceptions_log')
def __load_config(): """ Load main configuration file :raise ReaderError :return: ConfigParser.RawConfigParser """ try: config = filesystem.readcfg(Config.setup) return config except FileSystemError as e: raise ReaderError(e.message)
def __license(): """ Get application license :raise PackageError :return: str """ try: config = filesystem.readcfg(Config.params.get('cfg')) return config.get('info', 'license') except FileSystemError as e: raise PackageError(e.message)
def __repo(): """ Get application repository url :raise PackageError :return: str """ try: config = filesystem.readcfg(Config.params.get('cfg')) return config.get('info', 'repository') except FileSystemError as e: raise PackageError(e.message)
def local_version(): """ Get application local version :raise PackageError :return: str """ try: config = filesystem.readcfg(Config.params.get('cfg')) return config.get('info', 'version') except FileSystemError as e: raise PackageError(e.message)
def __app_name(): """ Get application name :raise PackageError :return: str """ try: config = filesystem.readcfg(Config.params.get('cfg')) return config.get('info', 'name') except FileSystemError as error: raise PackageError(str(error))
def is_reported(resource): """ Check if session is already reported :param str resource: target report :return: bool """ try: config = filesystem.readcfg(Reporter.config) return filesystem.is_exist(config.get('opendoor', 'reports'), resource) except FileSystemError as e: raise ReporterError(e.message)
def __init__(self, taget, data): """ PluginProvider constructor :param str taget: target host :param dict data: result set """ PluginProvider.__init__(self, taget, data) try: config = filesystem.readcfg(self.CONFIG_FILE) directory = config.get('opendoor', 'reports') self.__target_dir = "".join((directory, self._target)) filesystem.makedir(self.__target_dir) except FileSystemError as e: raise Exception(e)
def __proxies_count(): """ Get number of proxies in basic wordlist :raise PackageError :return: int """ try: config = filesystem.readcfg(Config.params.get('cfg')) filename = config.get('opendoor', 'proxies') count = filesystem.read(filename).__len__() return count except FileSystemError as e: raise PackageError(e.message)
def __browsers_count(): """ Get number of browsers in basic wordlist :raise PackageError :return: int """ try: config = filesystem.readcfg(Config.params.get('cfg')) filename = config.get('opendoor', 'useragents') count = filesystem.read(filename).__len__() return count except FileSystemError as error: raise PackageError(str(error))
def is_reported(resource): """ Check if session is already reported :param str resource: target report :return: bool """ try: if None is not Reporter.external_directory: if not Reporter.external_directory.endswith(os.path.sep): Reporter.external_directory += os.path.sep is_reported = filesystem.is_exist(Reporter.external_directory, resource) else: config = filesystem.readcfg(Reporter.config) is_reported = filesystem.is_exist( config.get('opendoor', 'reports'), resource) return is_reported except FileSystemError as error: raise ReporterError(error)
def __remote_version(): """ Get application remote version :raise PackageError :return: str """ if None is Package.remote_version: try: config = filesystem.readcfg(Config.params.get('cfg')) request_uri = config.get('info', 'setup') result = process.execute( 'curl -sb GET {uri}'.format(uri=request_uri)) raw = filesystem.readraw(result) Package.remote_version = raw.get('info', 'version') return Package.remote_version except (FileSystemError, CoreSystemError) as e: raise PackageError(e) else: return Package.remote_version