def install(self): # TODO ignore passed install_path argument # needs rethinking while fixing ContentBundle support install_path = env.get_user_library_path() self._unzip(install_path) self._run_indexer() return self.get_root_dir()
def __init__(self): logging.debug('STARTUP: Loading the bundle registry') GObject.GObject.__init__(self) self._mime_defaults = self._load_mime_defaults() # Queue of bundles to be installed/upgraded self._install_queue = _InstallQueue(self) # Bundle installation happens in a separate thread, which needs # access to _bundles. Protect all _bundles access with a lock. self._lock = Lock() self._bundles = [] # hold a reference to the monitors so they don't get disposed self._gio_monitors = [] dirs = [env.get_user_activities_path(), env.get_user_library_path()] for data_dir in GLib.get_system_data_dirs(): dirs.append(os.path.join(data_dir, "sugar", "activities")) for activity_dir in dirs: self._scan_directory(activity_dir) directory = Gio.File.new_for_path(activity_dir) monitor = directory.monitor_directory( flags=Gio.FileMonitorFlags.NONE, cancellable=None) monitor.connect('changed', self.__file_monitor_changed_cb) self._gio_monitors.append(monitor) self._last_defaults_mtime = [] self._favorite_bundles = [] for i in range(desktop.get_number_of_views()): self._favorite_bundles.append({}) self._last_defaults_mtime.append(-1) client = GConf.Client.get_default() self._protected_activities = [] # FIXME, gconf_client_get_list not introspectable #681433 protected_activities = client.get( '/desktop/sugar/protected_activities') for gval in protected_activities.get_list(): activity_id = gval.get_string() self._protected_activities.append(activity_id) if self._protected_activities is None: self._protected_activities = [] try: self._load_favorites() except Exception: logging.exception('Error while loading favorite_activities.') self._merge_default_favorites() self._desktop_model = desktop.get_model() self._desktop_model.connect('desktop-view-icons-changed', self.__desktop_view_icons_changed_cb)
def __init__(self): logging.debug('STARTUP: Loading the bundle registry') GObject.GObject.__init__(self) self._mime_defaults = self._load_mime_defaults() # Queue of bundles to be installed/upgraded self._install_queue = _InstallQueue(self) # Bundle installation happens in a separate thread, which needs # access to _bundles. Protect all _bundles access with a lock. self._lock = Lock() self._bundles = [] # hold a reference to the monitors so they don't get disposed self._gio_monitors = [] dirs = [env.get_user_activities_path(), env.get_user_library_path()] for data_dir in GLib.get_system_data_dirs(): dirs.append(os.path.join(data_dir, "sugar", "activities")) for activity_dir in dirs: self._scan_directory(activity_dir) directory = Gio.File.new_for_path(activity_dir) monitor = directory.monitor_directory( flags=Gio.FileMonitorFlags.NONE, cancellable=None) monitor.connect('changed', self.__file_monitor_changed_cb) self._gio_monitors.append(monitor) self._favorite_bundles = [] for i in range(desktop.get_number_of_views()): self._favorite_bundles.append({}) settings = Gio.Settings('org.sugarlabs') self._protected_activities = settings.get_strv('protected-activities') try: self._load_favorites() except Exception: logging.exception('Error while loading favorite_activities.') self._hidden_activities = [] self._load_hidden_activities() self._convert_old_favorites() self._scan_new_favorites() self._desktop_model = desktop.get_model() self._desktop_model.connect('desktop-view-icons-changed', self.__desktop_view_icons_changed_cb)
def install(self): install_path = env.get_user_library_path() self._unzip(install_path) return os.path.join(install_path, self._zip_root_dir)
def install(self): install_path = env.get_user_library_path() self._unzip(install_path) self._run_indexer() return self.get_root_dir()
def get_root_dir(self): return os.path.join(env.get_user_library_path(), self._zip_root_dir)