Pacote google.appengine.ext.zipserve
Resumo
Disponibiliza arquivos estáticos a partir de um arquivo zip.
Esta é uma solução para aplicativos que disponibilizam milhares de pequenos arquivos estáticos enquanto permanecem no limite de 1.000 arquivos.
O caso de uso mais simples é orientado puramente da seção de gerenciadores no arquivo app.yaml, por exemplo:
-
url: /images/.* script: $PYTHON_LIB/google/appengine/ext/zipserve
Um main() dentro de zipserve/__init__.py seria chamado. Esse código procuraria por um arquivo .zip no primeiro componente do caminho do URL, neste caso o arquivo “images.zip” no diretório de trabalho do aplicativo. Caso encontrado, ele veicula os caminhos correspondentes abaixo a partir do arquivo zip. Em outras palavras, /images/foo/icon.gif seria mapeado para foo/icon.gif no arquivo zip images.zip.
Também é possível personalizar o comportamento adicionando uma linha personalizada à chamada de WSGIApplication():
- def main():
-
- app = webapp.WSGIApplication(
-
- [(‘/’, MainPage),
-
(‘/static/(.*)’, zipserve.make_zip_handler(‘staticfiles.zip’)),
])
Você pode transmitir max_age=N para a chamada de make_zip_handler() para substituir o tempo de expiração em segundos, em que o padrão é 600.
Para personalizar ainda mais o comportamento, é possível subclassificar o ZipHandler e substituir o método get() ou substituí-lo e chamar diretamente o ServeFromZipFile().
Por padrão, é adicionado um controle de cache que torna essas páginas armazenáveis em cache, mesmo que exijam autenticação. Se isso não for o que você quer, substitua o ZipHandler.SetCachingHeaders().
Índice
- class google.appengine.ext.zipserve.ZipHandlersource
-
Bases: google.appengine.ext.webapp._webapp25.RequestHandler
Solicita o gerenciador que veicula arquivos estáticos de arquivos zip.
- MAX_AGE = 600
- PUBLIC = True
- ServeFromZipFile(zipfilename, name)Fonte
Auxiliar do gerenciador de solicitações GET.
Veicula o conteúdo do arquivo 'name' do arquivo zip 'zipfilename', registrando uma mensagem e retornando uma resposta 404 se o arquivo zip não puder ser aberto ou o arquivo nomeado não puder ser lido a partir dele.
Parâmetros-
zipfilename: o nome do arquivo zip.
-
name: o nome dentro do arquivo zip.
-
- SetCachingHeaders()Fonte
-
Auxiliar para definir os cabeçalhos de armazenamento em cache.
Substitua-o para personalizar os cabeçalhos além da configuração de MAX_AGE.
- get(prefix, name)Fonte
Gerenciador de solicitações GET.
Normalmente, os argumentos são transmitidos dos grupos correspondentes no padrão de URL transmitido para WSGIApplication().
Parâmetros-
prefixo: o zipfilename sem o sufixo .zip.
-
name: o nome dentro do arquivo zip.
-
- zipfile_cache = {}
- google.appengine.ext.zipserve.main()Fonte
-
Programa principal.
Chamado quando este pacote é referenciado a partir do arquivo app.yaml.
- google.appengine.ext.zipserve.make_zip_handler(zipfilename, max_age=None, public=None)Fonte
Função de fábrica para criar uma instância personalizada do ZipHandler.
Parâmetros-
zipfilename: o nome de arquivo de um arquivo zip.
-
max_age: prazo de validade opcional o padrão é ZipHandler.MAX_AGE.
-
public: sinalização pública opcional. O padrão é ZipHandler.PUBLIC.
Uma subclasse de ZipHandler.
-