A "Best of the Best Practices" (BOBP) guide to developing in Python.
- "Build tools for others that you want to be built for you." - Kenneth Reitz
- "Simplicity is alway better than functionality." - Pieter Hintjens
| #!/bin/sh | |
| branch=`git symbolic-ref --short HEAD` | |
| # allow user input within pre-commit hook | |
| exec < /dev/tty | |
| if [ $branch == "master" ]; then | |
| echo "Commit to master [yes|no]?" | |
| read yesno | |
| if [ "$yesno" == "yes" ]; then |
| #!/usr/bin/env python | |
| # Example for RC timing reading for Raspberry Pi | |
| # Must be used with GPIO 0.3.1a or later - earlier verions | |
| # are not fast enough! | |
| import RPi.GPIO as GPIO, time, os | |
| DEBUG = 1 | |
| GPIO.setmode(GPIO.BCM) |
| //Practically all this code comes from https://github.com/alangrafu/radar-chart-d3 | |
| //I only made some additions and aesthetic adjustments to make the chart look better | |
| //(of course, that is only my point of view) | |
| //Such as a better placement of the titles at each line end, | |
| //adding numbers that reflect what each circular level stands for | |
| //Not placing the last level and slight differences in color | |
| // | |
| //For a bit of extra information check the blog about it: | |
| //http://nbremer.blogspot.nl/2013/09/making-d3-radar-chart-look-bit-better.html |
| def dicty(d, key=None): | |
| """removes empty string and None values from a nested dict, if key, then prints all values within the dict""" | |
| if key: | |
| for k, v in d.items(): | |
| if k.lower() == key.lower(): | |
| print "{}: {}".format(k, v) | |
| if isinstance(v, dict): | |
| dicty(v, key) | |
| if isinstance(v, list): | |
| for x in v: |
| # remember to patch first | |
| from gevent import monkey | |
| monkey.patch_all() | |
| import gevent | |
| from uuid import uuid4 | |
| from cassandra.cqlengine.connection import setup | |
| from cassandra.cqlengine.columns import * |
| #! /usr/bin/env python | |
| import redis | |
| import random | |
| import pylibmc | |
| import sys | |
| r = redis.Redis(host = 'localhost', port = 6389) | |
| mc = pylibmc.Client(['localhost:11222']) |
| # string format with kwargs | |
| user = { | |
| 'first_name': 'John', | |
| 'last_name': 'Doe', | |
| 'email': '[email protected]', | |
| } | |
| user_bio = '{first_name} is registered with email: {email}'.format(**user) | |
| # string format with an object | |
| class User(object): |
| (defn home-page [request] | |
| (let [flash (:flash request)] | |
| (layout/render | |
| "home.html" | |
| (merge {:messages (db/get-messages)} | |
| (select-keys flash [:name :message :errors])))) ) |
| # This creates some bad audit_types | |
| class AuditLog(models.Model): | |
| LOG = 'lo', | |
| NOTE = 'no', | |
| AUDIT_CHOICES = ( | |
| (LOG, 'log'), | |
| (NOTE, 'note', | |
| ) | |
| audit_type = models.CharField(choices=audit_CHOICES) |