Examples ======== List students who did not submit -------------------------------- First, clone a course:: $ staffeli clone This will create a course directory. The first thing you should do is navigate to this directory:: $ cd This contains a ``students`` subdirectory, containing a file ``.staffeli.yml`` with metadata about the students signed up for the course, in YAML format. You can always update this metadata by issuing the following command from the course directory:: $ staffeli fetch students Next, fetch or update assignment metadata:: $ staffeli fetch subs This does not give you information about who has submitted. To get this, you must explicitly fetch a given assignment. To avoid actually downloading the attachments, use the ``--metadata`` flag:: $ staffeli --metadata fetch subs/ This creates a directory ``subs//-.../`` for each submission. Time to apply the pipes. To get a sorted list of the KUIDs of the students on the course:: $ cat students/.staffeli.yml | grep sis_login_id | cut -d' ' -f4 | cut -d'@' -f1 | sort | uniq > all.txt To get a sorted list of the KUIDs of the students that have submitted:: $ ls subs// | cut -d'_' -f1 | sort | uniq > submitted.txt Now, we can use ``comm`` to list the KUIDs that did not submit:: $ comm -2 -3 all.txt submitted.txt NB! This only works for individual assignments. Group assignments will require you to dig into the individual submissions.