def add_related_project(self, repo_url): info = urlparse(repo_url) project_name = info.path.strip('/') from models.project import CodeDoubanProject prj = CodeDoubanProject.get_by_name(project_name) if prj not in self.related_projects: store.execute('insert into issue_related_projects ' '(issue_id, project_id) values(%s, %s)', (self.issue_id, prj.id)) store.commit()
from libs.permdir import get_repo_root from libs.store import store from models.project import CodeDoubanProject as Project from models.pull import PullRequest from models.ticket import Ticket from tests.utils import clone from local_config import DOMAIN p1_name = "project1" p1_id = None p1_path = os.path.join(get_repo_root(), "%s.git" % p1_name) shutil.rmtree(p1_path, ignore_errors=True) p1 = Project.get_by_name(p1_name) if p1: p1_id = p1.id p1.delete() p2_name = "project2" p2_id = None p2_path = os.path.join(get_repo_root(), "%s.git" % p2_name) shutil.rmtree(p2_path, ignore_errors=True) p2 = Project.get_by_name(p2_name) if p2: p2_id = p2.id p2.delete() if p1_id: store.execute("delete from codedouban_ticket where project_id=%s", p1_id)
def get_by_proj_name_and_number(cls, proj_name, number): from models.project import CodeDoubanProject project = CodeDoubanProject.get_by_name(proj_name) project_issue = cls.get(project.id, number=number) issue_id = project_issue.issue_id return Issue.get_cached_issue(issue_id)