def goto(self): if hasattr(self.currentWidget(), "goto"): self.currentWidget().goto() logger.debug("Goto " + self.currentWidget().applet.name) else: logger.warning("Can't use method Goto in " + self.currentWidget().applet.name)
def uncomment(self): if hasattr(self.currentWidget(), "uncomment"): self.currentWidget().uncomment() logger.debug("uncomment " + self.currentWidget().applet.name) else: logger.warning("Can't use method uncomment in " + self.currentWidget().applet.name)
def search(self): if hasattr(self.currentWidget(), "search"): self.currentWidget().search() logger.debug("Search " + self.currentWidget().applet.name) else: logger.warning("Can't use method search in " + self.currentWidget().applet.name)
def redo(self): if hasattr(self.currentWidget(), "redo"): self.currentWidget().redo() logger.debug("Redo " + self.currentWidget().applet.name) else: logger.warning("Can't use method Redo in " + self.currentWidget().applet.name)
def preferedSettings(self): """ Get prefered settings and restore them """ try: settings = QtCore.QSettings("OpenAlea", "OpenAleaLab") self.restoreGeometry(settings.value("preferedGeometry")) self.restoreState(settings.value("preferedWindowState")) except: logger.warning("Can t restore prefered session")
def add_package(self, package): """ Add a package to the pkg manager """ # Test if the package is deprecated if package.name.lower() in self.deprecated_pkg: logger.warning("Deprecated : Ignoring %s" % (package.name)) del(package) return self[package.get_id()] = package self.update_category(package)
def ast_parse(string): logger.debug("Parse code: " + string[:10] + "...") try: M = ast.parse(string) except SyntaxError, e: #raise e logger.warning(str(e)) wraper = textwrap.TextWrapper(width=30) txt = wraper.wrap(string)[0] # Python 2 # txt = textwrap.shorten(string, width=30, placeholder="...") # Python 3 logger.warning("Syntax error when parsing: " + txt + "...") M = ast.parse("")
def readSettings(self): """ Read a setting file and restore registered settings (geometry and window state) """ settings = QtCore.QSettings("OpenAlea", "OpenAleaLab") try: self.restoreGeometry(settings.value("geometry")) # self.restoreState(settings.value("windowState")) except: # if you launch application for the first time, # it will save the default state settings.setValue("defaultGeometry", self.saveGeometry()) # settings.setValue("defaultWindowState", self.saveState()) logger.warning("Can t restore session")
def find_wralea_dir(self, directory, recursive=True): """ Find in a directory wralea files, Search recursivly is recursive is True :return : a list of pkgreader instances """ if DEBUG: t0 = clock() wralea_files = set() if(not os.path.isdir(directory)): logger.warning("%s Not a directory" % repr(directory)) # self.log.add("%s Not a directory"%repr(directory)) return [] p = path(directory).abspath() # search for wralea.py if recursive and SEARCH_OUTSIDE_ENTRY_POINTS: for f in p.walkfiles("*wralea*.py"): wralea_files.add(str(f)) else: wralea_files.update(p.glob("*wralea*.py")) for f in wralea_files: logger.info("Package Manager : found %s" % f) # self.log.add("Package Manager : found %s" % f) if DEBUG: t1 = clock() dt = t1 - t0 print('search wralea files takes %f sec' % dt) readers = list(map(self.get_pkgreader, wralea_files)) if DEBUG: t2 = clock() dt1 = t2 - t1 print('readers takes %f sec: ' % (dt1,)) return readers
from openalea.vpltk.qt import QtCore, QtGui from openalea.core.path import path from openalea.oalab.editor.search import SearchWidget from openalea.oalab.editor.completion import DictionaryCompleter from openalea.oalab.editor.line_number import Margin from openalea.oalab.editor.goto import GoToWidget from openalea.core import logger from openalea.core import settings has_flake8 = False try: from flake8 import run has_flake8 = True except ImportError: logger.warning("You should install **flake8** (using: pip install flake8)") class RichTextEditor(QtGui.QWidget): textChanged = QtCore.Signal() def __init__(self, parent=None): super(RichTextEditor, self).__init__(parent) self.completer = DictionaryCompleter(parent=self) self.editor = self._default_editor(parent=self) self.editor.textChanged.connect(self.textChanged.emit) # self.editor.setCompleter(self.completer) self.goto_widget = GoToWidget(parent=self.editor)