Skip to content

Instantly share code, notes, and snippets.

@wgaylord
Last active November 16, 2018 18:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wgaylord/f958f0b83b85324d79d9537c6277e8c7 to your computer and use it in GitHub Desktop.
Save wgaylord/f958f0b83b85324d79d9537c6277e8c7 to your computer and use it in GitHub Desktop.
import requests
import lxml.html
def MakeObservation(username,password,norad,transmitter,station,startTime,endTime):
loginUrl = "https://network.satnogs.org/accounts/login/" #login URL
session = requests.session()
login = session.get(loginUrl) #Get login page for CSFR token
login_html = lxml.html.fromstring(login.text)
login_hidden_inputs = login_html.xpath(r'//form//input[@type="hidden"]') #Get CSFR token
form = {x.attrib["name"]: x.attrib["value"] for x in login_hidden_inputs}
form["login"]=username
form["password"]=password
session.post(loginUrl,data=form,headers={'referer':loginUrl}) #Login
obsURL = "https://network.satnogs.org/observations/new/" #Observation URL
obs = session.get(obsURL) #Get the observation/new/ page to get the CSFR token
obs_html = lxml.html.fromstring(obs.text)
hidden_inputs = obs_html.xpath(r'//form//input[@type="hidden"]')
form = {x.attrib["name"]: x.attrib["value"] for x in hidden_inputs}
form["satellite"]=norad
form["transmitter"]=transmitter
form["start-time"]=startTime
form["end-time"]=endTime
form["0-starting_time"] = startTime
form["0-ending_time"] = endTime
form["0-station"] = station
form["total"]=str(1)
session.post(obsURL,data=form,headers={'referer':obsURL})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment