Skip to content

Instantly share code, notes, and snippets.

View mmerickel's full-sized avatar

Michael Merickel mmerickel

View GitHub Profile
@mmerickel
mmerickel / gist:926c8437b5224b281376
Created February 5, 2015 22:18
pyramid view lookup patch
diff --git a/pyramid/router.py b/pyramid/router.py
index ba4f85b..a11e556 100644
--- a/pyramid/router.py
+++ b/pyramid/router.py
@@ -1,10 +1,12 @@
from zope.interface import (
implementer,
providedBy,
+ Interface,
)
@mmerickel
mmerickel / setup.py
Last active June 26, 2017 19:40
SSLOnlyMiddleware
setup(
entry_points={
'paste.filter_app_factory': [
'ssl_only = myapp.middlewares.ssl_only:make_filter',
],
}
)
@mmerickel
mmerickel / README.rst
Last active September 13, 2017 15:54
boot2docker on os x

How to setup docker on OS X using boot2docker

Basic install

  1. Install Virtualbox
  2. Install XCode and the Command Line Tools
@mmerickel
mmerickel / pyramid_services.py
Last active August 29, 2015 14:04
pyramid services
from pyramid.interfaces import IRequest
from zope.interface.registry import Components
def includeme(config):
config.add_request_method(find_service)
config.add_request_method(lambda _: Components(), 'service_cache',
reify=True)
config.add_directive('register_service', register_service)
config.add_directive('register_service_factory', register_service_factory)
@mmerickel
mmerickel / keybase.md
Created May 23, 2014 16:14
keybase.md

Keybase proof

I hereby claim:

  • I am mmerickel on github.
  • I am mmerickel (https://keybase.io/mmerickel) on keybase.
  • I have a public key whose fingerprint is CC1A 48C9 57AC 6ABE F05B 2C59 6BC9 77B0 56B8 29E5

To claim this, I am signing this object:

@mmerickel
mmerickel / factory.py
Last active June 1, 2022 19:19
session proxy
cookie_state = {
'session_id': session_id,
'is_deleted': False,
}
def update_cookie(request, response):
exc = getattr(request, 'exception', None)
# exit early if there's an exception and the user specified
@mmerickel
mmerickel / gist:8035611
Created December 19, 2013 07:25
backend-based session storage in pyramid
from hashlib import sha256
import os
from pyramid.session import SignedCookieSessionFactory
def make_session_id():
rand = os.urandom()
return sha256(sha256(rand).digest()).hexdigest()
class MemorySessionSerializer(object):
@mmerickel
mmerickel / settings.py
Created December 10, 2013 22:25
How to load a more useful ini file for use with pyramid.
from ConfigParser import RawConfigParser
def load_settings(global_config, app_settings):
"""
Load an INI file with multiple sections into a single dictionary.
.. code-block:: ini
[sqlalchemy]
url = sqlite://%(here)s
@mmerickel
mmerickel / README.rst
Last active December 19, 2015 12:49
A workflow for docker that separates build-time dependencies from run-time dependencies.

A workflow for docker that separates build-time dependencies from run-time dependencies.

Create the image used for building apps.

docker build -t pybuilder pybuilder

Create the image used for running apps.

@mmerickel
mmerickel / test.py
Created April 1, 2013 17:54
weird sqlalchemy
from sqlalchemy import (
create_engine,
Column,
ForeignKey,
)
from sqlalchemy import (
Integer,
String,
)
from sqlalchemy.ext.declarative import declarative_base