Skip to content

Instantly share code, notes, and snippets.

@KevinGutowski
Created August 12, 2019 16:37
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save KevinGutowski/60832a532700ab9c27bd6973ac7f89ce to your computer and use it in GitHub Desktop.
Gradescope: Remove rubric cover pages from Export Submissions
#!/usr/bin/env python
'''
usage: export_without_rubric.py export_folder output_folder num_rubric_pages
eg. export_without_rubric.py assignment_4183_export output_pdfs 1
'''
import sys
import os
import glob
from pdfrw import PdfReader, PdfWriter
assert len(sys.argv) == 4, "Usage: single_file_export_without_rubric.py export_folder output_folder num_rubric_pages"
export_folder_name = sys.argv[1]
output_folder = sys.argv[2]
num_rubric_pages = int(sys.argv[3])
assert num_rubric_pages, "Usage: single_file_export_without_rubric.py export_folder output_folder num_rubric_pages"
input_pdf_filepaths = glob.glob("{0}/*.pdf".format(export_folder_name))
for input_pdf_filepath in input_pdf_filepaths:
input_filename = os.path.split(input_pdf_filepath)[-1]
output = PdfWriter()
pages = PdfReader(input_pdf_file).pages
for i in range(num_rubric_pages, len(pages)):
output.addpage(pages[i])
output_filename = os.path.join(output_folder, input_filename)
output.write(output_filename)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment