Advertisement
Guest User

Python 2 Satnogs CL Scheduler

a guest
Nov 27th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. import logging
  2. import requests
  3. import lxml.html
  4.  
  5.  
  6. sat = "7530"#"42716" #SAT norrad_cat_id
  7. transmitter = "fzWGFa9mewYwf6DWHhZ7BD"#"RwVDtQqcgWHKCxhvnG8Lzb" #Transmitter UUID
  8. start="2017-11-27 23:00" #Start date and time
  9. end="2017-11-28 07:00" #Stop date and time
  10.  
  11. Schedule = False #Just show don't schedule
  12. Station = None #Filter only one station
  13.  
  14. username = ""
  15. password = ""
  16.  
  17.  
  18. session = requests.session()
  19.  
  20. loginUrl = "https://network-dev.satnogs.org/accounts/login" #login URL
  21.  
  22. login = session.get(loginUrl) #Get login page for CSFR token
  23. login_html = lxml.html.fromstring(login.text)
  24. login_hidden_inputs = login_html.xpath(r'//form//input[@type="hidden"]') #Get CSFR token
  25. form = {x.attrib["name"]: x.attrib["value"] for x in login_hidden_inputs}
  26. form["login"]=username
  27. form["password"]=password
  28. session.post(loginUrl,data=form,headers={'referer':loginUrl}) #Login
  29.  
  30.  
  31. q=session.get("https://network-dev.satnogs.org/prediction_windows/"+sat+"/"+transmitter+"/"+start+"/"+end+"/") #Get prediction_windows
  32. obsURL = "https://network-dev.satnogs.org/observations/new/" #Observation URL
  33. obs = session.get(obsURL) #Get the observation/new/ page to get the CSFR token
  34.  
  35. obs_html = lxml.html.fromstring(obs.text)
  36. hidden_inputs = obs_html.xpath(r'//form//input[@type="hidden"]')
  37. form = {x.attrib["name"]: x.attrib["value"] for x in hidden_inputs}
  38. form["satellite"]=sat
  39. form["transmitter"]=transmitter
  40. form["start-time"]=start
  41. form["end-time"]=end
  42. windows = q.json()
  43. current = 0
  44. #print q.text
  45. for x in windows:
  46. station = x["id"]
  47. print "\nStation "+x["name"],x["id"]
  48. for y in x["window"]:
  49. if Station == None or Station == station:
  50. print "Observation "+str(current)
  51. print y["start"]
  52. print y["end"]
  53. print "-"*20
  54. current+=1
  55.  
  56. current = 0
  57. for x in windows:
  58. station = x["id"]
  59. for y in x["window"]:
  60. if Station == None or Station == station:
  61. form[str(current)+"-starting_time"] = y["start"]
  62. form[str(current)+"-ending_time"] = y["end"]
  63. form[str(current)+"-station"] = station
  64. current+=1
  65. form["total"]=str(current)
  66. #print form["total"]
  67. if Schedule:
  68. r = session.post(obsURL,data=form,headers={'referer':obsURL})
  69. print r.cookies
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement