ggsipu_result is a A python module for extraction of results from GGSIPU results pdf. It is capable of:-
- Extraction of Results, Subjects details from pdfs.
- Extract Student's photo from pdfs.
- Dumping the extracted data in JSON format.
Given code prints top 5 students of 2018 batch:-
from ggsipu_result import iter_pages, has_page_results, iter_results
FILE="Resources/CSE_Result.pdf"
results = []
for page in iter_pages(FILE):
if has_page_results(page):
results = results + [r for r in iter_results(page) if r.batch == 2018]
results.sort(key=lambda x: x.cgpa, reverse=True)
for i, result in enumerate(results[:5]):
print("{i}. {r}".format(i=i+1, r= result))
## PROBABLE OUTPUT
# 1. Result(Sem 1): [41516403218]GAURAV JAIN(2018) [CGPA: 8.92]
# 2. Result(Sem 1): [41016403218]VARDAAN GROVER(2018) [CGPA: 8.77]
# 3. Result(Sem 1): [40316403218]UJJWAL NEGI(2018) [CGPA: 8.73]
# 4. Result(Sem 1): [40116403218]RIGVED ALANKAR(2018) [CGPA: 8.5]
# 5. Result(Sem 1): [01616403218]CHAITANYA GIRI(2018) [CGPA: 8.46]
For more examples please see Sample_Code
folder
pip install ggsipu-result
ggsipu_result
includes a test suite built on the unittest framework. All tests are located in the "Tests" folder.
Tests can be run from the command line by:
python -m unittest Tests.tests
- Fix minor typo in
Results
repr
- Major improvement in iter_subjects, now more accurate parsing
- fix NoneType error while searching for institution code and name in
iter_results
- API: remove
subject
attribute fromMarks
- toJSON: now handle case where __dict__ is not present.
- API: add
toDict()
helper method to convert into python dict.
- API: remove unused
Student
class - API: merge
Student
properties intoResult
.
- add support for extraction of student's photo from pdfs
- API: new function
parse_result_pdf
to parse entire pdf in one go.
- fix #1: include support for 6 digit paper codes
All files under the repo are licensed under GNU GPLv3