def load_settings(self): config = settings.Settings() try: self.previous_project = config.get("ProjectManager", "Last Project") except (settings.NoSectionError, settings.NoOptionError): pass
def read_settings(self): config = settings.Settings() font = "Courier" try: font = config.get("Text Editor", "Font") except settings.NoSectionError, e: config.add_section("Text Editor") config.add_option("Text Editor", "Font", str(font))
def write_settings(self): config = settings.Settings() font = self.font() config.set("Text Editor", "Font", font) font_size = font.pointSize() config.get("Text Editor", "Font Size", font_size) config.write()
def write_settings(self): """ Add a new path to the settings. """ lst = list(set(self.repositories)) lst = map(str, lst) config = settings.Settings() config.set("ProjectManager", "Path", str(lst)) try: config.set("ProjectManager", "Last Project", str(self.previous_project)) except settings.NoSectionError, e: config.add_section("ProjectManager") config.add_option("ProjectManager", "Last Project", str(self.previous_project))
def __init__(self, parent=None): """ Widget to change settings. """ super(PreferenceWidget, self).__init__(parent) self.setWindowTitle("OpenAleaLab Preferences") self.resize(600, 300) mainlayout = QtGui.QVBoxLayout(self) self.tabwidget = QtGui.QTabWidget(self) mainlayout.addWidget(self.tabwidget) config = settings.Settings() self._config = None self._option_values = {} self._set_config(config)
def search_path(): """ Return a list of all path containing projects """ repositories = set() # 1. Add default user project dir repositories.add(Path(settings.get_project_dir())) # 2. Add project repositories defined by packages for plugin in plugins( 'oalab.plugin', criteria=dict(implement="ProjectRepositoryList")): for repository in plugin(): repositories.add(repository) # 3. Read repositories defined by users and saved in config config = settings.Settings() lst = list(repositories) try: s = config.get("ProjectManager", "Path") lst = eval(s, {"path": Path}) except NoSectionError: config.add_section("ProjectManager") config.add_option("ProjectManager", "Path", str([str(path) for path in lst])) except NoOptionError: config.add_option("ProjectManager", "Path", str([str(path) for path in lst])) for repo in lst: repositories.add(repo) # Remove all paths to directories that don't exist final_list = set() for p in repositories: p = Path(p).abspath() if not p.isdir(): continue final_list.add(p) return list(final_list)