Skip to content

Instantly share code, notes, and snippets.

>>> class IdentifierList(list):
... def by_namespace(self):
... return None
...
>>> class Locality():
... @property
... def identifiers(self):
... return IdentifierList(self._identifiers)
... @identifiers.setter
... def identifiers(self, value):
@davbo
davbo / gist:2907608
Created June 10, 2012 23:04
New vs. Old
>>> class Old():
... pass
...
>>> class New(object):
... pass
...
>>> type(Old())
<type 'instance'>
>>> type(New())
<class '__main__.New'>
@davbo
davbo / places.py
Created August 15, 2012 15:54
Content negotiation
from flask import Blueprint
from .helpers import template_or_json
from .views import ServiceView, register_mimetype
places = Blueprint('places', __name__, template_folder='templates')
@places.route('/')
@template_or_json('places/search.html')
@davbo
davbo / nowatch.py
Created October 3, 2012 17:42
Stop watching WebLearn repos
import requests
auth = (USER, PASS)
for repo in requests.get('https://api.github.com/user/subscriptions', params={'per_page': 100}, auth=auth).json:
if repo['name'].startswith('wl-'):
requests.delete('https://api.github.com/user/subscriptions/%s/%s' % (repo['owner']['login'], repo['name']), auth=auth)
@davbo
davbo / gist:5670378
Created May 29, 2013 13:49
Museums app JSON snippet
"slug":"history-of-science",
"website":"http://www.mhs.ox.ac.uk/",
"lng":-1.255504,
"opening_hours":"Tuesday to Friday: 12-5pm; Saturday: 10am-5pm; Sunday: 2-5pm; Monday: Closed",
"_links":{
"items":{
"href":"/museums/history-of-science/items/"
},
"self":{
"href":"/museums/history-of-science/"
@davbo
davbo / preloader.py
Created May 29, 2013 13:54
Preloads JSON & images for our University Museums offline JavaScript applicaiton
import json
import urllib2
import os
import codecs
from urlparse import urlparse
from string import Template
build_dir = os.environ['TARGET_FOLDER']
@davbo
davbo / preloaded.js
Created May 29, 2013 13:56
Replaces any preloaded images with locally cached version
define(['underscore'], function(_) {
return {
replace: function (images) {
// Look for the image in our preloaded images and replace
// the path if we find it.
var preload = window.preload || {};
_.each(images, function (val, key) {
if (_.has(preload, val)) {
images[key] = preload[val];
}
@davbo
davbo / blogs.opml.xml
Last active April 25, 2016 23:36
Programming blogs
<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
<head>
<title>Programming blogs</title>
</head>
<body>
<outline text="Developer blogs" title="Developer blogs">
<outline type="rss" text="flak rss" title="flak rss" xmlUrl="http://www.tedunangst.com/flak/rss" htmlUrl="http://www.tedunangst.com/flak/"/>
<outline type="rss" text="Kamal Marhubi" title="Kamal Marhubi" xmlUrl="http://kamalmarhubi.com/blog/feed.xml" htmlUrl="http://kamalmarhubi.com/"/>
import unittest
import boto3
import credstash
MY_SERVICE = 'my-service'
VALUABLE_SERVICE = 'valuable-service'
class TestCredentialSwap(unittest.TestCase):
def tearDown(self):
@davbo
davbo / popup.css
Last active October 13, 2018 14:47
access my data 4k extension
body {
margin: 5px 10px 10px;
width: 520px;
font: 17px/1.2 Helvetica, sans-serif;
}
h1 {
color: #53637D;
font: 26px/1.2 Helvetica, sans-serif;
font-size: 200%;