Guest User

Untitled

a guest
Jan 30th, 2016
331,968
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/python
  2. import os
  3. import sys
  4. import csv
  5. import datetime
  6. import time
  7. import twitter
  8.  
  9. def test():
  10.  
  11.         #run speedtest-cli
  12.         print 'running test'
  13.         a = os.popen("python /home/pi/speedtest/speedtest-cli --simple").read()
  14.         print 'ran'
  15.         #split the 3 line result (ping,down,up)
  16.         lines = a.split('\n')
  17.         print a
  18.         ts = time.time()
  19.         date =datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
  20.         #if speedtest could not connect set the speeds to 0
  21.         if "Cannot" in a:
  22.                 p = 100
  23.                 d = 0
  24.                 u = 0
  25.         #extract the values for ping down and up values
  26.         else:
  27.                 p = lines[0][6:11]
  28.                 d = lines[1][10:14]
  29.                 u = lines[2][8:12]
  30.         print date,p, d, u
  31.         #save the data to file for local network plotting
  32.         out_file = open('/var/www/assets/data.csv', 'a')
  33.         writer = csv.writer(out_file)
  34.         writer.writerow((ts*1000,p,d,u))
  35.         out_file.close()
  36.  
  37.         #connect to twitter
  38.         TOKEN=""
  39.         TOKEN_KEY=""
  40.         CON_SEC=""
  41.         CON_SEC_KEY=""
  42.  
  43.         my_auth = twitter.OAuth(TOKEN,TOKEN_KEY,CON_SEC,CON_SEC_KEY)
  44.         twit = twitter.Twitter(auth=my_auth)
  45.  
  46.         #try to tweet if speedtest couldnt even connet. Probably wont work if the internet is down
  47.         if "Cannot" in a:
  48.                 try:
  49.                         tweet="Hey @Comcast @ComcastCares why is my internet down? I pay for 150down\\10up in Washington DC? #comcastoutage #comcast"
  50.                         twit.statuses.update(status=tweet)
  51.                 except:
  52.                         pass
  53.  
  54.         # tweet if down speed is less than whatever I set
  55.         elif eval(d)<50:
  56.                 print "trying to tweet"
  57.                 try:
  58.                         # i know there must be a better way than to do (str(int(eval())))
  59.                         tweet="Hey @Comcast why is my internet speed " + str(int(eval(d))) + "down\\" + str(int(eval(u))) + "up when I pay for 150down\\10up in Washington DC? @ComcastCares @xfinity #comcast #speedtest"
  60.                         twit.statuses.update(status=tweet)
  61.                 except Exception,e:
  62.                         print str(e)
  63.                         pass
  64.         return
  65.        
  66. if __name__ == '__main__':
  67.         test()
  68.         print 'completed'
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×