This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env node | |
const fs = require('fs') | |
const path = require('path') | |
const readline = require('readline') | |
const todo_dir = process.env.TODO_DIR | |
// TODO we could make this optionally count todo.txt too e.g. with a CLI flag | |
const done_file = path.join(todo_dir, 'done.txt') | |
const projregex = /(\+[A-Za-z0-9]+)(\s|$)/g | |
const ctxregex = /(@[A-Za-z0-9]+)(\s|$)/g | |
let counts = {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# used for instance when First Year wants to drop sophomores from their home & replace with new incoming students | |
# COURSE = course id | |
USERS=$(moosh -n user-list --course $COURSE --course-role student) | |
moosh -n course-unenrol $COURSE $USERS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env node | |
const { exec } = require("child_process") | |
exec('npm ls --global --json', (err, stdout, stderr) => { | |
if (err) throw err | |
const deps = JSON.parse(stdout).dependencies | |
// dependencies hash looks like: | |
// "linked-pkg": { "version": "1.0.0", "resolved": "file:..." }, | |
// "global-pkg": { "version": "1.0.0" }, ... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// run 1) on opac-detail pages & 2) if no user is signed in | |
if (!!location.pathname.match('/cgi-bin/koha/opac-detail.pl') && !$('.loggedinusername').length) { | |
// replace 856$u links with a link to login instead | |
// this would need to be tweaked if there are multiple URLs per record | |
$('.results_summary.online_resources a') | |
.replaceWith('<a href="/cgi-bin/koha/opac-user.pl">login to view PDF</a>') | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT table_name AS "Table", | |
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)" | |
FROM information_schema.TABLES | |
-- replace DATABASE with the name of the db | |
WHERE table_schema = 'DATABASE' | |
ORDER BY (data_length + index_length) DESC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
import csv | |
import os | |
import subprocess | |
with open('files.csv', 'w') as csvfile: | |
writer = csv.writer(csvfile) | |
writer.writerow(['path', 'size (bytes)', 'time last accessed', 'time last modified', 'time created', 'mime type']) | |
with open('dbcheck-files.txt', 'r') as listfile: | |
for path in listfile: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env fish | |
set USER username | |
set PASS password | |
set COLLECTION 123456 | |
set JSONFILE data.json | |
set URLSFILE urls.txt | |
set DONEFILE done.txt | |
set LIMIT 8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!python3 | |
import sys | |
import argparse | |
import requests | |
import urllib3 | |
from panopto_folders import PanoptoFolders | |
from os.path import dirname, join, abspath | |
sys.path.insert(0, abspath(join(dirname(__file__), '..', 'common'))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# NOTE: make sure the course-list query returns the courses you want and also that the right backup is | |
# referenced in the course-restore command. The query should probably use shortnames (e.g. example is | |
# all First Year 4D courses), as opposed to something like categories, because you can target metacourses. | |
for id in $(moosh -n course-list -i 'shortname LIKE "FYCST-1120%-2021SP"'); do | |
moosh -n course-restore --overwrite ~/backup-*.mbz $id; | |
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT b.id, b.blockname, b.parentcontextid, c.id, c.shortname | |
FROM {prefix}_block_instances b | |
JOIN (SELECT * FROM {prefix}_context WHERE contextlevel = 50) ctx ON b.parentcontextid = ctx.id | |
JOIN {prefix}_course c ON c.id = ctx.instanceid | |
-- this list of block types might need to be changed depending on Moodle instance | |
WHERE b.blockname IN ('search_forums', 'recent_activity', 'calendar_upcoming', 'news_items') | |
-- must be a better way but I just look for blocks in courses we know have duplicates | |
-- so we use the other query as a sub-query | |
AND c.id IN ( | |
SELECT c.id |