File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # get vpn client
2+ FROM ghcr.io/jm-lemmi/anyconnect-simple
3+
4+ # install python and package
5+ RUN apk --upgrade add git python
6+ RUN pip install git+https://github.com/TINF21CS1/python-campusnet
7+
8+ # Add crontab
9+ COPY grades.sh /app/grades.sh
10+ RUN crontab -l /cron
11+ RUN echo "0 7-23 * * * /app/grades.sh" >> /cron
12+ RUN crontab /cron
13+ RUN rm /cron
14+
15+ # ENV USERNAME "s:)@student.dhbw-mannheim.de"
16+ # ENV PASSWORD='***'
17+ # ENV NOTIFY_RECIPIENT="***"
18+ # default values for dhbw mannheim
19+ ENV AUTHGROUP Studenten
20+ ENV HOST drogon.dhbw-mannheim.de
21+
22+ # add sendmail
23+ RUN apk add ssmtp
24+
25+ COPY entrypoint.sh /app/entrypoint.sh
26+ CMD /bin/bash /app/entrypoint.sh
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ python3 -m campusnet $USERNAME $PASSWORD -o table > /tmp/grades.txt
4+ if [ ! -s grades.txt ]; then
5+ mv /tmp/grades.txt grades.txt
6+ exit 0
7+ fi
8+ /usr/bin/diff grades.txt /tmp/grades.txt > /tmp/diff.txt
9+ if [ -s /tmp/diff.txt ]; then
10+ (echo -e ' Subject: Grades changed\n\n' ; cat /tmp/diff.txt; echo -e ' \n\nAll grades:\n' ; cat /tmp/grades.txt) | /usr/sbin/sendmail $NOTIFY_RECIPIENT
11+ fi
12+ mv /tmp/grades.txt grades.tx
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ # https://stackoverflow.com/a/39296583
4+ # sets noficy_recipient to username, if not set
5+ if [[ -z " ${NOTIFY_RECIPIENT} " ]]; then
6+ NOTIFY_RECIPIENT=" ${USERNAME} "
7+ fi
8+
9+ crond
10+ echo " $( date +" %b %d %H:%M:%S" ) $HOSTNAME entrypoint.sh[$$ ]: Started crond."
11+ echo $PASSWORD | openconnect -b --user=$USERNAME --authgroup=$AUTHGROUP --passwd-on-stdin $HOST
12+ echo " $( date +" %b %d %H:%M:%S" ) $HOSTNAME entrypoint.sh[$$ ]: Started openconnect."
13+ echo -e " root=${USERNAME} \nmailhub=studgate.dhbw-mannheim.de:25\nrewriteDomain=student.dhbw-mannheim.de\nhostname=${hostname} \nAuthUser=${USERNAME} \nAuthPass=${PASSWORD} \nAuthMethod=LOGIN\nFromLineOverride=no" > /etc/ssmtp/ssmtp.conf
14+ echo -e " root:${USERNAME} :studgate.dhbw-mannheim.de:25"
15+ chfn -f ' Campusnet Grades' root
16+ echo " $( date +" %b %d %H:%M:%S" ) $HOSTNAME entrypoint.sh[$$ ]: Updates ssmtp configuration."
17+
18+ echo " $( date +" %b %d %H:%M:%S" ) $HOSTNAME start.sh[$$ ]: ➔ Switching to log output from 'grep CRON /var/log/syslog'"
19+ tail -f grep CRON /var/log/syslog
You can’t perform that action at this time.
0 commit comments