Skip to content

Instantly share code, notes, and snippets.

View justanr's full-sized avatar
🏴

anr (they/them) justanr

🏴
View GitHub Profile
@justanr
justanr / commandbus.py
Last active May 24, 2016 04:10
Basic Command Bus example
import inspect
class HandlerNotFound(Exception):
pass
class BasicCommandBus(object):
def execute(self, command):
@justanr
justanr / criterion.py
Last active September 14, 2015 12:39
Simple Criteria Filtering
from functools import singledispatch
from abc import ABCMeta, abstractmethod
class CriterionMeta(ABCMeta):
def __new__(mcls, name, bases, attrs):
dispatcher = singledispatch(attrs['_default'])
attrs.update({'_dispatcher': dispatcher, 'register': dispatcher.register})
return super(CriterionMeta, mcls).__new__(mcls, name, bases, attrs)
@justanr
justanr / ball_of_mud.py
Last active September 11, 2015 16:43
Simple user registration in three styles
@expose('/register/', method=['POST']
def create_new_user():
form = NewUserForm()
username, password, email = form.data.username, form.data.password, form.data.email
if User.query.filter_by(User.username == username).first():
return {'success': False, 'reason': 'Username in use already'}
elif User.query.filter(User.email == email).first():
@justanr
justanr / base_repository.py
Last active May 24, 2016 04:13
Toy Repository
from operator import attrgetter
from hashlib import md5 # because it's fast
class BaseRepository(object):
def find(self, pk):
raise NotImplementedError()
def find_by(self, **keys):
raise NotImplementedError()
@justanr
justanr / base_permissions.py
Last active August 29, 2015 14:27
Proposal: FlaskBB Permissions
import operator
from inspect import isclass, isfunction
def _is_permission_factory(perm):
return isclass(perm) or isfunction(perm)
class Permission(object):
"Base permission class"
def allow(self, user, request, *args, **kwargs):
var WeaponList = React.createClass({
render: function() {
return (<ul className="list-unstyled">
<li>
<Weapon name="flail" attrs={["1d8 bludgeoning;"]} />
</li>
<li>
<Weapon name="morning star" attrs={["1d8 piercing;"]} />
</li>
</ul>
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/<page_name>')
@app.route('/', defaults={'page_name': 'index'})
def page(page_name):
return render_template(page_name, {'page_name': page_name})
@justanr
justanr / app.py
Last active February 15, 2018 12:30
Quotly
from flask import Flask, request
from flask.ext.restful import Resource, Api
from flask.ext.sqlalchemy import SQLAlchemy
from marshmallow import Schema, post_dump
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///quotes.db'
api = Api(app)
Warning: JAVA_HOME environment variable is not set.
Fetching / updating 3 artifacts and their dependencies
Exception in thread "main" java.lang.UnsupportedClassVersionError: jove/xsbti/ArtifactInfo : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
@justanr
justanr / primes.py
Created November 2, 2014 13:00
Finding Primes and Factorization
from itertools import takewhile
def sieve(n):
"""Sieve of Eratosthenes
Returns a list of primes from 2 to n.
"""
if n < 2:
return []