Skip to content

Instantly share code, notes, and snippets.

View ojii's full-sized avatar

Jonas Obrist ojii

View GitHub Profile
@ojii
ojii / to_swiss_german.py
Created March 30, 2011 09:10
A python script that translates German to Swiss German
#!/usr/bin/python
# -*- coding: utf-8 -*-
import argparse
import random
mappings = {
'a': u'ä',
'o': u'ö',
'u': u'ü',
'k': 'ch',
@ojii
ojii / to_french.py
Created March 30, 2011 09:16
A script that translates any language into French!
#!/usr/bin/python
# -*- coding: utf-8 -*-
import argparse
import random
mappings = {
'a': [u'à', u'â'],
'c': [u'ç'],
'e': [u'é', u'è', u'ê'],
}
from classytags.arguments import Argument
from classytags.core import Options
from classytags.helpers import InclusionTag
from django import template
from django.conf import settings
register = template.Library()
class Disqus(InclusionTag):
options = Options(
@ojii
ojii / justonce.sh
Created April 8, 2011 08:01
Run a single command in a virtualenv (using virtualenvwrapper)
function justonce(){
E_BADARGS=65
if [ $# -lt 2 ]
then
echo "Usage: `justonce <envname> <command>`"
exit $E_BADARGS
fi
workon $1
shift
@ojii
ojii / gist:964472
Created May 10, 2011 13:33
django request factory login
from django.conf import settings
from django.utils.importlib import import_module
from django.contrib.auth import SESSION_KEY, BACKEND_SESSION_KEY
def request_factory_login(factory, user, backend='django.contrib.backends.ModelBackend'):
engine = import_module(settings.SESSION_ENGINE)
factory.session = engine.SessionStore()
request.session[SESSION_KEY] = user.id
request.session[BACKEND_SESSION_KEY] = backend
factory.session.save()
@ojii
ojii / get_xml.php
Created May 18, 2011 09:06
PHP vs python requests
function get_xml( $url )
{
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "some-user-agent", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 60, // timeout on connect
@ojii
ojii / new_placeholder_tag.py
Created May 24, 2011 13:32
new_placeholder_tag.py
from cms.templatetags.cms_tags import Placeholder, PlaceholderOptions
from classytags.helpers import AsTag
from classytags.arguments import Argument, MultiValueArgument
from django import template
register = template.Library()
class NewPlaceholder(AsTag, Placeholder):
name = 'new_placeholder'
options = PlaceholderOptions(
class AwesomeAdmin(ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
form_class = super(AwesomeAdmin, self).get_form(request, obj, **kwargs)
form_class.request = request
return form_class
@ojii
ojii / isthestoreopen.py
Created July 20, 2011 13:27
Is the Apple store open? (Linux User Version)
import requests
import time
store_open = False
while not store_open:
response = requests.get('http://store.apple.com/')
if "We'll be back soon" not in response.content:
break
print "Meh."
import os
from fnmatch import fnmatch
import random
def get_random_file(folder, *extensions):
"""
get_random_file('/foo/bar', '*.jpg')
"""
files = [os.path.join(folder, fname) for fname in os.listdir(folder)]
pictures = [fpath for fpath in files if any([fnmatch(fpath, ext) for ext in extensions])]