Skip to content

Instantly share code, notes, and snippets.

View JosephRedfern's full-sized avatar

Joseph Redfern JosephRedfern

View GitHub Profile
@JosephRedfern
JosephRedfern / sync_ldap.py
Last active February 8, 2024 16:24
Sync LDAP users with Django users.
from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User
import ldap
class Command(BaseCommand):
help = 'Syncs LDAP users with Django DB'
def handle(self, *args, **options):
l = ldap.initialize(settings.AUTH_LDAP_SERVER_URI)
@JosephRedfern
JosephRedfern / screeny.py
Created September 6, 2017 11:22
Simple Screenshot API with Selenium, Python 3 and Flask
from flask import Flask, request, Response, abort, send_from_directory
from selenium import webdriver
import sqlite3
import uuid
app = Flask(__name__)
conn = sqlite3.connect("screenshots.sqlite")
c = conn.cursor()
@JosephRedfern
JosephRedfern / YouTube 8m Video ID scraper.py
Last active August 12, 2021 02:22
Scrapes the youtube video IDs for the youtube-8m data set. Probably buggy. Could be threaded.
import requests
from collections import defaultdict
csv_prefix = "https://research.google.com/youtube8m/csv"
r = requests.get("{0}/verticals.json".format(csv_prefix))
verticals = r.json()
block_urls = defaultdict(list)
count = 0
@JosephRedfern
JosephRedfern / gist:d9f277461cfaa9349dd6757677cc66b0
Created December 11, 2020 21:50
contents of /dev/ on macOS Big Sur (11.0.1) on M1 MacBook Pro
aes_0
afsc_type5
apfs-raw-device.2.0
auditpipe
auditsessions
autofs
autofs_control
autofs_homedirmounter
autofs_notrigger
autofs_nowait
@JosephRedfern
JosephRedfern / lsusb
Created November 5, 2020 17:25
lsusb -v for Hiievpu "2K" webcam from Amazon
v4l2 video modes and lsusb details for https://www.amazon.co.uk/Microphone-Hiievpu-Suitable-Streaming-Conferencing/dp/B08H1L41KF
@JosephRedfern
JosephRedfern / requirements.txt
Created July 4, 2020 09:25
BBC6Music Spotify Playlist Updater (via @BBC6MusicBot)
python-twitter==3.5
spotipy==2.13.0
tqdm==4.47.0
import importlib
import sys
import argparse
import subprocess
import logging
import inspect
try:
from pip._internal.cli.main import main as pipmain # sorry
except ImportError:
from flask import Flask
import RPi.GPIO as GPIO
channel = 21
# GPIO setup
GPIO.setmode(GPIO.BCM)
GPIO.setup(channel, GPIO.OUT)
app = Flask(__name__)
# basic whitelisting for socket.socket.connect.
import socket
CONNECTION_WHITELIST = [('localhost', 80)]
unguarded_connect = socket.socket.connect
def guarded_connect(self, *args, **kwargs):
con = args[0]
@JosephRedfern
JosephRedfern / proxy.go
Created February 15, 2017 13:18
Using Google as HTTP Proxy (limited to GET)
package main
import (
"bytes"
"fmt"
"github.com/elazarl/goproxy"
"gopkg.in/h2non/filetype.v1"
"log"
"net/http"
)