Advertisement
Guest User

Code voor ns push

a guest
Dec 18th, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.98 KB | None | 0 0
  1. import requests
  2. from telegram.ext import Updater, CommandHandler
  3. import logging
  4. import xml.etree.ElementTree as ET
  5. url = 'http://webservices.ns.nl/ns-api-treinplanner?previousAdvices=0&nextAdvices=2'
  6. username = 'hylcos@gmail.com'
  7. password = '---------'
  8. maxAdvices = 3
  9. def start(bot, update):
  10.     update.message.reply_text('Hello World!')
  11. def travel(bot, update):
  12.     text = update.message.text.split(' ')
  13.     text = ' '.join(text[1:]).replace(' ','').split(',')
  14.     _url = url + "&fromStation=" + text[0] + "&toStation=" + text[1]
  15.     r = requests.get(_url,auth=(username,password))
  16.     if r.status_code != 200:
  17.         bot.sendMessage(update.message.chat.id,"Something went wrong!")
  18.         return
  19.     else:
  20.         bot.sendMessage(update.message.chat.id,"Advies "+ text[0] + " -> " + text[1])
  21.         data = r.text
  22.         data = data.replace('\n','').replace('\t','')
  23.         root = ET.fromstring(data)
  24.         for i,ReisMogelijkheid in enumerate(root.iter('ReisMogelijkheid')):
  25.             GeplandeVertrekTijd = ReisMogelijkheid.find('GeplandeVertrekTijd').text
  26.             GeplandeVertrekTijd = GeplandeVertrekTijd[GeplandeVertrekTijd.find('T')+1:GeplandeVertrekTijd.rfind(':')]
  27.             GeplandeAankomstTijd = ReisMogelijkheid.find('GeplandeAankomstTijd').text
  28.             GeplandeAankomstTijd = GeplandeAankomstTijd[GeplandeAankomstTijd.find('T')+1:GeplandeAankomstTijd.rfind(':')]
  29.             spoor = ReisMogelijkheid.find('ReisDeel').find('ReisStop').find('Spoor').text
  30.             bot.sendMessage(update.message.chat.id,GeplandeVertrekTijd+ " - " + GeplandeAankomstTijd + "\nSpoor: " + spoor )
  31.             if i is 2:
  32.                 return
  33. logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',level=logging.INFO)
  34. logger = logging.getLogger(__name__)
  35. updater = Updater('------')
  36. updater.dispatcher.add_handler(CommandHandler('start', start))
  37. updater.dispatcher.add_handler(CommandHandler('travel', travel))
  38. updater.start_polling()
  39. updater.idle()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement