Skip to content

Instantly share code, notes, and snippets.

@marcelcaraciolo
Last active December 29, 2015 19:29
Show Gist options
  • Save marcelcaraciolo/7717717 to your computer and use it in GitHub Desktop.
Save marcelcaraciolo/7717717 to your computer and use it in GitHub Desktop.
import tweepy
import urllib
from xml.dom.minidom import parse, parseString
situacao_transito = {}
def leitura_xml():
url = 'http://www.recife.pe.gov.br/transito/recuperarPontos.aspx'
url_camera ='http://cttupe.gtrans.com.br/portaltransito/files/imgs_cam/%s.jpg'
dados = urllib.urlopen(url).read()
transito = parseString(dados)
#print (transito.toxml())
for node in transito.getElementsByTagName('Ponto'): # visit every node <bar />
#print (node.toxml())
info_atual = node.getElementsByTagName('InfoAtual')[0].childNodes[0].data
if info_atual == 'S':
sit_transito = node.getElementsByTagName('SitTransito')[0].childNodes[0].data
descricao = node.getElementsByTagName('Descricao')[0].childNodes[0].data
if len(node.getElementsByTagName('Sentido')[0].childNodes) > 0:
sentido = node.getElementsByTagName('Sentido')[0].childNodes[0].data
else:
sentido = ''
codigo_equip = node.getElementsByTagName('CodEquipamento')[0].childNodes[0].data
ip_camera = node.getElementsByTagName('IPCam')[0].childNodes[0].data
camera_photo = url_camera % ip_camera
situacao_transito[codigo_equip] = {'descricao': descricao, 'sit_transito': sit_transito,
'sentido': sentido, 'camera': camera_photo}
return situacao_transito
CONSUMER_KEY = '3VRVITMsIU4DRdI59kiQ'
CONSUMER_SECRET = 'C3zqr0N1Hik4iBhAxqqIoVfeHXVbmuceaqgWi9moK0w'
ACCESS_KEY = '22264366-RskrnZtSgmRu2WAwbLGA7LoL3Kxbcl71RbgD4sHU'
ACCESS_SECRET = 'YQwj8KqO7VNJYgfDBCVqAQVYQAhx9wNRQ8r9hzs'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
data = leitura_xml()
for idx, d in enumerate(data):
if idx >= 2:
break
ponto = data[d]
texto = '%s sentido %s transito: %s %s' % (ponto['descricao'], ponto['sentido'], \
ponto['sit_transito'], ponto['camera'])
api.update_status(texto)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment