'Gathers all configuration data from self.filepath, and
completes private attributes with such information.'

def _getConfig(self):

    tree = self._getTree()
    if tree:
        self._api_con_info_host = self._getValue(tree, CONST_API_CON_INFO_HOST)
        self._api_con_info_port = self._getValue(tree, CONST_API_CON_INFO_PORT)
        self._api_restful_con_info_port = self._getValue(tree, CONST_API_RESTFUL_CON_INFO_PORT)
        self._api_con_info = self._getValue(tree, CONST_API_CON_INFO)
        self._appname = self._getValue(tree, CONST_APPNAME)
        self._auth = self._getValue(tree, CONST_AUTH)
        self._auto_share_workspace = self._getValue(tree, CONST_AUTO_SHARE_WORKSPACE)
        self._config_path = self._getValue(tree, CONST_CONFIG_PATH)
        self._data_path = self._getValue(tree, CONST_DATA_PATH)
        self._debug_status = self._getValue(tree, CONST_DEBUG_STATUS)
        self._default_category = self._getValue(tree, CONST_DEFAULT_CATEGORY)
        self._default_temp_path = self._getValue(tree, CONST_DEFAULT_TEMP_PATH)
        self._font = self._getValue(tree, CONST_FONT)
        self._home_path = self._getValue(tree, CONST_HOME_PATH)
        self._host_tree_toggle = self._getValue(tree, CONST_HOST_TREE_TOGGLE)
        self._hsactions_path = self._getValue(tree, CONST_HSTACTIONS_PATH)
        self._icons_path = self._getValue(tree, CONST_ICONS_PATH)
        self._image_path = self._getValue(tree, CONST_IMAGE_PATH)
        self._log_console_toggle = self._getValue(tree, CONST_LOG_CONSOLE_TOGGLE)
        self._network_location = self._getValue(tree, CONST_NETWORK_LOCATION)
        self._persistence_path = self._getValue(tree, CONST_PERSISTENCE_PATH)
        self._perspective_view = self._getValue(tree, CONST_PERSISTENCE_PATH)
        self._repo_password = self._getValue(tree, CONST_REPO_PASSWORD)
        self._couch_uri = self._getValue(tree, CONST_COUCH_URI, default='')
        self._couch_replics = self._getValue(tree, CONST_COUCH_REPLICS, default='')
        self._couch_is_replicated = bool(self._getValue(tree, CONST_COUCH_ISREPLICATED, default=False))
        self._repo_url = self._getValue(tree, CONST_REPO_URL)
        self._repo_user = self._getValue(tree, CONST_REPO_USER)
        self._report_path = self._getValue(tree, CONST_REPORT_PATH)
        self._shell_maximized = self._getValue(tree, CONST_SHELL_MAXIMIZED)
        self._version = self._getValue(tree, CONST_VERSION)
        self._last_workspace = self._getValue(tree, CONST_LAST_WORKSPACE, default='untitled')
        self._plugin_settings = json.loads(self._getValue(tree, CONST_PLUGIN_SETTINGS, default='{}'))
        self._osint = json.loads(self._getValue(tree, CONST_OSINT, default='{"host":    "shodan.io","icon":    "shodan","label":    "Shodan",    "prefix":    "/search?query=",    "suffix":    "",    "use_external_icon":    false}'))
        self._updates_uri = self._getValue(tree, CONST_UPDATEURI, default='https://www.faradaysec.com/scripts/updates.php')
        self._tkts_uri = self._getValue(tree, CONST_TKTURI, default='https://www.faradaysec.com/scripts/listener.php')
        self._tkt_api_params = self._getValue(tree, CONST_TKTAPIPARAMS, default='{}')
        self._tkt_template = self._getValue(tree, CONST_TKTTEMPLATE, default='{}')
        self._merge_strategy = None
