GithubHelp home page GithubHelp logo

philbowman / multi-puller Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sobko/puller

2.0 0.0 1.0 162 KB

A python script for teachers of CS50 to clone & pull repositories of student work submitted to cs50 assignments via submit50.

License: GNU General Public License v3.0

Python 100.00%
cs50 teaching

multi-puller's Introduction

Multi-Puller

This script is for teachers of CS50AP. It will let you pull all the student work for a number of assignments, into folders that you name or that are auto-generated from the slug. The script then runs compare50 against other student submissions and against archived submissions (I use Douglas Kiang's source50 repo) and creates a list of submissions as list.html.

Run the script with python3 puller.py.

  • This script does not handle authentication with GitHub. You must set up an SSH key according to the instructions here.

  • You must create slugs.csv and students.csv. Templates are proivded.

  • Students listed in students.csv should have already joined your me50 class. Otherwise, you won't have access to their private me50 repo.

  • By default, student repos will be cloned into [location_of_puller.py]/studentwork/[assignment folder]/[student folder] where "student folder" is defined in students.csv and "assignment folder" is defined in slugs.csv OR is auto-generated from the last term in the slug (or two terms if the last term is "more" or "less").

    • cs50/problems/2021/fall/mario/more becomes mario_more
    • cs50/problems/2021/fall/cash becomes cash
  • If a repo has already been cloned into the folder specified in students.csv, the script will pull the latest changes.

  • If a student has not turned in an assignment, the script simply does not create a folder for that assignment for that user

  • You can compare work with cs50's compare tool with from the assignment folder wtih, for example, compare50 studentwork/mario_more/*/*.c -o studentwork/mario_more/compare50 or compare50 puller/studentwork/cash/*/*.c -a source50/cash/*/*.c -o puller/studentwork/cash/compare50

This project is based on puller by Mark Sobkowicz

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.