Пример #1
0
    def index_a_project(cls, project):
        indexes = cls.get_src_indexes_from_project(project)

        # FIXME: change project_rank algrithm
        project_rank = CodeDoubanProject.get_forked_count(project.id)
        for id, data in indexes:
            data['project_rank'] = project_rank

        IndexEngine.create_index_bulk('src', indexes)
Пример #2
0
    def index_a_project(cls, project):
        indexes = cls.get_src_indexes_from_project(project)

        # FIXME: change project_rank algrithm
        project_rank = CodeDoubanProject.get_forked_count(project.id)
        for id, data in indexes:
            data['project_rank'] = project_rank

        IndexEngine.create_index_bulk('src', indexes)
Пример #3
0
    def test_fork_and_watch_project(self):
        p6 = CodeDoubanProject.add('project6', owner_id="admin_user",
                                   summary="test", product="fire")
        p7 = CodeDoubanProject.add('project7', owner_id="other_user",
                                   summary="test", product="fire")

        fork_count = CodeDoubanProject.get_forked_count(p6.id)
        p6fork = p6.fork('project6_other_user', 'other_user')
        fork_count2 = CodeDoubanProject.get_forked_count(p6.id)
        ok_(fork_count2 == fork_count + 1)
        ok_(CodeDoubanProject.get_forked_count(p6fork.id) == 0)

        p6fork2 = p6fork.fork('project6_fork_other_user', 'other_user')
        ok_(CodeDoubanProject.get_forked_count(p6.id) == fork_count + 2)
        ok_(CodeDoubanProject.get_forked_count(p6fork.id) == 1)
        ok_(CodeDoubanProject.get_forked_count(p6fork2.id) == 0)

        watch_count = CodeDoubanProject.get_watched_count(p7.id)
        CodeDoubanProject.add_watch(p7.id, 'admin_user')
        watch_count2 = CodeDoubanProject.get_watched_count(p7.id)
        ok_(watch_count2 == watch_count + 1)

        ok_(len(p7.get_watch_users()) == watch_count2)

        p6.delete()
        p7.delete()
Пример #4
0
    def test_fork_and_watch_project(self):
        p6 = CodeDoubanProject.add('project6',
                                   owner_id="admin_user",
                                   summary="test",
                                   product="fire")
        p7 = CodeDoubanProject.add('project7',
                                   owner_id="other_user",
                                   summary="test",
                                   product="fire")

        fork_count = CodeDoubanProject.get_forked_count(p6.id)
        p6fork = p6.fork('project6_other_user', 'other_user')
        fork_count2 = CodeDoubanProject.get_forked_count(p6.id)
        ok_(fork_count2 == fork_count + 1)
        ok_(CodeDoubanProject.get_forked_count(p6fork.id) == 0)

        p6fork2 = p6fork.fork('project6_fork_other_user', 'other_user')
        ok_(CodeDoubanProject.get_forked_count(p6.id) == fork_count + 2)
        ok_(CodeDoubanProject.get_forked_count(p6fork.id) == 1)
        ok_(CodeDoubanProject.get_forked_count(p6fork2.id) == 0)

        watch_count = CodeDoubanProject.get_watched_count(p7.id)
        CodeDoubanProject.add_watch(p7.id, 'admin_user')
        watch_count2 = CodeDoubanProject.get_watched_count(p7.id)
        ok_(watch_count2 == watch_count + 1)

        ok_(len(p7.get_watch_users()) == watch_count2)

        p6.delete()
        p7.delete()
Пример #5
0
 def __init__(self, id='', last_updated_str='', hl_description=''):
     self.id = str(id)
     self.project = CodeDoubanProject.get(id)
     self.name = self.project.name
     self.owner = User(self.project.owner_name)
     self.last_updated = datetime.strptime(
         last_updated_str, DATE_FORMAT) if last_updated_str \
         else self.project.time
     self.create_time = self.project.time
     self.description = self.project.summary
     self.url = self.project.url
     self.language = self.project.language
     self.fork_from = self.project.get_forked_from()
     self.forked_count = CodeDoubanProject.get_forked_count(self.project.id)
     self.watched_count = CodeDoubanProject.get_watched_count(
         self.project.id)
     self.hl_description = hl_description or self.description
Пример #6
0
 def __init__(self, id='', last_updated_str='', hl_description=''):
     self.id = str(id)
     self.project = CodeDoubanProject.get(id)
     self.name = self.project.name
     self.owner = User(self.project.owner_name)
     self.last_updated = datetime.strptime(
         last_updated_str, DATE_FORMAT) if last_updated_str \
         else self.project.time
     self.create_time = self.project.time
     self.description = self.project.summary
     self.url = self.project.url
     self.language = self.project.language
     self.fork_from = self.project.get_forked_from()
     self.forked_count = CodeDoubanProject.get_forked_count(self.project.id)
     self.watched_count = CodeDoubanProject.get_watched_count(
         self.project.id)
     self.hl_description = hl_description or self.description
Пример #7
0
 def get_repo_index_from_project(cls, project):
     fork_from = project.get_forked_from()
     fork_from = fork_from.name if fork_from else ''
     last_commit = project.repo.get_last_commit('HEAD')
     commit_time = last_commit.commit_time if last_commit else project.time
     index_data = dict(
         id=str(project.id),
         name=project.name,
         owner=project.owner_name,
         description=project.summary,
         url=project.url,
         language=project.language,
         fork_from=fork_from,
         forked_count=CodeDoubanProject.get_forked_count(project.id),
         watched_count=CodeDoubanProject.get_watched_count(project.id),
         create_time=project.time.strftime(DATE_FORMAT),
         last_updated=commit_time.strftime(DATE_FORMAT),
     )
     return index_data
Пример #8
0
 def get_repo_index_from_project(cls, project):
     fork_from = project.get_forked_from()
     fork_from = fork_from.name if fork_from else ''
     last_commit = project.repo.get_last_commit('HEAD')
     commit_time = last_commit.commit_time if last_commit else project.time
     index_data = dict(
         id=str(project.id),
         name=project.name,
         owner=project.owner_name,
         description=project.summary,
         url=project.url,
         language=project.language,
         fork_from=fork_from,
         forked_count=CodeDoubanProject.get_forked_count(project.id),
         watched_count=CodeDoubanProject.get_watched_count(project.id),
         create_time=project.time.strftime(DATE_FORMAT),
         last_updated=commit_time.strftime(DATE_FORMAT),
     )
     return index_data