Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Emerson Luiz

Tratar texto plano

Recommended Posts

Amigos,

 

Eu tenho a seguinte URL:

 

http://localhost:8088/asterisk/rawman?action=MailboxCount&mailbox=123

 

Ela me retorna o seguinte no browser (Type: text/plain):

Response: Success
Message: Mailbox Message Count
Mailbox: 123
NewMessages: 0
OldMessages: 0

Como faço em Python/Django para tratar e exibir apenas o que preciso ?

Por exemplo, quero apenas exibir as NewMessages.

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pergunta está genérica demais.
Você está usando algum pacote pro django? Está usando o admin? Como estão os modelos? E o resto do código (as views e templates)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

_Isis_

 

Obrigado pelo retorno....

 

EU ja consegui o q precisava, agora preciso apenas transformar o resulta em dicionário:

 

 

Event: Status
Privilege: Call
Channel: SIP/216.53.4.1-000032cf
CallerIDNum: 03130474805
CallerIDName: <unknown>
ConnectedLineNum: 99922
ConnectedLineName: <unknown>
Account: 99922
State: Up
BridgedChannel: SIP/99922-000032ce
BridgedUniqueid: 1430760417.13006
Uniqueid: 1430760417.13007

Pode me ajudar nisso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer na mão processando o xml e construindo o dicionário ou usar algum pacote tipo o xml2json (https://github.com/hay/xml2json). Também seria possível retornar o texto plano e usar regex p/ pegar os dados.

import re

TEXTO = '''Event: Status
Privilege: Call
Channel: SIP/216.53.4.1-000032cf
CallerIDNum: 03130474805
CallerIDName: <unknown>
ConnectedLineNum: 99922
ConnectedLineName: <unknown>
Account: 99922
State: Up
BridgedChannel: SIP/99922-000032ce
BridgedUniqueid: 1430760417.13006
Uniqueid: 1430760417.13007'''

RE_REPO = (r'(Event):\s*(.+)\s$',) # Tupla com as expressões regulares.
data = dict()

for rep in RE_REPO:
  m_str = re.match(rep, TEXTO)
  if m_str:
    data.update(dict([m_str.groups()]))

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.