def __init__(self, options): """ Constructor """ readline.parse_and_bind("tab: complete") readline.set_completer(self.complete) readline.set_completion_display_matches_hook(self.completer_print) try: readline.read_history_file(CLI_HISTORY) except IOError: pass readline.set_history_length(CLI_MAX_CMD_HISTORY) if not os.path.isdir(CLI_RESULT_HISTORY_FOLDER): os.system('rm -rf %s' % os.path.dirname(CLI_RESULT_HISTORY_FOLDER)) os.system('mkdir -p %s' % os.path.dirname(CLI_RESULT_HISTORY_FOLDER)) try: self.hd = filedb.FileDB(CLI_RESULT_HISTORY_KEY, is_abs_path=True) except: os.system('rm -rf %s' % CLI_RESULT_HISTORY_KEY) self.hd = filedb.FileDB(CLI_RESULT_HISTORY_KEY, is_abs_path=True) print "\nRead history file: %s error. Has recreate it.\n" % CLI_RESULT_HISTORY_KEY self.start_key = 'start_key' self.last_key = 'last_key' self.cli_cmd_func = {'help': self.show_help, 'history': self.show_help, 'more': self.show_more, 'quit': sys.exit, 'exit': sys.exit, 'save': self.save_json_to_file} self.cli_cmd = self.cli_cmd_func.keys() self.raw_words_db = self._parse_api_name(inventory.api_names) self.words_db = list(self.raw_words_db) self.words_db.extend(self.cli_cmd) self.words = list(self.words_db) self.is_cmd = False self.curr_pattern = None self.matching_words = None self.api_class_params = {} self.build_api_parameters() self.api = None self.account_name = None self.user_name = None self.session_uuid = None if os.path.exists(SESSION_FILE): session_file_reader = open(SESSION_FILE, 'r') self.session_uuid = session_file_reader.readline().rstrip() try: self.account_name = session_file_reader.readline().rstrip() self.user_name = session_file_reader.readline().rstrip() except EOFError: pass self.hostname = options.host self.port = options.port self.no_secure = options.no_secure self.api = api.Api(host=self.hostname, port=self.port)
def __init__(self): self.http_server.register_async_uri(self.CHECK_AVAILABILITY_PATH, self.check_proxy_availability) self.http_server.register_async_uri(self.ESTABLISH_PROXY_PATH, self.establish_new_proxy) self.http_server.register_async_uri(self.DELETE_PROXY_PATH, self.delete) self.http_server.register_sync_uri(self.PING_PATH, self.ping) if not os.path.exists(self.PROXY_LOG_DIR): os.makedirs(self.PROXY_LOG_DIR, 0755) if not os.path.exists(self.TOKEN_FILE_DIR): os.makedirs(self.TOKEN_FILE_DIR, 0755) self.db = filedb.FileDB(self.DB_NAME)