Skip to content

dav/ParentVUE-Gem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ParentVUE-Gem

Provides library to interact with ParentVUE, a web site that the San Francisco Unified School District (SFUSD) uses to communicate with families.

This consists largely of providing a high level DSL to navigate the web site, and is implemented using the Mechanize gem.

The long term goal is to create an Alexa app so we can check assignments, attendance, grades, etc.

Currently though it is just a library and a simple executable script.

Example install and usage of executable:

$ gem install parentvue
Successfully installed parentvue-0.1.0

$ parentvue list -U frankchu -P 12galaxies

[{:name=>"Aila", :id=>"20111337", :school_name=>"Norton (Emperor) ES"},
 {:name=>"Tesla", :id=>"20071337", :school_name=>"Riley (Boots) HS"}]

If you want to add any functionality and make PRs, you'll want to

  • go to the real page in your browser
  • save the source to a file under spec/fixtures/html (before committing be sure to change any personally identifiable information)
  • create a spec that stubs that page request and lays out data scraping expectations (examples exist)
  • update the service code to make the new spec pass (and all old specs, use make test)
  • make sure make lint passes as well
  • make a PR

TODO

  • make a proper Students model
  • once school year starts and there are actual assignments, extend to get this information
  • Make it so you're not entering the password on the command line for the executable
  • rename master branch (github default) to main