├── .gitignore ├── powerapi ├── __init__.py ├── user.py ├── course.py └── core.py ├── demo.py ├── setup.py └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | *.pyc -------------------------------------------------------------------------------- /powerapi/__init__.py: -------------------------------------------------------------------------------- 1 | from .core import core -------------------------------------------------------------------------------- /demo.py: -------------------------------------------------------------------------------- 1 | from pprint import pprint #DEBUG 2 | import sys #DEBUG 3 | 4 | import powerapi 5 | 6 | ps = powerapi.core('https://psserv') 7 | 8 | try: 9 | user = ps.auth('username', 'password') 10 | except Exception as err: 11 | print "Whoops! Something went wrong with PowerAPI:", err 12 | sys.exit() 13 | 14 | courses = user.getCourses() 15 | pprint(courses[2].getName()) 16 | pprint(courses[2].getScores()) -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | try: 2 | from setuptools import setup 3 | except ImportError: 4 | from distutils.core import setup 5 | 6 | setup( 7 | name='powerapi-python', 8 | version='0.1.1', 9 | description='Python API for PowerSchool', 10 | url='https://github.com/powerapi/powerapi-python', 11 | author='Henri Watson', 12 | author_email="henri@henriwatson.com", 13 | license='MIT', 14 | keywords='powerschool', 15 | packages=['powerapi'], 16 | zip_safe=False, 17 | install_requires=[ 18 | 'requests' 19 | ] 20 | ) 21 | 22 | -------------------------------------------------------------------------------- /powerapi/user.py: -------------------------------------------------------------------------------- 1 | import re 2 | from .course import course 3 | 4 | class user: 5 | def __init__(self, core, homeContents): 6 | self.core = core 7 | self.homeContents = homeContents 8 | 9 | self.courses = self._createCourses() 10 | 11 | def _createCourses(self): 12 | courses = [] 13 | 14 | for item in re.finditer('