def get_project(self, project_id=None, env_name=None): """ .. WARNING: Deprecated! Use Project.get instead! Returns a project with a given id Usage:: projects.get_project(453) projects.get_project(project_id = 453) projects.get_project(env_name = "some_environment") """ if project_id: return Project.get(id=project_id) else: return Project.get(env_name=env_name)
def add_repository(self, name, repo_type, req): premade_repositories = self.get_repositories() for repo in premade_repositories: if name.lower() in repo[0].lower(): return add_warning(req, _("Repository name reserved")) if not self.validate_repository_name(name): return add_warning(req, _("Repository adding failed. Check name.")) project = Project._get_project(env_name=self.env.project_identifier, use_cache=False) ctvc = CreateTracVersionControl(project, { 'vcs_type': repo_type, 'vcs_name': name }) ctvc.do() add_hook = InitCommitHooks(project, { 'vcs_type': repo_type, 'vcs_name': name }) add_hook.do() self.env.config.set( 'repositories', name + '.dir', conf.getEnvironmentVcsPath(self.env.project_identifier, repo_type, name)) self.env.config.set('repositories', name + '.type', repo_type) self.env.config.save() add_notice(req, _('Added new repository %s to project' % name))
def follow_project(self, user_name, group_name): """ Sets user to follow project if group is correct. :param list user_name: username for get user object :param list group_name: groupname to check correct group """ if self.env is not None: if group_name == 'Members' or group_name == 'Owners': from multiproject.common.projects.project import Project project = Project.get(None, None, _get_trac_project_name(self.env)) user = conf.getUserStore().getUser(user_name) from multiproject.core.watchlist import CQDEWatchlistStore watch_store = CQDEWatchlistStore() watch_store.watch_project(user.id, project.id)
def add_repository(self, name, repo_type, req): premade_repositories = self.get_repositories() for repo in premade_repositories: if name.lower() in repo[0].lower(): return add_warning(req, _("Repository name reserved")) if not self.validate_repository_name(name): return add_warning(req, _("Repository adding failed. Check name.")) project = Project._get_project(env_name=self.env.project_identifier, use_cache=False) ctvc = CreateTracVersionControl(project, {'vcs_type':repo_type, 'vcs_name':name}) ctvc.do() add_hook = InitCommitHooks(project, {'vcs_type':repo_type, 'vcs_name':name}) add_hook.do() self.env.config.set('repositories', name + '.dir', conf.getEnvironmentVcsPath(self.env.project_identifier, repo_type, name)) self.env.config.set('repositories', name + '.type', repo_type) self.env.config.save() add_notice(req, _('Added new repository %s to project' % name))
def searchMostDownloaded(self): project_query = """ SELECT project_key FROM project_dim, event_fact, event_dim WHERE project_dim.project_sk = event_fact.project_sk AND event_fact.event_sk = event_dim.event_sk AND action_name='source_checkin' GROUP BY project_name ORDER BY COUNT(project_name) DESC; """ project_ids = [] with db_query('trac_analytical') as cursor: cursor.execute(project_query) project_ids = cursor.fetchall() projects = [] if project_ids is not None: for project_id in project_ids: projects.append(Project._get_project(project_id)) return projects