Permalink
Browse files

Change pyramid_sqla from package to module; delete non-SQLAlchemy mod…

…ules.

--HG--
rename : pyramid_sqla/__init__.py => pyramid_sqla.py
  • Loading branch information...
1 parent c8814fb commit 155248c458a0dddb2b41ab545f2c951c47206eb1 @mikeorr mikeorr committed Feb 21, 2011
Showing with 18 additions and 747 deletions.
  1. +8 −0 CHANGES.txt
  2. +0 −1 MANIFEST.in
  3. 0 pyramid_sqla/__init__.py → pyramid_sqla.py
  4. +0 −16 pyramid_sqla/paster_templates/__init__.py
  5. +0 −31 pyramid_sqla/paster_templates/pyramid_sqla/+package+/__init__.py_tmpl
  6. +0 −16 pyramid_sqla/paster_templates/pyramid_sqla/+package+/handlers.py_tmpl
  7. +0 −16 pyramid_sqla/paster_templates/pyramid_sqla/+package+/helpers.py
  8. +0 −18 pyramid_sqla/paster_templates/pyramid_sqla/+package+/models.py
  9. 0 pyramid_sqla/paster_templates/pyramid_sqla/+package+/scripts/__init__.py
  10. +0 −43 pyramid_sqla/paster_templates/pyramid_sqla/+package+/scripts/create_db.py_tmpl
  11. BIN pyramid_sqla/paster_templates/pyramid_sqla/+package+/static/favicon.ico
  12. BIN pyramid_sqla/paster_templates/pyramid_sqla/+package+/static/images/logo.png
  13. +0 −74 pyramid_sqla/paster_templates/pyramid_sqla/+package+/static/stylesheets/pylons.css
  14. +0 −28 pyramid_sqla/paster_templates/pyramid_sqla/+package+/subscribers.py_tmpl
  15. +0 −81 pyramid_sqla/paster_templates/pyramid_sqla/+package+/templates/index.html
  16. +0 −31 pyramid_sqla/paster_templates/pyramid_sqla/+package+/tests.py_tmpl
  17. +0 −4 pyramid_sqla/paster_templates/pyramid_sqla/CHANGES.txt_tmpl
  18. +0 −4 pyramid_sqla/paster_templates/pyramid_sqla/README.txt_tmpl
  19. +0 −71 pyramid_sqla/paster_templates/pyramid_sqla/development.ini_tmpl
  20. +0 −85 pyramid_sqla/paster_templates/pyramid_sqla/production.ini_tmpl
  21. +0 −27 pyramid_sqla/paster_templates/pyramid_sqla/setup.cfg_tmpl
  22. +0 −56 pyramid_sqla/paster_templates/pyramid_sqla/setup.py
  23. +0 −55 pyramid_sqla/paster_templates/pyramid_sqla/setup.py_tmpl
  24. +0 −80 pyramid_sqla/static.py
  25. 0 pyramid_sqla/tests/__init__.py
  26. +10 −10 setup.py
View
@@ -1,3 +1,11 @@
+1.0rc3 (unreleased)
+-------------------
+- Clone repository 'pyramid_akhet' from 'pyramid_sqla'.
+- Delete application template and non-SQLAlchemy code; they're now in
+ pyramid_akhet-1.0b1.
+- Change ``pyramid_sqla`` from a package to a module.
+- Move pyramid_sqla/tests/test.py to tests.py.
+
1.0rc2 (2010-02-20, never released)
-----------------------------------
- ``add_static_route`` is now a Pyramid config method if you call the new
View
@@ -1,5 +1,4 @@
recursive-include docs *
-recursive-include pyramid_sqla/paster_templates *
include *.txt
prune docs/_build
global-exclude *.pyc
File renamed without changes.
@@ -1,16 +0,0 @@
-from paste.util.template import paste_script_template_renderer
-from pyramid.paster import PyramidTemplate
-
-class PyramidSQLAProjectTemplate(PyramidTemplate):
- _template_dir = "pyramid_sqla"
- summary = "Pyramid SQLAlchemy project with view handlers"
- template_renderer = staticmethod(paste_script_template_renderer)
-
- def pre(self, command, output_dir, vars): # pragma: no cover
- """Called before template is applied."""
- PyramidTemplate.pre(self, command, output_dir, vars)
- package_logger = vars['package']
- if package_logger == 'root':
- # Rename the app logger in the rare case a project is named 'root'
- package_logger = 'app'
- vars['package_logger'] = package_logger
@@ -1,31 +0,0 @@
-from pyramid.config import Configurator
-import pyramid_beaker
-import pyramid_sqla
-
-def main(global_config, **settings):
- """ This function returns a Pyramid WSGI application.
- """
- config = Configurator(settings=settings)
- config.include('pyramid_handlers')
- config.include('pyramid_sqla')
-
- # Initialize database
- pyramid_sqla.add_engine(settings, prefix='sqlalchemy.')
-
- # Configure Beaker sessions
- session_factory = pyramid_beaker.session_factory_from_settings(settings)
- config.set_session_factory(session_factory)
-
- # Configure renderers
- config.add_renderer('.html', 'pyramid.mako_templating.renderer_factory')
- config.add_subscriber('{{package}}.subscribers.add_renderer_globals',
- 'pyramid.events.BeforeRender')
-
- # Set up routes and views
- config.add_handler('home', '/', '{{package}}.handlers:MainHandler',
- action='index')
- config.add_handler('main', '/{action}', '{{package}}.handlers:MainHandler',
- path_info=r'/(?!favicon\.ico|robots\.txt|w3c)')
- config.add_static_route('{{package}}', 'static', cache_max_age=3600)
-
- return config.make_wsgi_app()
@@ -1,16 +0,0 @@
-import logging
-
-from pyramid_handlers import action
-
-#from {{package}}.models import MyModel
-
-log = logging.getLogger(__name__)
-
-class MainHandler(object):
- def __init__(self, request):
- self.request = request
-
- @action(renderer='index.html')
- def index(self):
- log.debug("testing logging; entered MainHandler.index()")
- return {'project':'{{package}}'}
@@ -1,16 +0,0 @@
-"""Helper functions
-
-This module is available as the ``h`` variable in templates, and can also be
-imported into handler modules or elsewhere. Put any common functions you want
-to access in all templates here.
-
-The WebHelpers package (http://python.org/pypi/WebHelpers) contains some
-commonly used helpers for HTML tag creation, text formatting, number
-formatting, etc.
-
-The template globals (``h`` et al) are set in
-``{{package}}.subscribers.add_renderer_globals()``.
-"""
-
-#from webhelpers.html import *
-#from webhelpers.html.tags import *
@@ -1,18 +0,0 @@
-import logging
-
-import pyramid_sqla as psa
-import sqlalchemy as sa
-import sqlalchemy.orm as orm
-import transaction
-
-log = logging.getLogger(__name__)
-
-Base = psa.get_base()
-Session = psa.get_session()
-
-
-#class MyModel(Base):
-# __tablename__ = 'models'
-#
-# id = sa.Column(sa.Integer, primary_key=True)
-# name = sa.Column(sa.Unicode(255), nullable=False)
@@ -1,43 +0,0 @@
-"""Create the application's database.
-
-Run this once after installing the application::
-
- python -m {{package}}.scripts.create_db development.ini
-"""
-import logging.config
-import sys
-
-from pyramid.paster import get_app
-import transaction
-
-import {{package}}.models as models
-
-def main():
- if len(sys.argv) != 2:
- sys.exit("Usage: python -m {{package}}.scripts.create_db INI_FILE")
- ini_file = sys.argv[1]
- logging.config.fileConfig(ini_file)
- log = logging.getLogger(__name__)
- app = get_app(ini_file, "{{project}}")
- #settings = app.registry.settings
-
- # Abort if any tables exist to prevent accidental overwriting
- for table in models.Base.metadata.sorted_tables:
- log.debug("checking if table '%s' exists", table.name)
- if table.exists():
- raise RuntimeError("database table '%s' exists" % table.name)
-
- # Create the tables
- models.Base.metadata.create_all()
- sess = models.Session()
-
- # Record 1
- #p = models.MyModel(id=1, name=u"Foo Bar")
- #sess.add(p)
-
- transaction.commit()
-
-
-
-if __name__ == "__main__":
- main()
@@ -1,74 +0,0 @@
-html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;/* 16px */
-vertical-align:baseline;background:transparent;}
-body{line-height:1;}
-ol,ul{list-style:none;}
-blockquote,q{quotes:none;}
-blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
-/* remember to define focus styles! */
-:focus{outline:0;}
-/* remember to highlight inserts somehow! */
-ins{text-decoration:none;}
-del{text-decoration:line-through;}
-/* tables still need 'cellspacing="0"' in the markup */
-table{border-collapse:collapse;border-spacing:0;}
-/* restyling */
-sub{vertical-align:sub;font-size:smaller;line-height:normal;}
-sup{vertical-align:super;font-size:smaller;line-height:normal;}
-/* lists */
-ul,menu,dir{display:block;list-style-type:disc;margin:1em 0;padding-left:40px;}
-ol{display:block;list-style-type:decimal-leading-zero;margin:1em 0;padding-left:40px;}
-li{display:list-item;}
-/* nested lists have no top/bottom margins */
-ul ul,ul ol,ul dir,ul menu,ul dl,ol ul,ol ol,ol dir,ol menu,ol dl,dir ul,dir ol,dir dir,dir menu,dir dl,menu ul,menu ol,menu dir,menu menu,menu dl,dl ul,dl ol,dl dir,dl menu,dl dl{margin-top:0;margin-bottom:0;}
-/* 2 deep unordered lists use a circle */
-ol ul,ul ul,menu ul,dir ul,ol menu,ul menu,menu menu,dir menu,ol dir,ul dir,menu dir,dir dir{list-style-type:circle;}
-/* 3 deep (or more) unordered lists use a square */
-ol ol ul,ol ul ul,ol menu ul,ol dir ul,ol ol menu,ol ul menu,ol menu menu,ol dir menu,ol ol dir,ol ul dir,ol menu dir,ol dir dir,ul ol ul,ul ul ul,ul menu ul,ul dir ul,ul ol menu,ul ul menu,ul menu menu,ul dir menu,ul ol dir,ul ul dir,ul menu dir,ul dir dir,menu ol ul,menu ul ul,menu menu ul,menu dir ul,menu ol menu,menu ul menu,menu menu menu,menu dir menu,menu ol dir,menu ul dir,menu menu dir,menu dir dir,dir ol ul,dir ul ul,dir menu ul,dir dir ul,dir ol menu,dir ul menu,dir menu menu,dir dir menu,dir ol dir,dir ul dir,dir menu dir,dir dir dir{list-style-type:square;}
-.hidden{display:none;}
-p{line-height:1.5em;}
-h1{font-size:1.75em;/* 28px */
-line-height:1.7em;font-family:helvetica,verdana;}
-h2{font-size:1.5em;/* 24px */
-line-height:1.7em;font-family:helvetica,verdana;}
-h3{font-size:1.25em;/* 20px */
-line-height:1.7em;font-family:helvetica,verdana;}
-h4{font-size:1em;line-height:1.7em;font-family:helvetica,verdana;}
-html,body{width:100%;height:100%;}
-body{margin:0;padding:0;background-color:#ffffff;position:relative;font:16px/24px "Nobile","Lucida Grande",Lucida,Verdana,sans-serif;}
-a{color:#1b61d6;text-decoration:none;}
-a:hover{color:#e88f00;text-decoration:underline;}
-body h1,
-body h2,
-body h3,
-body h4,
-body h5,
-body h6{font-family:"Nobile","Lucida Grande",Lucida,Verdana,sans-serif;font-weight:normal;color:#144fb2;font-style:normal;}
-#wrap {min-height: 100%;}
-#header,#footer{width:100%;color:#ffffff;height:40px;position:absolute;text-align:center;line-height:40px;overflow:hidden;font-size:12px;}
-#header{background-color:#e88f00;top:0;font-size:14px;}
-#footer{background-color:#000000;bottom:0;position: relative;margin-top:-40px;clear:both;}
-.header,.footer{width:700px;margin-right:auto;margin-left:auto;}
-.wrapper{width:100%}
-#top,#bottom{width:100%;}
-#top{color:#888;background-color:#eee;height:300px;border-bottom:2px solid #ddd;margin-bottom:10px;}
-#bottom{color:#222;background-color:#ffffff;overflow:hidden;}
-.top,.bottom{width:700px;margin-right:auto;margin-left:auto;}
-.top{padding-top:100px;}
-.app-welcome{margin-top:25px;}
-.app-name{color:#000000;font-weight:bold;}
-/*.bottom{padding-top:50px;}*/
-.text{font-size:80%;color:#444444;margin:20px 0;text-align:center;}
-#left{width:325px;float:left;padding-right:25px;}
-#right{width:325px;float:right;padding-left:25px;}
-.align-left{text-align:left;}
-.align-right{text-align:right;}
-.align-center{text-align:center;}
-ul.links{margin:0;padding:0;}
-ul.links li{list-style-type:none;font-size:14px;}
-form{border-style:none;}
-fieldset{border-style:none;}
-input{color:#222;border:1px solid #ccc;font-family:sans-serif;font-size:12px;line-height:16px;}
-input[type=text]{}
-input[type=submit]{background-color:#ddd;font-weight:bold;}
-/*Opera Fix*/
-body:before {content:"";height:100%;float:left;width:0;margin-top:-32767px;}
@@ -1,28 +0,0 @@
-from pyramid.threadlocal import get_current_request
-from pyramid.exceptions import ConfigurationError
-from pyramid.url import route_url
-
-import {{package}}.helpers as helpers
-
-def add_renderer_globals(event):
- """ A subscriber to the ``pyramid.events.BeforeRender`` events. Updates
- the :term:`renderer globals` with values that are familiar to Pylons
- users."""
- request = event.get('request')
- if request is None:
- request = get_current_request()
- globs = {
- 'url': route_url,
- 'h': helpers,
- }
- if request is not None:
- tmpl_context = request.tmpl_context
- globs['c'] = tmpl_context
- globs['tmpl_context'] = tmpl_context
- try:
- globs['session'] = request.session
- except ConfigurationError:
- pass
- event.update(globs)
-
-
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
- <title>The Pyramid Web Application Development Framework</title>
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
- <meta name="keywords" content="python web application" />
- <meta name="description" content="pyramid web application" />
- <link rel="shortcut icon" href="${request.application_url}/favicon.ico" />
- <link rel="stylesheet" href="${request.application_url}/stylesheets/pylons.css" type="text/css" media="screen" charset="utf-8" />
- <!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&amp;subset=latin" type="text/css" media="screen" charset="utf-8" /> -->
- <!--[if !IE 7]>
- <style type="text/css">
- #wrap {display:table;height:100%}
- </style>
- <![endif]-->
-</head>
-<body>
- <div id="wrap">
- <div id="header">
- <div class="header">The Pyramid Web Application Development Framework</div>
- </div>
- <div id="top">
- <div class="top align-center">
- <img src="${request.application_url}/images/logo.png" width="300" height="80"/>
- <p class="app-welcome">
- Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
- the Pyramid web application development framework.
- </p>
- </div>
- </div>
- <div id="bottom">
- <div class="bottom">
- <div id="left" class="align-right">
- <h3>Search Pyramid documentation</h3>
- <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
- <div>
- <input type="text" id="q" name="q" value="" />
- <input type="submit" id="x" value="Search" />
- </div>
- </form>
- </div>
- <div id="right" class="align-left">
- <h3>Pyramid links</h3>
- <ul class="links">
- <li>
- <a href="http://pylonshq.com">Pylons Website</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/">The Pylons Project Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
- </li>
- <li>
- <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div id="footer">
- <div class="footer">Pyramid is copyright © 2008-2010, Agendaless Consulting.</div>
- </div>
-</body>
-</html>
@@ -1,31 +0,0 @@
-import unittest
-
-class MyHandlerTests(unittest.TestCase):
- def setUp(self):
- from pyramid.config import Configurator
- import pyramid_sqla
- self.engine = pyramid_sqla.add_engine(url='sqlite://')
- self.session = pyramid_sqla.get_session()()
- self.config = Configurator(autocommit=True)
- self.config.begin()
- # Must call ``self.config.begin()`` in tests before using config.
-
- def tearDown(self):
- import pyramid_sqla
- self.config.end()
- # After calling ``self.config.end()``, don't use config.
- self.session = None
- pyramid_sqla.reset()
-
- def _makeOne(self, request):
- from {{package}}.handlers import MainHandler
- return MainHandler(request)
-
- def test_index(self):
- request = DummyRequest()
- handler = self._makeOne(request)
- info = handler.index()
- self.assertEqual(info['project'], '{{package}}')
-
-class DummyRequest(object):
- pass
@@ -1,4 +0,0 @@
-0.0
----
-
-- Initial version
@@ -1,4 +0,0 @@
-{{project}} README
-
-
-
Oops, something went wrong.

0 comments on commit 155248c

Please sign in to comment.