This script takes two URLs, the permalink URL for a hub profile, and a user-direct URL (e.g. an nbgitpuller URL), and fuses them together.
python ./permalink.py <USER-URL> <PERMALINK-URL>The output is the fixed URL.
| xterm_colors = [ | |
| # colors 0..15: 16 basic colors | |
| (0x00, 0x00, 0x00), # 0 | |
| (0xCD, 0x00, 0x00), # 1 | |
| (0x00, 0xCD, 0x00), # 2 | |
| (0xCD, 0xCD, 0x00), # 3 | |
| (0x00, 0x00, 0xEE), # 4 | |
| (0xCD, 0x00, 0xCD), # 5 | |
| (0x00, 0xCD, 0xCD), # 6 | |
| (0xE5, 0xE5, 0xE5), # 7 |
| { | |
| "nodes": { | |
| "nixpkgs": { | |
| "locked": { | |
| "lastModified": 1770841267, | |
| "narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=", | |
| "owner": "nixos", | |
| "repo": "nixpkgs", | |
| "rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae", | |
| "type": "github" |
I always feel like state machines can quickly become a lot of pain. Although I have had my reservations about the Python case/match feature, it's a perfect fit for this.
| import { readFileSync } from "node:fs"; | |
| import { parseYaml, extend } from "./config.mjs"; | |
| const [baseConfig] = parseYaml(readFileSync("base.yml", { encoding: "utf-8" })); | |
| const [extendsConfig, extendsStrategy] = parseYaml( | |
| readFileSync("child.yml", { encoding: "utf-8" }), | |
| ); | |
| console.dir(extendsStrategy, {depth:null}); | |
| const result = extend(baseConfig, extendsConfig, extendsStrategy); | |
| console.dir(result, {depth:null}); |
| #!/usr/bin/env python | |
| import subprocess | |
| import json | |
| import argparse | |
| import math | |
| import sys | |
| NFS_TEMPLATE = """ | |
| jupyterhub-home-nfs: | |
| quotaEnforcer: |