def filter(self, request, repos):
        if 'name' in request.GET:
            pattern = re.compile(request.GET['name'])
            repos = filter(lambda d: pattern.match(d), repos)

        if 'tag' in request.GET:
            tags = set(request.GET['tag'].split(','))
            taggingService = RepoTaggingService()
            repos = filter(
                lambda d: len(tags.intersection(taggingService.getTags(d))) >
                0, repos)

        if 'notag' in request.GET:
            forbiddentags = set(request.GET['notag'].split(','))
            taggingService = RepoTaggingService()
            repos = filter(
                lambda d: len(
                    forbiddentags.intersection(taggingService.getTags(d))) ==
                0, repos)

        if 'older' in request.GET:
            pastTime = self.get_past_time(int(request.GET['older']))
            configService = RepoConfigService()
            repos = filter(
                lambda d: os.stat(configService.getStaticRepoDir(d)).st_mtime <
                pastTime, repos)

        if 'newer' in request.GET:
            pastTime = self.get_past_time(int(request.GET['newer']))
            configService = RepoConfigService()
            repos = filter(
                lambda d: os.stat(configService.getStaticRepoDir(d)).st_mtime >
                pastTime, repos)

        return repos
    def filter(self, request, repos):
        if 'name' in request.GET:
            pattern = re.compile(request.GET['name'])
            repos = filter(lambda d: pattern.match(d), repos)

        if 'tag' in request.GET:
            tags = set(request.GET['tag'].split(','))
            taggingService = RepoTaggingService()
            repos = filter(lambda d: len(tags.intersection(taggingService.getTags(d))) > 0, repos)

        if 'notag' in request.GET:
            forbiddentags = set(request.GET['notag'].split(','))
            taggingService = RepoTaggingService()
            repos = filter(lambda d: len(forbiddentags.intersection(taggingService.getTags(d))) == 0, repos)

        if 'older' in request.GET:
            pastTime = self.get_past_time(int(request.GET['older']))
            configService = RepoConfigService()
            repos = filter(lambda d: os.stat(configService.getStaticRepoDir(d)).st_mtime < pastTime, repos)

        if 'newer' in request.GET:
            pastTime = self.get_past_time(int(request.GET['newer']))
            configService = RepoConfigService()
            repos = filter(lambda d: os.stat(configService.getStaticRepoDir(d)).st_mtime > pastTime, repos)

        return repos
Example #3
0
def static_repo_info(request, reponame):
    config = RepoTaggingService()
    tags = config.getTags(reponame)
    template = loader.select_template(['static/static_repo_info.html'])
    context = Context({
        'reponame' : reponame,
        'tags' : tags,
        'defaultTags' : config.getDefaultTags() - tags,
        })
    return HttpResponse(template.render(context))
Example #4
0
def static_repo_info(request, reponame):
    config = RepoTaggingService()
    tags = config.getTags(reponame)
    template = loader.select_template(['static/static_repo_info.html'])
    context = Context({
        'reponame': reponame,
        'tags': tags,
        'defaultTags': config.getDefaultTags() - tags,
    })
    return HttpResponse(template.render(context))