Skip to content

Instantly share code, notes, and snippets.

View tschellenbach's full-sized avatar

Thierry Schellenbach tschellenbach

View GitHub Profile
private void openIfNotHere(Class<? extends Activity> targetClass) {
if (!getClass().isAssignableFrom(targetClass)) {
/*
* When clicking a menu item we follow Google's best practices as defined here:
* https://developer.android.com/design/patterns/navigation.html
* and
* https://developer.android.com/guide/components/tasks-and-back-stack.html
*
* The result is that when you click to
* - people and subsequently
@tschellenbach
tschellenbach / getstream_example.py
Created December 15, 2014 13:02
GetStream.io aggregated notification feed example with if statement
# Instantiate a new client
import stream
client = stream.connect('key', 'secret')
# Assume the notification is aggregated on
# {% if verb.infinitive == 'like' %}{{ object }}{% else %}{{ id }}{% endif %}
notification_feed = client.feed('notification', '1')
# Add two likes, one comment and two follows
activities = [
@tschellenbach
tschellenbach / getstream_example_if_statement.py
Created December 15, 2014 13:04
GetStream.io aggregated notification feed example with if statement
# Instantiate a new client
import stream
client = stream.connect('key', 'secret')
# Assume the notification is aggregated on
# {% if verb.infinitive == 'like' %}{{ object }}{% else %}{{ id }}{% endif %}
notification_feed = client.feed('notification', '1')
# Add two likes, one comment and two follows
activities = [
@tschellenbach
tschellenbach / solr_config.xml
Created May 16, 2011 11:13
solr schema tag search
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
<luceneMatchVersion>LUCENE_31</luceneMatchVersion>
<lib dir="../../contrib/extraction/lib" />
<lib dir="../../dist/" regex="apache-solr-cell-\d.*\.jar" />
<lib dir="../../dist/" regex="apache-solr-clustering-\d.*\.jar" />
<lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
<lib dir="../../contrib/clustering/lib/" />
@tschellenbach
tschellenbach / replace_url_param.py
Created September 16, 2011 13:58
Very super simple url param replace for when u cant use a querydict
import re
def replace(url, key, value):
p = re.compile('%s=[^=&]*' % key, re.VERBOSE)
return p.sub('%s=%s' % (key, value), url)
url = 'http://www.google.com/?a=b&c=d&d=f'
print replace(url, 'a', 'test')
print replace(url, 'c', 'test')
print replace(url, 'd', 'test')
@tschellenbach
tschellenbach / transaction_management.py
Created September 12, 2012 12:13
Testing transaction managemenet
@fashiolista_env
def health(request):
import random
from django.db import transaction, connections
from user.models import Profile
using = 'default'
def print_isolation_levels(using, msg):
autocommit_sql = "SHOW AUTOCOMMIT;"
@tschellenbach
tschellenbach / cached.py
Last active December 16, 2015 23:59
Makes the decorator syntax uniform Regardless if you call the decorator like @decorator or @decorator() or @decorator(staff=True) Complexity, Python's class based decorators are weird to say the least: http://www.artima.com/weblogs/viewpost.jsp?thread=240845 This function makes sure that your decorator class always gets called with __init__(fn,…
from functools import wraps
from django.utils.decorators import available_attrs
class CachedDecorator(object):
"""
Decorator which cached the call to the give function. Usage example ::
@cached(key='notification_settings_%(user_id)s', timeout=60 * 10)
2013-08-26 13:49:11,820 [INFO] snaptastic.snapshotter: Attaching volume vol-b3b128e6 to instance i-ce402f81
Aug 26 13:49:12 ip-10-37-176-131 startup: Traceback (most recent call last):
Aug 26 13:49:12 ip-10-37-176-131 startup: File "/usr/local/bin/snaptastic", line 9, in <module>
Aug 26 13:49:12 ip-10-37-176-131 startup: load_entry_point('snaptastic==0.2.10', 'console_scripts', 'snaptastic')()
Aug 26 13:49:12 ip-10-37-176-131 startup: File "/usr/local/lib/python2.7/dist-packages/snaptastic/cli.py", line 125, in main
Aug 26 13:49:12 ip-10-37-176-131 startup: p.dispatch()
Aug 26 13:49:12 ip-10-37-176-131 startup: File "/usr/local/lib/python2.7/dist-packages/argh/helpers.py", line 53, in dispatch
Aug 26 13:49:12 ip-10-37-176-131 startup: return dispatch(self, *args, **kwargs)
Aug 26 13:49:12 ip-10-37-176-131 startup: File "/usr/local/lib/python2.7/dist-packages/argh/dispatching.py", line 123, in dispatch
Aug 26 13:49:12 ip-10-37-176-131 startup: for line in lines:
Environment:
Request Method: POST
Request URL: http://foodtrip.ph/facebook/connect/?facebook_login=1
Django Version: 1.5.4
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
{
"coord":{
"lon":4.89,
"lat":52.37
},
"sys":{
"message":0.0094,
"country":"NL",
"sunrise":1390721381,
"sunset":1390752987