def __init__(self, projectroot, fscommands=None, ropefolder='.ropeproject', **prefs): """A rope project :parameters: - `projectroot`: The address of the root folder of the project - `fscommands`: Implements the file system operations rope uses have a look at `rope.base.fscommands` - `ropefolder`: The name of the folder in which rope stores project configurations and data. Pass `None` for not using such a folder at all. - `prefs`: Specify project preferences. These values overwrite config file preferences. """ if projectroot != '/': projectroot = _realpath(projectroot).rstrip('/\\') self._address = projectroot self._ropefolder_name = ropefolder if not os.path.exists(self._address): os.mkdir(self._address) elif not os.path.isdir(self._address): raise exceptions.RopeError('Project root exists and' ' is not a directory') if fscommands is None: fscommands = rope.base.fscommands.create_fscommands(self._address) super(Project, self).__init__(fscommands) self.ignored = _ResourceMatcher() self.file_list = _FileListCacher(self) self.prefs.add_callback('ignored_resources', self.ignored.set_patterns) if ropefolder is not None: self.prefs['ignored_resources'] = [ropefolder] self._init_prefs(prefs)
def __init__(self, projectroot, fscommands=None, ropefolder='.ropeproject', **prefs): """A rope project :parameters: - `projectroot`: The address of the root folder of the project - `fscommands`: Implements the file system operations used by rope; have a look at `rope.base.fscommands` - `ropefolder`: The name of the folder in which rope stores project configurations and data. Pass `None` for not using such a folder at all. - `prefs`: Specify project preferences. These values overwrite config file preferences. """ if projectroot != '/': projectroot = _realpath(projectroot).rstrip('/\\') self._address = projectroot self._ropefolder_name = ropefolder if not os.path.exists(self._address): os.mkdir(self._address) elif not os.path.isdir(self._address): raise exceptions.RopeError('Project root exists and' ' is not a directory') if fscommands is None: fscommands = rope.base.fscommands.create_fscommands(self._address) super(Project, self).__init__(fscommands) self.ignored = _ResourceMatcher() self.file_list = _FileListCacher(self) self.prefs.add_callback('ignored_resources', self.ignored.set_patterns) if ropefolder is not None: self.prefs['ignored_resources'] = [ropefolder] self._init_prefs(prefs)