Skip to content

Instantly share code, notes, and snippets.

View lordjabez's full-sized avatar
🔧
https://makingofthings.com

Judson Neer lordjabez

🔧
https://makingofthings.com
View GitHub Profile
from bottle import request, route, run, redirect
redirect_url = 'https://example.com/foo
@route('/foo')
def job():
requestor_id = request.query['requestor_id']
print(f'{requestor_id} clicked the link')
redirect(redirect_url)
@lordjabez
lordjabez / delete-all-multipart.bash
Created January 10, 2024 23:56
Delete all partial multipart uploads in an S3 bucket
#!/usr/bin/env bash
set -e
BUCKETNAME=$1
aws s3api list-multipart-uploads --bucket $BUCKETNAME \
| jq -r '.Uploads[] | "--key \"\(.Key)\" --upload-id \(.UploadId)"' \
| while read -r line; do
eval "aws s3api abort-multipart-upload --bucket $BUCKETNAME $line";
done
@lordjabez
lordjabez / generate-theme-reports.py
Last active November 12, 2023 17:14
Create theme reports from a Wordpress blog export
#!/usr/bin/env python3
import contextlib
import os
import sys
import cachier
import feedparser
import keyring
@lordjabez
lordjabez / echo-server.py
Last active November 10, 2023 19:09
Simply python server that echos back what it's sent
#!/usr/bin/env python3
import bottle
@bottle.route('<path:path>', method=['GET', 'POST', 'PUT', 'PATCH'])
def echo(path):
return bottle.request.body
bottle.run(host='localhost', port=8080)
@lordjabez
lordjabez / extract-posts.py
Created November 9, 2023 01:21
Extract all posts from a Wordpress blog using the API
#!/usr/bin/env python3
import datetime
import sys
import cachier
import requests
@lordjabez
lordjabez / transcribe-audio-files.py
Created October 21, 2023 15:23
Transcribe audio files using OpenAI's whisper-1
#!/usr/bin/env python3
import pathlib
import pprint
import sys
import cachier
import openai
@lordjabez
lordjabez / split-audio-file.bash
Created October 21, 2023 01:40
Split audio file
#!/usr/bin/env bash
set -e
audio_filename="${1}"
splits_filename="${2}"
x="00:00:00"
z=0
@lordjabez
lordjabez / output-silences.bash
Created October 21, 2023 01:39
Detect silence in audio files
#!/usr/bin/env bash
set -e
audio_filename="${1}"
silence_length="${2}"
ffmpeg -i "${audio_filename}" -af "silencedetect=d=${silence_length}" -f null - |& awk '/silence_end/ {print $4,$5}' | awk '{S=$2;printf "%d:%02d:%02d\n",S/(60*60),S%(60*60)/60,S%60}'
@lordjabez
lordjabez / backup.bash
Created June 17, 2023 20:52
Compress, encrypt, and backup a folder to S3
#!/bin/bash -e
current_date=$(date "+%Y%m%d")
bucket_name="my-backup-bucket"
backup_filename="/tmp/documents-backup-${current_date}.tgz"
export AWS_PROFILE=backup
aws-refresh-credentials
aws s3 cp "${backup_filename}.gpg" "s3://${bucket_name}/documents/"
@lordjabez
lordjabez / generate-aws-faq-index.py
Created June 13, 2023 16:37
Generate an index of AWS service FAQs
#!/usr/bin/env python3
import boto3
import cachier
import requests
@cachier.cachier()
def get_services():