예제 #1
0
    def copy(self, **args):
        """
        Copy factory.

        :param path: new search path
        :param replace_pkg: old and new package names.

        When replace package is set, change the package id for all the
        elt factories.
        """

        ret = AbstractFactory.copy(self, **args)

        # Replace old pkg name to new pkg name
        (old_pkg, new_pkg) = args['replace_pkg']

        for k, v in ret.elt_factory.iteritems():
            pkg_id, factory_id = v

            if(pkg_id == old_pkg.get_id()):
                pkg_id = new_pkg.get_id()
                ret.elt_factory[k] = pkg_id, factory_id

        return ret
예제 #2
0
    def copy(self, **args):
        """
        Copy factory.

        :param path: new search path
        :param replace_pkg: old and new package names.

        When replace package is set, change the package id for all the
        elt factories.
        """

        ret = AbstractFactory.copy(self, **args)

        # Replace old pkg name to new pkg name
        (old_pkg, new_pkg) = args['replace_pkg']

        for k, v in ret.elt_factory.iteritems():
            pkg_id, factory_id = v

            if (pkg_id == old_pkg.get_id()):
                pkg_id = new_pkg.get_id()
                ret.elt_factory[k] = pkg_id, factory_id

        return ret