def index_file(self, request, rid, filename, mimetype): repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type) uid = self.storage_uid % repo.id key = storage(settings.STORAGE_CACHE).uid_to_key(uid) return sendpath(settings.STORAGE_CACHE, key, filename, mimetype)
def specs(self, request, rid, repo_slug, state_slug=None, filename='specs.4.8.gz'): # noinspection PyUnusedLocal repo_slug = repo_slug repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type) if state_slug: filename = 'specs/%(slug)s/%(filename)s' % {'slug': state_slug, 'filename': filename, } else: filename = 'specs/%(filename)s' % {'filename': filename, } uid = self.storage_uid % repo.pk key = storage(settings.STORAGE_CACHE).uid_to_key(uid) return sendpath(settings.STORAGE_CACHE, key, filename, 'application/gzip')
def repodata_file(self, request, rid, repo_slug, state_slug, arch, filename, compression): if filename not in ('comps.xml', 'primary.xml', 'other.xml', 'filelists.xml', 'repomd.xml', ): return HttpResponse(_('File not found'), status=404) if compression and filename == 'repomd.xml': return HttpResponse(_('File not found'), status=404) # noinspection PyUnusedLocal repo_slug = repo_slug filename = self.index_filename(state_slug, arch, filename + compression) mimetype = 'text/xml' repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type) uid = self.storage_uid % repo.id key = storage(settings.STORAGE_CACHE).uid_to_key(uid) return sendpath(settings.STORAGE_CACHE, key, filename, mimetype)
def specs(self, request, rid, repo_slug, state_slug=None, filename='specs.4.8.gz'): # noinspection PyUnusedLocal repo_slug = repo_slug repo = get_object_or_404(Repository.reader_queryset(request), id=rid, archive_type=self.archive_type) if state_slug: filename = 'specs/%(slug)s/%(filename)s' % { 'slug': state_slug, 'filename': filename, } else: filename = 'specs/%(filename)s' % { 'filename': filename, } uid = self.storage_uid % repo.pk key = storage(settings.STORAGE_CACHE).uid_to_key(uid) return sendpath(settings.STORAGE_CACHE, key, filename, 'application/gzip')