Skip to content

Instantly share code, notes, and snippets.

Emil Stenström EmilStenstrom

Block or report user

Report or block EmilStenstrom

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
EmilStenstrom /
Created Feb 12, 2013
Make values in raw_id_fields clickable...
# Example usage...
from admin_util import ImprovedModelForm
class DialogAdmin(ImprovedModelForm):
raw_id_fields = ("forum", "user", ...) # "forum" and "user" are ForeignKeys
EmilStenstrom /
Last active Dec 12, 2015
Automatically watch Sass and CoffeeScript files when runserver command is run... Put this in /<your app>/management/commands/
import atexit
import subprocess
from import BaseRunserverCommand
from django.core.servers.basehttp import AdminMediaHandler
from django.conf import settings
# Patch runserver to run the sass and coffeesscript compilers automatically
class Command(BaseRunserverCommand):
active_processes = []
EmilStenstrom /
Last active Aug 31, 2018
Convert a list of strings to a list of integers suitable for numerical processing. Easily convert back to the strings when done.
class KeyToNumMapper(object):
counter = 0
mapper_key_int = {}
mapper_int_key = {}
def __init__(self, initial):
map(self.add_key, initial)
def add_key(self, key):
if key in self.mapper_key_int:
EmilStenstrom /
Created Jun 25, 2013
Management command to delete users that no longer have a reference to them (Except UserProfile and SocialData in our case).
# -*- coding: utf-8 -*-
from import BaseCommand
from django.contrib.auth.models import User
from emailuser.models import UserProfile
from socialdata.models import SocialData
class Command(BaseCommand):
def _has_relations(self, related_objects, user, whitelist=(User, UserProfile, SocialData)):
for related in related_objects:
model = related.model
EmilStenstrom /
Created Feb 16, 2014
Competing in the hash|challenge to find the lowest SHA512 hash:
import hashlib
from random import random
from multiprocessing import Process, Array
from ctypes import c_char
def new_candidate(prev_hash, seed):
return prev_hash[:32] + seed
EmilStenstrom /
Created Mar 16, 2015
Script to scrape data from Socialstyrelsens database over death statistics. You need to specify which codes to fetch via that codes parameter in main().
# -*- coding: utf-8 -*-
from lxml.html import fromstring
import os
import csv
import requests
def _get_payload_for_code(code):
parameters = {
"i_%s_3" % code: "on",
"visaAG": "on",
EmilStenstrom /
Last active Aug 31, 2018
Code found in a library I was considering using... NEVER write code like this :)
class Object:
attributes = ["myattr",
code = "def __init__(self"
for att in attributes:
code = code + ", " + att + " = None"
code = code + "):\n"
View nonscrolling_layer.html
<!DOCTYPE html>
<meta charset="utf-8">
html, body { height: 100%; }
body { font-size: 4em; color: rgba(0,0,0,0.1); }
body.noscroll {
overflow: hidden;
View kundo-events.js
This script can be embedded on any page with Kundo Chat, and will change the contents
of an element on the page, depending on if the customer can start a new chat or not.
To change what's shown, change CHAT_AVAILABLE_HTML and CHAT_UNAVAILABLE_HTML to
anything you want. To add a button that starts the chat, add a call to
from gensim.models import TfidfModel
from gensim.corpora import Dictionary
class MyCorpus:
def __init__(self, documents):
self.documents = documents
self.dictionary = Dictionary(documents)
def __iter__(self):
You can’t perform that action at this time.