Ladon é uma estrutura baseada em Python para expor funções para vários tipos de serviços web. & Nbsp; Por exemplo SOAP, jsonrpc, argumentos HTTP POST, etc.
1. Implementar ...
Implementar a sua classe de serviço decorar os métodos que você deseja expor com o decorador ladonize.
2. Envolva-o ...
Envolva seu serviço usando classe de aplicação WSGI de Ladon ...
3. Exponha-lo ...
a aplicação WSGI usando mínima classe de Ladon WSGI servidor, Apache2 / mod_wsgi ou algum outro middleware WSGI ...
O que é novo nesta versão:
< ul>
O que é novo na versão 0.8.1:
- Adicionado reflexão para culpar resposta objetos de modo que é possível para rastrear falhas de volta a pedidos específicos.
O que é novo na versão 0.7.3:
- Adicionado fascilities madeireiras todo o serviço via construtor da LadonWSGIApplication. Níveis de log preliminares são:
- ladon.server.NO_LOGGING = 0
- ladon.server.LOG_REQUEST_ACCESS = 1
- ladon.server.LOG_REQUEST_DICT = 2
- ladon.server.LOG_RESPONSE_DICT = 4
- ladon.server.LOG_EXECUTION_TIME = 8
O que é novo na versão 0.7.2:
- Adicionado a possibilidade de usar escolher entre diferentes tipos de publicação ao escrever documentação em linha para a documentação da API online. Possíveis editores são & quot; cru & quot ;, & quot; pre & quot; e & quot; docutil & quot; - Exemplo:
- ladonize ([PORTABLE_STRING], Rtype = [arquivo])
- def baixar (self, nomes):
- & quot; & quot; & quot;
- publisher: docutil
- - Teste
- - Teste 2
- + ------------ + ------------ + ----------- +
- | Header 1 | Header 2 | Header 3 |
- + ============ ============ + + + ===========
- | fileira corpo 1 | coluna 2 | coluna 3 |
- + ------------ + ------------ + ----------- +
- | fileira corpo 2 | As células podem abranger colunas |.
- + ------------ + ------------ + ----------- +
- | fileira corpo 3 | células podem | - Células |
- + ------------ + linhas de span. | - Conter |
- | fileira corpo 4 | | - blocos. |
- + ------------ + ------------ + ----------- +
- Kode eksempel ::
- teste def (self):
- print & quot; oijfwe & quot;
- download de vários arquivos de uma só vez. Para cada nome nos nomes do serviço
- tenta localizar um arquivo no serviço / upload que coincida com ele. Se um nome não faz
- ter um arquivo correspondente é ignorado.
- nomesparam: Uma lista de nomes de arquivo
- rtype: Retorna uma lista de objetos File
- & quot; & quot; & quot;
- upload_dir mundial
- response = []
- para o nome em nomes:
- f = File ()
- f.name = nome
- f.data = attachment (open (join (upload_dir, nome), 'rb'))
- resposta + = [f]
- resposta retorno
O que é novo na versão 0.7.1:
- Corrigido bug 974655 Adicionado via recurso de proxy para o Python cliente jsonwsp
O que é novo na versão 0.7.0:
- Corrigido bugs 926442 e 926445
O que é novo na versão 0.6.6:
- Novo dicionário com base no tipo de definição para LadonType atributos. Até a versão 0.6.6 todos LadonType atributos teve de fazer referência a um tipo ou uma lista de tipo diretamente. Com as definições de tipo de dicionário, é possível que o desenvolvedor de serviço para passar as propriedades mais detalhadas sobre os atributos, como linhas de documentação, valor padrão ou se é anulável (None) ou não. LadonType modelo antigo de definições de atributos ainda são válidos e, portanto, essa mudança oferece compatibilidade com versões anteriores. A integração de anulável é construído nas interfaces de sabão e jsonwsp. Exemplo:
- classe Pessoa (LadonType):
- username = PORTABLE_BYTES # velho estilo
- grupos = [PORTABLE_BYTES]
- móvel = {# new-style
- 'Tipo': PORTABLE_BYTES,
- 'nulo': True,
- 'doc':. & Quot; número do celular do usuário & quot; }
- valid_user = {
- 'type': bool,
- 'nulo': False,
- 'default': False,
- 'doc': ['é usuário válido.', 'Se não for dada, o usuário é inválido.']}
O que é novo na versão 0.6.5:
- tratamento de falhas finalmente implementado. interfaces devem agora implementar um FaultHandler herdar a classe BaseFaultHandler. Manipuladores de falhas foram implementadas tanto para SOAP e interfaces de JSONWSP. Todas as exceções que occure sob invocação de método são capturados por despachante de Ladon e enviado para o manipulador de falhas interface. Use ServerFault ou ClientFault exceções implementadas em ladon.exceptions.service para levantar ou uma falha de servidor ou a culpa uma falha no cliente. Outras exceções que podem occure sob método de serviço invocação são vistos como falhas do servidor não gerenciados, e convertidos para tal pelo despachante.
- Novo anexo formato de referência CIDX :. Do pedido de pós cliente que têm referências a peças de fixação pelo índice em vez de Content-Id Este formato let.
O que é novo na versão 0.6.4:
- JSONWSPClient __init __ (description = None, url = None ) leva descrição url como primeiro argumento ou palavra-chave & quot; A inscrição & quot ;. Um novo argumento palavra-chave & quot; url & quot; pode ser passado em vez de descrição, se a API jsonwsp é conhecido. A desvantagem de usar a url é que não são criadas quaisquer métodos de espaço reservado no objeto JSONWSPClient, em vez disso você deve chamar os métodos através do método call_method ().
- CustomResponse - Ladon agora oferece a capacidade de definir a resposta personalizada em métodos especificados. Por exemplo, você pode fazer Ladon responder com uma resposta de download do navegador em um método de serviço específico. Exemplo:
- classe HTTPAttachmentResponse (CustomResponse):
- def __init __ (self, fileobj, nome do arquivo, tamanho do arquivo, tamanho de bloco = 4096):
- self.fileobj = fileobj
- self.filename = filename
- self.filesize = tamanho do arquivo
- self.blocksize = blocksize
- response_headers def (self):
- # TODO: Manusear codificações para nomes de arquivos
- print [('Content-Disposition "," attachment; filename = & quot;% s & quot;'% self.filename.encode ('utf-8')),
- ("Content-Type", "application / força-download '),
- ('Content-Length', str (self.filesize))]
- retorno [
- ('Content-Disposition "," attachment; filename = & quot;% s & quot;'% self.filename.encode ('utf-8')),
- ("Content-Type", "application / força-download '),
- ('Content-Length', str (self.filesize))]
- def response_data (self):
- iter retorno (lambda: self.fileobj.read (self.blocksize), '')
- Bug 852234 -. Removido nillable e atributos minOccurs a partir de elementos parciais SABÃO
- Bug 861193 - Removido '_' para '-'. Conversão para elementos complexTypes
- Bug 884431 -. Fixo tipo boolean em objetos resposta SOAP
Requisitos :
- Python
Comentários não encontrado