Ejemplo n.º 1
0
 def index(self, request, rid, repo_slug=None, state_slug=None):
     repo = get_object_or_404(Repository.reader_queryset(request),
                              id=rid,
                              archive_type=self.archive_type)
     states = list(
         ArchiveState.objects.filter(repository=repo).order_by('name'))
     template_values = {
         'repo': repo,
         'states': states,
         'upload_allowed': repo.upload_allowed(request),
         'admin_allowed': repo.admin_allowed(request),
     }
     view_name = moneta_url(repo, 'index')
     tab_infos = [
         (reverse(view_name,
                  kwargs={
                      'rid': repo.id,
                      'repo_slug': repo.slug
                  }), states,
          ArchiveState(name=_('All states'), slug='all-states')),
     ]
     for state in states:
         tab_infos.append((reverse(view_name,
                                   kwargs={
                                       'rid': repo.id,
                                       'repo_slug': repo.slug,
                                       'state_slug': state.slug
                                   }), [state], state))
     template_values['tab_infos'] = tab_infos
     return render_to_response('repositories/ruby/index.html',
                               template_values, RequestContext(request))
Ejemplo n.º 2
0
    def index(self, request, rid):
        repo = get_object_or_404(Repository.reader_queryset(request),
                                 id=rid,
                                 archive_type=self.archive_type)
        states = list(
            ArchiveState.objects.filter(repository=repo).order_by('name'))
        template_values = {
            'repo': repo,
            'states': states,
            'upload_allowed': repo.upload_allowed(request),
            'admin_allowed': repo.admin_allowed(request),
        }
        state_infos = []
        template_values['state_slug'] = None
        request_context = RequestContext(request)
        viewname = moneta_url(repo, 'browse')
        url = reverse(viewname,
                      kwargs={
                          'rid': repo.id,
                          'repo_slug': repo.slug,
                      })

        state_infos.append(('all-packages', url, _('All states'), states))
        for state in states:
            template_values['state_slug'] = state.slug
            url = reverse(viewname,
                          kwargs={
                              'rid': repo.id,
                              'repo_slug': repo.slug,
                              'state_slug': state.slug
                          })
            state_infos.append((state.slug, url, state.name, [state]))
        template_values['state_infos'] = state_infos
        return render_to_response('repositories/flat_files/index.html',
                                  template_values, request_context)
Ejemplo n.º 3
0
    def index(self, request, rid):
        repo = get_object_or_404(Repository.reader_queryset(request),
                                 id=rid,
                                 archive_type=self.archive_type)
        states = [
            state for state in ArchiveState.objects.filter(
                repository=repo).order_by('name')
        ]
        tab_infos = [
            (states, ArchiveState(name=_('All states'), slug='all-states')),
        ]
        tab_infos += [([state], state) for state in states]

        template_values = {
            'repo':
            repo,
            'states':
            states,
            'upload_allowed':
            repo.upload_allowed(request),
            'index_url':
            reverse(moneta_url(repo, 'index'), kwargs={
                'rid': repo.id,
            }),
            'tab_infos':
            tab_infos,
            'admin_allowed':
            repo.admin_allowed(request),
        }
        return render_to_response(self.index_html, template_values,
                                  RequestContext(request))
Ejemplo n.º 4
0
 def get_browse_url(repo, new_query_string, state_slug=None):
     browse_view_name = moneta_url(repo, 'browse')
     if state_slug is None:
         kwargs = {'rid': repo.id, 'repo_slug': repo.slug, 'query_string': new_query_string}
         return reverse(browse_view_name, kwargs=kwargs)
     kwargs = {'rid': repo.id, 'repo_slug': repo.slug, 'query_string': new_query_string, 'state_slug': state_slug, }
     return reverse(browse_view_name, kwargs=kwargs)
Ejemplo n.º 5
0
    def index(self, request, rid, repo_slug=None, state_slug=''):
        repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type)
        base_query = Element.objects.filter(repository=repo)
        if state_slug:
            state = get_object_or_404(ArchiveState, repository=repo, name=state_slug)
            base_query = base_query.filter(states=state)
        base_query = base_query.order_by('archive', 'version')
        element_infos = []
        for element in base_query:
            if not element.extra_data:
                continue
            provider = json.loads(element.extra_data)['provider']
            element_infos.append(
                (element.name,
                 reverse('vagrant:get_box',
                         kwargs={'rid': rid, 'repo_slug': repo.slug, 'eid': element.id, 'provider': provider,
                                 'archive': element.archive, 'version': element.version}),
                 element.sha1)
            )
        states = [state for state in ArchiveState.objects.filter(repository=repo).order_by('name')]
        tab_infos = [(reverse('vagrant:index', kwargs={'rid': repo.id, 'state_slug': ''}),
                      ArchiveState(name=_('All states'), slug='all-states'), states, ''), ]
        tab_infos += [(reverse('vagrant:index',
                               kwargs={'rid': repo.id, 'state_slug': state.slug}),
                       state, [state], state.slug)
                      for state in states]
        # list of (relative URL, name, list of states, state_slug)

        template_values = {'repo': repo, 'states': states, 'upload_allowed': repo.upload_allowed(request),
                           'state_slug': state_slug, 'elements': element_infos,
                           'index_url': reverse(moneta_url(repo, 'index'), kwargs={'rid': repo.id, }),
                           'tab_infos': tab_infos, 'admin_allowed': repo.admin_allowed(request), }
        return render_to_response(self.index_html, template_values, RequestContext(request))
Ejemplo n.º 6
0
 def get_browse_url(repo, new_query_string, state_slug=None):
     browse_view_name = moneta_url(repo, 'browse')
     if state_slug is None:
         kwargs = {'rid': repo.id, 'repo_slug': repo.slug, 'query_string': new_query_string}
         return reverse(browse_view_name, kwargs=kwargs)
     kwargs = {'rid': repo.id, 'repo_slug': repo.slug, 'query_string': new_query_string, 'state_slug': state_slug, }
     return reverse(browse_view_name, kwargs=kwargs)
Ejemplo n.º 7
0
    def index(self, request, rid):
        repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type)
        states = [state for state in ArchiveState.objects.filter(repository=repo).order_by('name')]
        tab_infos = [(states, ArchiveState(name=_('All states'), slug='all-states')), ]
        tab_infos += [([state], state) for state in states]

        template_values = {'repo': repo, 'states': states, 'upload_allowed': repo.upload_allowed(request),
                           'index_url': reverse(moneta_url(repo, 'index'), kwargs={'rid': repo.id, }),
                           'tab_infos': tab_infos, 'admin_allowed': repo.admin_allowed(request), }
        return TemplateResponse(request, self.index_html, template_values)
Ejemplo n.º 8
0
 def simple(self, request, rid, repo_slug, state_slug=None, search_pattern=''):
     search_pattern = search_pattern.replace('-', '').replace('_', '')
     repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type)
     base_query = Element.objects.filter(repository=repo)
     if state_slug:
         state = get_object_or_404(ArchiveState, repository=repo, name=state_slug)
         base_query = base_query.filter(states=state)
     if search_pattern:
         base_query = base_query.filter(archive__iexact=search_pattern)
     view_name = moneta_url(repo, 'get_file')
     elements = [(x.filename, x.md5, reverse(view_name, kwargs={'eid': x.id, })) for x in base_query[0:1000]]
     template_values = {'elements': elements, 'rid': rid, }
     return TemplateResponse(request, 'repositories/pypi/simple.html', template_values)
Ejemplo n.º 9
0
 def simple(self, request, rid, repo_slug, state_slug=None, search_pattern=''):
     search_pattern = search_pattern.replace('-', '').replace('_', '')
     repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type)
     base_query = Element.objects.filter(repository=repo)
     if state_slug:
         state = get_object_or_404(ArchiveState, repository=repo, name=state_slug)
         base_query = base_query.filter(states=state)
     if search_pattern:
         base_query = base_query.filter(archive__iexact=search_pattern)
     view_name = moneta_url(repo, 'get_file')
     elements = [(x.filename, x.md5, reverse(view_name, kwargs={'eid': x.id, })) for x in base_query[0:1000]]
     template_values = {'elements': elements, 'rid': rid, }
     return TemplateResponse(request, 'repositories/pypi/simple.html', template_values)
Ejemplo n.º 10
0
 def index(self, request, rid):
     repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type)
     states = list(ArchiveState.objects.filter(repository=repo).order_by('name'))
     template_values = {'repo': repo, 'states': states, 'upload_allowed': repo.upload_allowed(request),
                        'admin_allowed': repo.admin_allowed(request), }
     view_name = moneta_url(repo, 'simple')
     tab_infos = [
         (reverse(view_name, kwargs={'rid': repo.id, 'repo_slug': repo.slug}), states,
          ArchiveState(name=_('All states'), slug='all-states')),
     ]
     for state in states:
         tab_infos.append((reverse(view_name,
                                   kwargs={'rid': repo.id, 'repo_slug': repo.slug, 'state_slug': state.slug}),
                           [state], state))
     template_values['tab_infos'] = tab_infos
     return TemplateResponse(request, 'repositories/pypi/index.html', template_values)
Ejemplo n.º 11
0
    def index(self, request, rid):
        repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type)
        states = list(ArchiveState.objects.filter(repository=repo).order_by('name'))
        template_values = {'repo': repo, 'states': states, 'upload_allowed': repo.upload_allowed(request),
                           'admin_allowed': repo.admin_allowed(request), }
        state_infos = []
        template_values['state_slug'] = None
        viewname = moneta_url(repo, 'browse')
        url = reverse(viewname, kwargs={'rid': repo.id, 'repo_slug': repo.slug, })

        state_infos.append(('all-packages', url, _('All states'), states))
        for state in states:
            template_values['state_slug'] = state.slug
            url = reverse(viewname, kwargs={'rid': repo.id, 'repo_slug': repo.slug, 'state_slug': state.slug})
            state_infos.append((state.slug, url, state.name, [state]))
        template_values['state_infos'] = state_infos
        return TemplateResponse(request, 'repositories/flat_files/index.html', template_values)
Ejemplo n.º 12
0
    def index(self, request, rid):
        repo = get_object_or_404(Repository.reader_queryset(request),
                                 id=rid,
                                 archive_type=self.archive_type)
        states = [
            state for state in ArchiveState.objects.filter(
                repository=repo).order_by('name')
        ]
        tab_infos = [
            (reverse('repository:jetbrains:plugin_index',
                     kwargs={
                         'rid': repo.id,
                         'repo_slug': repo.slug
                     }), ArchiveState(name=_('All states'),
                                      slug='all-states'), states),
        ]
        tab_infos += [(reverse('repository:jetbrains:plugin_index',
                               kwargs={
                                   'rid': repo.id,
                                   'repo_slug': repo.slug,
                                   'state_slug': state.slug
                               }), state, [state]) for state in states]

        template_values = {
            'repo':
            repo,
            'states':
            states,
            'upload_allowed':
            repo.upload_allowed(request),
            'index_url':
            reverse(moneta_url(repo, 'index'), kwargs={
                'rid': repo.id,
            }),
            'tab_infos':
            tab_infos,
            'admin_allowed':
            repo.admin_allowed(request),
        }
        return TemplateResponse(request, self.index_html, template_values)
Ejemplo n.º 13
0
 def xr_release_urls(request, rpc_args, self, rid, repo_slug, state_slug=None):
     if len(rpc_args) != 2:
         raise PermissionDenied
     name = rpc_args[0]
     version = rpc_args[1]
     repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.model)
     if state_slug:
         state = get_object_or_404(ArchiveState, repository=repo, name=state_slug)
         query = Element.objects.filter(repository=repo, state=state).filter(archive=name, version=version)
     else:
         query = Element.objects.filter(repository=repo).filter(archive=name, version=version)
     results = []
     # noinspection PyUnresolvedReferences
     base = request.build_absolute_uri('/')[:-1]
     for element in query:
         view_name = moneta_url(repo, 'get_file')
         package_url = base + reverse(view_name, kwargs={'eid': element.id, })
         results.append({'url': package_url, 'packagetype': 'sdist',
                         'filename': element.filename, 'size': element.filesize, 'downloads': 0,
                         'comment_text': element.long_description, 'md5_dist': element.md5, 'has_sig': False,
                         'python_version': 'source', })
     return results
Ejemplo n.º 14
0
 def xr_release_urls(request, rpc_args, self, rid, repo_slug, state_slug=None):
     if len(rpc_args) != 2:
         raise PermissionDenied
     name = rpc_args[0]
     version = rpc_args[1]
     repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.model)
     if state_slug:
         state = get_object_or_404(ArchiveState, repository=repo, name=state_slug)
         query = Element.objects.filter(repository=repo, state=state).filter(archive=name, version=version)
     else:
         query = Element.objects.filter(repository=repo).filter(archive=name, version=version)
     results = []
     # noinspection PyUnresolvedReferences
     base = request.build_absolute_uri('/')[:-1]
     for element in query:
         view_name = moneta_url(repo, 'get_file')
         package_url = base + reverse(view_name, kwargs={'eid': element.id, })
         results.append({'url': package_url, 'packagetype': 'sdist',
                         'filename': element.filename, 'size': element.filesize, 'downloads': 0,
                         'comment_text': element.long_description, 'md5_dist': element.md5, 'has_sig': False,
                         'python_version': 'source', })
     return results
Ejemplo n.º 15
0
    def index(self, request, rid, repo_slug=None, state_slug=''):
        repo = get_object_or_404(Repository.reader_queryset(request),
                                 id=rid,
                                 archive_type=self.archive_type)
        base_query = Element.objects.filter(repository=repo)
        if state_slug:
            state = get_object_or_404(ArchiveState,
                                      repository=repo,
                                      name=state_slug)
            base_query = base_query.filter(states=state)
        base_query = base_query.order_by('archive', 'version')
        element_infos = []
        for element in base_query:
            if not element.extra_data:
                continue
            provider = json.loads(element.extra_data)['provider']
            element_infos.append((element.name,
                                  reverse('repository:vagrant:get_box',
                                          kwargs={
                                              'rid': rid,
                                              'repo_slug': repo.slug,
                                              'eid': element.id,
                                              'provider': provider,
                                              'archive': element.archive,
                                              'version': element.version
                                          }), element.sha1))
        states = [
            state for state in ArchiveState.objects.filter(
                repository=repo).order_by('name')
        ]
        tab_infos = []
        # list of (relative URL, name, list of states, state_slug)
        tab_infos += [(reverse('repository:vagrant:index',
                               kwargs={
                                   'rid': repo.id,
                                   'state_slug': state.slug
                               }), state, [state], state.slug)
                      for state in states]
        tab_infos += [
            (reverse('repository:vagrant:index',
                     kwargs={
                         'rid': repo.id,
                         'state_slug': ''
                     }), ArchiveState(name=_('All boxes'),
                                      slug='all-states'), states, ''),
        ]

        template_values = {
            'repo':
            repo,
            'states':
            states,
            'upload_allowed':
            repo.upload_allowed(request),
            'state_slug':
            state_slug,
            'elements':
            element_infos,
            'index_url':
            reverse(moneta_url(repo, 'index'), kwargs={
                'rid': repo.id,
            }),
            'tab_infos':
            tab_infos,
            'admin_allowed':
            repo.admin_allowed(request),
        }
        return TemplateResponse(request, self.index_html, template_values)