Git Product home page Git Product logo

aacpsgradereport's Introduction

PCxp-service

Email service for automated grade report

Parconn API - Python

A Hackjob to expose "read-only elements" of AACPS ParentCONNECTxp. Designed for notification services for active students.

Keep in mind that this API is not official and it may become deprecated by small changes.

Keep in mind...

If you intend to use this API for a notification service, keep in mind that:

  • ParentCONNECTxp pushes the grades about 30 minutes before 3:00AM(EST) and 6:00PM(EST). So the best times to make a request are 6:00AM(EST) and 6:00PM(EST).

  • AACPS may automatically block your IP address if you consistently make large number of requests. It may take a while to get unblocked, depending on the severity of your offense.

How to use - parse.py

https://parentconnect.aacps.org/ [insert page here]

ex) https://parentconnect.aacps.org/StudentInfoProfile.asp

This API can read from four pages after auth:

  • StudentInfoProfile.asp - ID: INFO_PRO

    lists number of graded assignments from each class

  • StudentInfoGeneral.asp - ID: INFO_GEN

    displays your student information. This page is deviates from the other pages and need to be evoked by the profile() method.

  • AssignmentsGeneral.asp - ID: ASSIGN_GEN

    lists your graded assignments

  • AssignmentsSchedule.asp - ID: ASSIGN_SCH

    lists your grades for each class

  • GradesGeneral.asp - ID: GRD_GEN

    lists your report cards grades when available

  • GradesSchedule.asp - ID: GRD_SCH

    lists your year schedule

The API directly accesses these pages with GET requests and parses them into Python objects. Each page has their own ID shown above and object structure.

The parconn.py file demonstrates how each page should be accessed.

IDs and Course objects

You only have to know two methods from the parse.py module: profile(session) and assignment_details(session, ID). The latter can access 5 pages with the same method through IDs.

Use the dir() method to explore the attributes.

Every ID input returns an Info object with course names as attributes. A course name looks like this: A13810.

INFO_PRO (assignment count)

Each course contains the following attributes:

  • course - course ID
  • assign_count - number of assignments graded this week

ASSIGN_GEN (assignment grade)

Each course contains the following attributes:

  • course - course ID
  • period - class period
  • assignment - assignment name
  • type - type of assignment
  • score - assignment score
  • due - due date
  • remark - notes from the grader
  • teacher - name of the teacher

ASSIGN_SCH (class grade)

Each course contains the following attributes:

  • course - course ID
  • title - class name
  • grade - class grade (A/B/C/...)
  • score - class score out of 100
  • teacher - name of the teacher

GRD_GEN (report card grade)

Each course contains the following attributes:

  • course - course ID
  • title - class name
  • pcc - potential course credits
  • credits - credits earned
  • grade - final grade (A/B/C/...)
  • teacher - name of the teacher

GRD_SCH

Each course contains the following attributes:

  • course - course ID
  • title - class name
  • period - class period
  • teacher - name of the teacher

Raw List Query

If you just want a list without any object label wrappers, you can use the get_info(session, ID) method. It returns an list of lists, each pertaining to a class.

aacpsgradereport's People

Contributors

xerxous avatar

Watchers

 avatar

Forkers

isabella232

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.