Skip to content

Instantly share code, notes, and snippets.

@drsm79
drsm79 / map.js
Last active December 12, 2015 09:48
CouchDB attachments by content type
function(doc) {
if (doc._attachments){
for (a in doc._attachments){
emit(doc._attachments[a].content_type, 1);
}
}
}
@drsm79
drsm79 / README
Last active October 11, 2015 14:18
silly little script to test that a haiku matches the syllable pattern. Call test with your haiku, split() on new lines.
@drsm79
drsm79 / import_csv.py
Created September 10, 2012 11:55
d3 with CouchDB using views
import csv
import requests
import json
import time
reader = csv.DictReader(open('_attachments/sp500.csv', 'rb'))
database = "http://127.0.0.1:5984/d3apps4"
to_upload = {"docs": []}
map:
function(doc) {
for (key in doc){
emit(key, 1);
}
}
reduce:
@drsm79
drsm79 / bundle.config.json
Created August 6, 2012 14:36
Bundle task
bundle: {
// Files to bundle up that aren't css/js managed by release. Copied into
// same directory structure
files: ['*.html'],
// Folders to bundle up that aren't managed by release. Copy files and
// folders from src (key) to destination (value), relative to the
// destination parameter.
folders: {'assets/img':'assets/img', 'dist/release':''},
destination: 'bundle'
}
@drsm79
drsm79 / gist:3198994
Created July 29, 2012 13:56
Creating a view with situp

To create my_view in $PWD/_design/my_design run:

situp.py view -d my_design my_view

This produces a skeleton map.js and reduce.js in $PWD/_design/my_design/views/my_view/. If you want to use a built-in reduce (sum|count|stats) run:

situp.py view -d my_design my_view --count

@drsm79
drsm79 / gist:3198935
Created July 29, 2012 13:48
Installing situp
git clone git://github.com/drsm79/situp.git
cd situp
export PYTHONPATH=$PYTHONPATH:$PWD
chmod u+x situp.py

export PATH=$PATH:$PWD

@drsm79
drsm79 / Result.txt
Created July 19, 2012 22:39
Bookmarking test
$ python bookmark_test.py
all animals: [u'llama', u'elephant', u'lemur', u'zebra', u'badger', u'aardvark', u'giraffe', u'panda']
[u'llama', u'elephant']
g1AAAAETeJzLYWBgYMlgTWFQSElKzi9KdUhJMtLLTS3KLElMT9VLzskvTUnMK9HLSy3JAapkymMBkgwNQOr____7sxL53ew_MIBBIiOqKcYETTkAMeV_ViKrm_1vccUGkCkMqKYY4jElyQFIJtWDTWBys7-8uIoBiwkmeExIZEiyhzngxR0miDeyAOI8V1I
[u'zebra', u'badger']
g2wAAAABaAVkACBkYmNvcmVAZGI0Lm1lcml0YWdlLmNsb3VkYW50Lm5ldGwAAAACYQBiP____2phBUY_6NwCAAAAAGEDag
[]
g2o
[u'llama', u'elephant', u'lemur', u'zebra']
g1AAAAETeJzLYWBgYMlgTWFQSElKzi9KdUhJMtLLTS3KLElMT9VLzskvTUnMK9HLSy3JAapkymMBkgwNQOr____7sxL53ew_MIBBIiPxpiQyJNkD9WclsrrZv7jDBNbOjKrdkKAjDkAcATHlt7hiA8gUBuJNSXIAkkn1YBOY3OwvL64Cu4MhCwApB1dQ
@drsm79
drsm79 / gist:3143612
Created July 19, 2012 12:51
Flask app using blueprints
from flask import Flask, url_for
from user_api import users
app = Flask(__name__)
app.register_blueprint(users, url_prefix='/users')
if __name__ == "__main__":
app.run(debug=True)
@drsm79
drsm79 / gist:3143589
Created July 19, 2012 12:47
Non-trivial Flask blueprint
from flask import Blueprint, current_app, request, jsonify
users = Blueprint('users', __name__)
@users.route('/<username>', methods=['GET', 'POST', 'PUT', 'DELETE'])
def profile(username):
messages = {'GET': 'info about %s' % username,
'POST': 'create account for %s' % username,