Skip to content

Instantly share code, notes, and snippets.

@dzerrenner
dzerrenner / fa_starrating.js
Last active November 15, 2015 19:13
This could be used for some jquery star ratings. Backend communication is done via signals. See code.
/*
Can be used to implement star ratings.
HTML:
<div data-rating data-value="0..5"></div>
emits 'ratingChanged' if a star was clicked
updates stars if 'changeComplete' event is received.
CSS:
@dzerrenner
dzerrenner / backends.py
Last active August 29, 2015 14:06
python-social-auth backend for battle.net oauth
from django.shortcuts import render_to_response
from social.backends.oauth import BaseOAuth2
from social.pipeline.partial import partial
@partial
def pick_character_name(backend, details, response, is_new=False, *args, **kwargs):
if backend.name == 'battlenet-oauth2' and is_new:
data = backend.strategy.request_data()
if data.get('character_name') is None:
@dzerrenner
dzerrenner / bindinghandler.js
Created May 21, 2014 21:06
Knockout.js custom binding handler to show / hide an element with jQuery's slideUp / slideDown methods
ko.bindingHandlers.slideToggleVisible = {
init: function(element, valueAccessor) {
var value = valueAccessor();
ko.unwrap(value) ? $(element).show() : $(element).hide();
},
update: function(element, valueAccessor) {
var value = valueAccessor();
ko.unwrap(value) ? $(element).slideDown() : $(element).slideUp();
}
};
@dzerrenner
dzerrenner / models.py
Created April 28, 2014 19:19
Metaclass that adds couter methods for reverse foreign keys of Django models.
class ForeignCountMeta(ModelBase):
"""
Metaclass that adds couter methods for reverse foreign keys of Django models.
The methods that will be creates are defined in the models Meta options:
class CountedParent(models.Model, metaclass=ForeignCounterMeta):
class Meta:
counted_fields = {
"child1_count": {'relation_name': 'child1', 'short_description': 'Child 1 count'},
@dzerrenner
dzerrenner / flask_chromelogger.py
Last active December 16, 2016 14:19
Use chromelogger with Flask
# custom response handler for flask and chromelogger
# use chromelogger to log directly to the chorme development console
# (see: https://github.com/ccampbell/chromelogger-python)
#
# put this in your application config
if app.debug:
import chromelogger as console
@app.after_request
def chromelogger(response):