Skip to content

Instantly share code, notes, and snippets.

@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):
@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 / 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 / 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 / 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 / exif.py
Created November 30, 2015 12:32
Read EXIF data and change file creation time accordingly
from datetime import datetime
import exifread
import pywintypes
import win32con
import win32file
import os
from pytz import timezone
LOCAL_TZ = timezone('Europe/Berlin')
@dzerrenner
dzerrenner / twittercustom.css
Last active September 8, 2019 00:41
Custom CSS stylesheet for twitter - de-roundify avatars and some buttons
@-moz-document domain(twitter.com) {
div.DMAvatar.u-chromeOverflowFix {
border-radius: 5px !important;
}
.avatar, .Avatar, .nav .session .dropdown-toggle, .EdgeButton, .EdgeButton:visited, .global-nav .search-input, .avatar--circular {
border-radius: 5px !important;
}
.ProfileCard-avatarLink, .ProfileCard-avatarImage, .DashboardProfileCard-avatarImage {
@dzerrenner
dzerrenner / README.md
Last active December 11, 2018 12:01 — forked from cassus/admin.py
Django admin action as row button

Summary

This enables simple action buttons per entity in the admin list_view. This was adapted for Django 2.1 and is a bit more general than the original it was forked from.

Usage

@dzerrenner
dzerrenner / check-snmp-load.sh
Created November 12, 2019 08:31
Check load with snmpwalk
#!/bin/bash
SYSTEMS = ("testDNS", "productionDNS", "integrationDNS", "testVPN", "productionVPN", "integrationVPN")
IP_ADDR = ("172.16.47.11", "10.0.47.11", "192.168.47.11", "172.16.13.37", "10.0.13.37", "192.168.13.37")
for INDEX in ${!SYSTEMS[@]}; do
echo Testing: ${SYSTEMS[INDEX]} Address: ${IP_ADDR[INDEX]}
snmpwalk -v -2c -c community ${IP_ADDR[INDEX]} UCD-SNMP-MIB:laLoad.1
echo
done
@dzerrenner
dzerrenner / Jenkinsfile
Created November 12, 2019 09:00
Jenkins pipelines: parallel execution
pipeline {
agent any
stages {
stage('SmokeTest'){
parallel{
stage('SmokeTest ProdEnv') {
steps {
echo 'Sanity Testing Production Environment',
build job: 'smoke test',