Skip to content

Instantly share code, notes, and snippets.

View eevee's full-sized avatar
🦊

Eevee eevee

🦊
View GitHub Profile
@eevee
eevee / deferred_attr.py
Created March 20, 2014 18:28
sqlalchemy declarative deferred attributes
class DeferredAttribute(object):
"""Minor hackery used with `deferred_attr_factory`."""
# Hopefully, more or less, self-explanatory. The __call__ is triggered at
# class creation time by declared_attr, which passes in the class itself,
# and then we do the "post" setup by listening for mapper_configured.
def __init__(self, generator):
self.generator = generator
self.done = False
def __call__(self, mapped_class):
diff --git a/_mysql.c._mysql_ConnectionObject_get_character_set_info-refcount-errors.v2.html b/_mysql.c._mysql_ConnectionObject_get_character_set_info-refcount-errors.v2-new.html
index 27cd945..a4bc009 100644
--- a/_mysql.c._mysql_ConnectionObject_get_character_set_info-refcount-errors.v2.html
+++ b/_mysql.c._mysql_ConnectionObject_get_character_set_info-refcount-errors.v2-new.html
@@ -99,8 +99,8 @@ body {
background: #EBEBEB;
height: 100%;
- display: box;
- box-orient: vertical;
@eevee
eevee / rewrite_asserts.py
Created June 17, 2014 01:39
2to3 to rewrite testify assertions as plain asserts
from lib2to3.fixer_base import BaseFix
from lib2to3.fixer_util import Name
from lib2to3.main import StdoutRefactoringTool
from lib2to3.pytree import Node
import sys
class FixAssertEqual(BaseFix):
PATTERN = '''
power<
@eevee
eevee / weakproperty.py
Last active August 29, 2015 14:02
weakproperty
class WeakProperty:
"""Descriptor that automatically holds onto whatever it contains as a weak
reference. Reading this attribute will never raise `AttributeError`; if
the reference is broken or missing, you'll just get `None`.
The actual weak reference is stored in the object's `__dict__` under the
given name, so this acts as sort of a transparent proxy that lets you
forget you're dealing with weakrefs at all.
Of course, if you try to assign a value that can't be weak referenced,
@eevee
eevee / disable_key_events.user.js
Last active August 29, 2015 14:03
userscript that blocks really really annoying js quirks. web devs should really do this crap themselves...
// ==UserScript==
// @name disable key events
// @namespace eev.ee
// @description Prevents JS on the page from receiving keyup, keydown, or keypress. Fixes, e.g., Twitter's disabling of shortcuts until the page has loaded.
// @include https://twitter.com/*
// @version 1
// @grant none
// @run-at document-start
// ==/UserScript==
@eevee
eevee / __output__
Created July 1, 2014 06:23
proof of concept of fancy-ass yaml schema (this code is a travesty)
glaceon: !!python/object/apply:collections.OrderedDict
dictitems:
base-happiness: 70
capture-rate: 45
color: blue
hatch-counter: 0
identifier: glaceon
is-dimorphic: false
types: [ice]
this is an egregiously long line, meant only as a test of whether a gist will wrap long lines of plain text when it knows for sure that the language is plain english text
@eevee
eevee / gist:8da6845886c524bc3e86
Created July 27, 2014 03:59
logging configuration brought to you by configparser
# Begin logging configuration
[loggers]
keys = root, veekun_pokedex, sqlalchemy
[handlers]
keys = console
[formatters]
keys = generic
@eevee
eevee / gist:78e52d55f171c78def0e
Created August 26, 2014 22:17
plumbum patch to fix TEE with a stderr redirect
diff --git a/plumbum/commands/modifiers.py b/plumbum/commands/modifiers.py
index 30f8dbf..1a5f8e6 100644
--- a/plumbum/commands/modifiers.py
+++ b/plumbum/commands/modifiers.py
@@ -151,12 +151,26 @@ class TEE(ExecutionModifier):
with cmd.bgrun(retcode=self.retcode, stdin=None, stdout=PIPE, stderr=PIPE) as p:
outbuf = []
errbuf = []
+ buffers = {}
+ tee_to = {}
@eevee
eevee / frozenobject.py
Created September 12, 2014 00:37
frozenobject
class FrozenMeta(type):
"""Metaclass for freezing a type after construction. Only ``__init__``
will be allowed to assign to attributes.
"""
def __call__(cls, *args, **kwargs):
obj = super(FrozenMeta, cls).__call__(*args, **kwargs)
obj.__frozen__ = True
return obj