Esempio n. 1
0
    def __init__(self, path, **kwargs):
        self.categories = kwargs.get('categories', self.DEFAULT_CATEGORIES)
        Observed.__init__(self)

        self.metadata = OrderedDict()

        # listeners = kwargs['listeners'] if 'listeners' in kwargs else []
        # for listener in listeners:
        #    self.register_listener(listener)

        self.started = False
        self._path = _normpath(path)

        # Fill metadata
        for k, v in self.DEFAULT_METADATA.iteritems():
            self.metadata[k] = kwargs.get(k, v.value)

        # Allocate category dictionaries
        for k in self.categories:
            self.__dict__[k] = {}

        if self._path.exists():
            self._load()
        #    self.notify_listeners(('project_loaded', (self, self.path)))
        # else:
        #    self.notify_listeners(('project_created', (self, self.path)))
        # self.notify_listeners(('project_changed', self))

        self.ns = {}
Esempio n. 2
0
    def __init__(self, verbose=True):
        """ Constructor """
        Observed.__init__(self)
        self.log = Logger()

        # make urlparse correctly handle the glorious "oa" protocol :)
        six.moves.urllib.parse.uses_query.append("oa")

        self.verbose = verbose
        # remove namespace option
        # self.include_namespace = self.get_include_namespace()

        # save system path
        self.old_syspath = sys.path[:]

        # dictionnary of packages
        self.pkgs = PackageDict()

        # dictionnary of category
        self.category = PseudoGroup("")

        # dictionary of standard categories
        self.user_category = PackageManagerCategory()

        # list of path to search wralea file related to the system
        self.user_wralea_path = set()
        self.sys_wralea_path = set()
        # for packages that we don't want to save in the config file
        self.temporary_wralea_paths = set()

        # Compute system and user PATH to look for packages
        self.set_user_wralea_path()
        self.set_sys_wralea_path()
Esempio n. 3
0
    def __init__(self, graph, graphScene=None, clipboard=None, siblings=None, interpreter=None, graphAdapter=None):
        Observed.__init__(self)

        do_imports()
        configure_dataflow_types()

        self.__ops = [ dataflow.DataflowOperators(self), layout.LayoutOperators(self),
                       color.ColorOperators(self), vertex.VertexOperators(self),
                       port.PortOperators(self), anno.AnnotationOperators(self) ]

        self.__availableNames = {}

        for operator in self.__ops:
            for meth in dir(operator):
                self.__availableNames[meth] = getattr(operator, meth)

        self.__graph        = graph
        self.__adapter      = graphAdapter
        self.__scene        = graphScene
        self.__clipboard    = clipboard or CompositeNodeFactory("Clipboard")
        self.__siblings     = siblings or []
        self.__interpreter  = interpreter or GraphOperator.globalInterpreter

        # when working on current item these can be set
        self.__vertexItem     = None
        self.__annotationItem = None
        self.__portItem       = None
Esempio n. 4
0
    def __init__(self, path, **kwargs):
        self.categories = kwargs.get('categories', self.DEFAULT_CATEGORIES)
        Observed.__init__(self)

        self.metadata = OrderedDict()

        # listeners = kwargs['listeners'] if 'listeners' in kwargs else []
        # for listener in listeners:
        #    self.register_listener(listener)

        self.started = False
        self._path = _normpath(path)

        # Fill metadata
        for k, v in self.DEFAULT_METADATA.iteritems():
            self.metadata[k] = kwargs.get(k, v.value)

        # Allocate category dictionaries
        for k in self.categories:
            self.__dict__[k] = {}

        if self._path.exists():
            self._load()
        #    self.notify_listeners(('project_loaded', (self, self.path)))
        # else:
        #    self.notify_listeners(('project_created', (self, self.path)))
        # self.notify_listeners(('project_changed', self))

        self.ns = {}
Esempio n. 5
0
    def __init__(self, name, interface=None, value=None, widget=None, constraints=None, **kwds):
        """
        :param name: Control name
        :type name: basestring
        :param interface: Interface name or class
        :type interface: basestring or
                         :class:`openalea.core.interface.IInterface`
        :param value: value to initialise control
                      [Default: use interface default value].
        :type value: value compatible with interface
        :param widget: name of preferred widget [Default: undefined]
        :type widget: basestring
        :param constraints: constraints to set to interface.
                            See Interface documentation [Def: no constraints]
        :type constraints: :obj:`dict`
        """
        Observed.__init__(self)

        self.name = name
        self.widget = widget

        if constraints is None:
            constraints = {}
        self._interface = new_interface(interface, value, **constraints)

        self._value = value
        if value is None:
            self._value = interface_default_value(self._interface)

        self._alias = kwds.get("alias", None)
        self._default_value = kwds.get("default", self._value)
Esempio n. 6
0
    def __init__(self):

        Observed.__init__(self)
        dict.__init__(self)

        DataPool.__setitem__ = notify_decorator(dict.__setitem__)
        DataPool.__delitem__ = notify_decorator(dict.__delitem__)
        DataPool.clear = notify_decorator(dict.clear)
Esempio n. 7
0
    def __init__(self):

        Observed.__init__(self)
        dict.__init__(self)

        DataPool.__setitem__ = notify_decorator(dict.__setitem__)
        DataPool.__delitem__ = notify_decorator(dict.__delitem__)
        DataPool.clear = notify_decorator(dict.clear)
Esempio n. 8
0
    def __init__(self):
        Observed.__init__(self)
        AbstractListener.__init__(self)

        self.tmpdir = Path(get_openalea_tmp_dir())
        self._cproject = None
        self._cwd = Path('.').abspath()
        self.old_syspath = sys.path

        self.cm = ControlManager()

        self.projects = []
        self.repositories = self.search_path()
        self.previous_project = "temp"

        self.shell = interpreter()
        # TODO Search in preference file if user has path to append in self.repositories
        self.cproject = self.default()
Esempio n. 9
0
    def __init__(self):

        Observed.__init__(self)

        self.workspaces = []
        self.cworkspace = -1  # current workspace
        self.graphViews = weakref.WeakKeyDictionary()

        self.datapool = DataPool()

        # Use dictionary
        self.use_by_name = {}
        self.use_by_interface = {}

        self.pkgmanager = PackageManager()

        self.empty_cnode_factory = CompositeNodeFactory("Workspace")
        self.clipboard = CompositeNodeFactory("Clipboard")

        self.init()
Esempio n. 10
0
    def __init__(self):

        Observed.__init__(self)

        self.workspaces = []
        self.cworkspace = -1  # current workspace
        self.graphViews = weakref.WeakKeyDictionary()

        self.datapool = DataPool()

        # Use dictionary
        self.use_by_name = {}
        self.use_by_interface = {}

        self.pkgmanager = PackageManager()

        self.empty_cnode_factory = CompositeNodeFactory("Workspace")
        self.clipboard = CompositeNodeFactory("Clipboard")

        self.init()
Esempio n. 11
0
    def __init__(self, items=None, item_proxy=None, autoload=['entry_points']):
        """
        :param plugins: list of plugins you want to add manually
        :param plugin_proxy: proxy class to use by default
        """
        Observed.__init__(self)
        AbstractListener.__init__(self)

        self._autoload = autoload
        self.default_group = 'default'

        self._item = {}  # dict group -> item name -> item class or item proxy
        self._item_proxy = {}

        self.debug = False
        self._proxies = {}

        self.item_proxy = item_proxy

        if items is not None:
            self.add_items(items)
Esempio n. 12
0
    def __init__(self, items=None, item_proxy=None, autoload=['entry_points']):
        """
        :param plugins: list of plugins you want to add manually
        :param plugin_proxy: proxy class to use by default
        """
        Observed.__init__(self)
        AbstractListener.__init__(self)

        self._autoload = autoload
        self.default_group = 'default'

        self._item = {}  # dict group -> item name -> item class or item proxy
        self._item_proxy = {}

        self.debug = False
        self._proxies = {}

        self.item_proxy = item_proxy

        if items is not None:
            self.add_items(items)
Esempio n. 13
0
    def __init__(self,
                 graph,
                 graphScene=None,
                 clipboard=None,
                 siblings=None,
                 interpreter=None,
                 graphAdapter=None):
        Observed.__init__(self)

        do_imports()
        configure_dataflow_types()

        self.__ops = [
            dataflow.DataflowOperators(self),
            layout.LayoutOperators(self),
            color.ColorOperators(self),
            vertex.VertexOperators(self),
            port.PortOperators(self),
            anno.AnnotationOperators(self)
        ]

        self.__availableNames = {}

        for operator in self.__ops:
            for meth in dir(operator):
                self.__availableNames[meth] = getattr(operator, meth)

        self.__graph = graph
        self.__adapter = graphAdapter
        self.__scene = graphScene
        self.__clipboard = clipboard or CompositeNodeFactory("Clipboard")
        self.__siblings = siblings or []
        self.__interpreter = interpreter or GraphOperator.globalInterpreter

        # when working on current item these can be set
        self.__vertexItem = None
        self.__annotationItem = None
        self.__portItem = None
Esempio n. 14
0
    def __init__(self,
                 name,
                 interface=None,
                 value=None,
                 widget=None,
                 constraints=None,
                 **kwds):
        """
        :param name: Control name
        :type name: basestring
        :param interface: Interface name or class
        :type interface: basestring or
                         :class:`openalea.core.interface.IInterface`
        :param value: value to initialise control
                      [Default: use interface default value].
        :type value: value compatible with interface
        :param widget: name of preferred widget [Default: undefined]
        :type widget: basestring
        :param constraints: constraints to set to interface.
                            See Interface documentation [Def: no constraints]
        :type constraints: :obj:`dict`
        """
        Observed.__init__(self)

        self.name = name
        self.widget = widget

        if constraints is None:
            constraints = {}
        self._interface = new_interface(interface, value, **constraints)

        self._value = value
        if value is None:
            self._value = interface_default_value(self._interface)

        self._label = kwds.get('label', None)
        self._default_value = kwds.get('default', self._value)
Esempio n. 15
0
 def __init__(self):
     Observed.__init__(self)
     AbstractListener.__init__(self)
     self.follower = {}
     self._controls = []
Esempio n. 16
0
 def __init__(self, graph, vid):
     Observed.__init__(self)
     self.vid = vid
     self.g = weakref.ref(graph)
Esempio n. 17
0
 def __init__(self, graph=None):
     GraphAdapterBase.__init__(self)
     Observed.__init__(self)
     self.set_graph(MTG() if graph is None else graph)
     self.mapping = {}
Esempio n. 18
0
 def __init__(self, src, dst):
     Observed.__init__(self)
     HasAdHoc.__init__(self)
     self.__id = 0
     self.src = weakref.ref(src)
     self.dst = weakref.ref(dst)
Esempio n. 19
0
 def __init__(self):
     Observed.__init__(self)
     HasAdHoc.__init__(self)
     self.__connections = set()
     self.__id = 0
Esempio n. 20
0
 def __init__(self):
     Observed.__init__(self)
     self.__vidCounter = 0
     self.__eidCounter = 0
     self.__vertices = {}
     self.__edges = {}
Esempio n. 21
0
 def __init__(self, *args, **kwds):
     OrderedDict.__init__(self, *args, **kwds)
     Observed.__init__(self)
     self._block = False
     self._emit_world_sync()
Esempio n. 22
0
 def __init__(self):
     Observed.__init__(self)
     AbstractListener.__init__(self)
     self.follower = {}
     self._controls = []
Esempio n. 23
0
 def __init__(self):
     Observed.__init__(self)
     self.__vidCounter = 0
     self.__eidCounter = 0
     self.__vertices   = {}
     self.__edges      = {}
Esempio n. 24
0
 def __init__(self, src, dst):
     Observed.__init__(self)
     HasAdHoc.__init__(self)
     self.__id = 0
     self.src = weakref.ref(src)
     self.dst = weakref.ref(dst)
Esempio n. 25
0
 def __init__(self):
     Observed.__init__(self)
     HasAdHoc.__init__(self)
     self.__connections = set()
     self.__id = 0
Esempio n. 26
0
 def __init__(self, *args, **kwds):
     OrderedDict.__init__(self, *args, **kwds)
     Observed.__init__(self)
     self._block = False
     self._emit_world_sync()