Skip to content

Instantly share code, notes, and snippets.

Avatar

Jonathan Vanasco jvanasco

View GitHub Profile
@jvanasco
jvanasco / app-models-__init__.py
Created Jan 3, 2012
Reflecting in Pyramid/SqlAlchemy
View app-models-__init__.py
import logging
log = logging.getLogger(__name__)
from sqlalchemy import Table
from sqlalchemy import MetaData
from sqlalchemy.orm import mapper
from sqlalchemy.orm import scoped_session
from sqlalchemy.orm import sessionmaker
from zope.sqlalchemy import ZopeTransactionExtension
@jvanasco
jvanasco / php_var_dump.py
Created Jan 15, 2012
quick/dirty/incomplete implementation of php var_dump in python - this is to save a python data structure as a php variable.
View php_var_dump.py
def _php_var_dump(data,depth=0):
padding= " "*depth
keypadding= " "*(depth+1)
depth+= 1
if type(data) == types.DictType :
items = []
for i in data :
item = keypadding + "'%s' => %s" % (i,_php_var_dump(data[i],depth=depth))
items.append(item)
items = ',\n'.join(items)
@jvanasco
jvanasco / sqlassist.py
Created Jan 27, 2012
Supporting multiple database connections & Reflecting Tables in pyramid with sqlalchemy .7
View sqlassist.py
r"""
sqlassist
~~~~~~~~~
v0.3
sections of code taken from :
- Mike Orr's package 'sqlahelper'
- Mike Bayer's blog post 'Django-style Database Routers in SQLAlchemy'
@jvanasco
jvanasco / README.txt
Created Jan 30, 2012
mongodb support in pyramid
View README.txt
Python MonogoDB integration, based on http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/mongo.html
I'm migrating a few projects to use mongodb, and I found this to be the easiest way to maintain across all projects ( as in, i don't have to change any code outside of .ini files )
1. the main() routin in __init__.py just needs to call subscribers.mongodb.initialize_mongo_db()
2. subscribers has a single file called mongodb, which initializes
3. environment.ini has its own mongodb space. setting mongodb_use to 'true' will initialize it, setting it to anything else will ignore it.
@jvanasco
jvanasco / gist:1734244
Created Feb 4, 2012
pyramid_formencode_classic.py
View gist:1734244
"""
v 0.0.3
a port of some classic pylons styling, but without much of the cruft that was not used often
This allows for a very particular coding style, which i prefer.
As you can see below, 'methods' are broken into multiple parts:
@jvanasco
jvanasco / __init__.py
Created Feb 6, 2012
pyramid - how to automatically map the version of deform's static components that you're using to a subdir (on startup)
View __init__.py
def main(global_config, **settings):
...
config.add_subscriber(\
'myApp.subscribers.deform_static_prep',
'pyramid.events.ApplicationCreated')
...
@jvanasco
jvanasco / select.html
Created Feb 7, 2012
jquery username availability check - with timeout
View select.html
Choose a username. You can't post until you do!
<form method="post" action="/account/choose-username">
<input type="text" name="username" value="" id="username_selector"/>
<span id="fieldstatus-username"></span>
</form>
<script>
// on all keyups, set a message that the username is bad or that you're checking
// however, don't actually check until you have a timeout - e.g. .6 seconds
// there's no point on taxing a server to repeatedly check
@jvanasco
jvanasco / __init__.py
Created Feb 8, 2012
Pyramid Event Subscribers to migrate cookie data across redirects
View __init__.py
def main(global_config,**settings):
...
config.add_subscriber(\
'myApp.subscribers.cookiexfer_new_request',
'pyramid.events.NewRequest')
config.add_subscriber(\
'myApp.subscribers.cookiexfer_new_response',
'pyramid.events.NewResponse')
...
@jvanasco
jvanasco / formgenerator.py
Created Feb 9, 2012 — forked from ericrasmussen/formgenerator.py
FormGenerator to extend Deform functionality
View formgenerator.py
"""
Simple module to ease form handling with ``Deform``. The provided
``FormGenerator`` class handles repetitive tasks like validation,
xhr requests, and recovering from exceptions thrown by the model.
### Begin example scenario: Adding a new user
from myschemas import UserSchema
from formgenerator import (
@jvanasco
jvanasco / __init__.py
Created Feb 14, 2012
akhet init file
View __init__.py
from pyramid.config import Configurator
import pyramid_beaker
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
config = Configurator(settings=settings)
# initiate Beaker sessions and caching.
# configuration is in your environment.ini file
You can’t perform that action at this time.