Changeset 3777

Show
Ignore:
Timestamp:
11/27/07 17:00:55 (1 year ago)
Author:
deets
Message:

applied patch for #1501/#1620 + removed a SO depencecy in the designer

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.1/setup.py

    r3715 r3777  
    3131    "TurboKid >= 1.0.4", 
    3232] 
     33 
     34 
    3335if sys.version_info < (2, 5): 
    34     compat.append("SQLObject>=0.7.1,<0.10dev") 
     36    sqlobject = ["SQLObject>=0.7.1,<0.10dev"] 
    3537else: 
    36     compat.append("SQLObject>=0.8,<0.10dev") 
     38    sqlobject = ["SQLObject>=0.8,<0.10dev"] 
    3739 
    3840exp = ["TGFastData"] 
     
    4042future = [] 
    4143 
    42 standard = [ 
     44sqlalchemy = [ 
    4345    "Elixir >= 0.4.0", 
    4446    "SQLAlchemy >= 0.3.10", 
     
    5153tgtesttools =  [ 
    5254    "nose >= 0.9.3,<=0.10.0a1", 
    53 ] + standard 
     55] 
    5456 
    5557# python 2.5 compatible list 
     
    153155        "compat": compat, 
    154156        "exp" : exp, 
    155         "standard" : standard, 
     157        "sqlobject" : sqlobject, 
     158        "sqlalchemy" : sqlalchemy, 
    156159        "future" : future, 
    157160        "testtools" : testtools, 
  • branches/1.1/turbogears/command/quickstart.py

    r3682 r3777  
    101101 
    102102 
     103def get_requirement(name): 
     104    dist = pkg_resources.get_distribution("TurboGears") 
     105    with_reqs = set(dist.requires((name,))) 
     106    without_reqs = set(dist.requires()) 
     107    reqs = with_reqs - without_reqs 
     108    try: 
     109        return [r for r in reqs if r.project_name.lower() == name][0] 
     110    except IndexError: 
     111        raise ValueError("Did not find matching %s requirement in the TurboGears setup.py:extras_require." % name) 
     112 
     113 
    103114class quickstart: 
    104115    "Implementation of quickstart." 
     
    224235        cmd_args.append("identity=%s" % self.identity) 
    225236        cmd_args.append("package=%s" % self.package) 
     237        # set the exact ORM-version for the proper requirements 
     238        # it's extracted from our own requirements, so looking 
     239        # them up must be in sync (there must be the extras_require named sqlobject/sqlalchemy) 
     240        if self.sqlobject: 
     241            sqlobjectversion = str(get_requirement('sqlobject')) 
     242            cmd_args.append("sqlobjectversion=%s" % sqlobjectversion) 
     243 
     244        if self.sqlalchemy: 
     245            sqlalchemyversion = str(get_requirement('sqlalchemy')) 
     246            cmd_args.append("sqlalchemyversion=%s" % sqlalchemyversion) 
     247 
    226248        command.run(cmd_args) 
    227249 
     
    242264                except OSError: 
    243265                    pass 
     266 
    244267            startscript = "start-%s.py" % self.package 
    245268            if os.path.exists(startscript): 
     
    290313        options, args = parser.parse_args() 
    291314        self.__dict__.update(options.__dict__) 
    292         self.turbogearsversion = version 
    293315 
    294316    def run(self): 
     
    338360        cmd_args.append("identity=%s" % self.identity) 
    339361        cmd_args.append("package=%s" % self.package) 
     362        # set the exact ORM-version for the proper requirements 
     363        # it's extracted from our own requirements, so looking 
     364        # them up must be in sync (there must be the extras_require named sqlobject/sqlalchemy) 
     365        if self.sqlobject: 
     366            sqlobjectversion = str(get_requirement('sqlobject')) 
     367            cmd_args.append("sqlobjectversion=%s" % sqlobjectversion) 
     368 
     369        if self.sqlalchemy: 
     370            sqlalchemyversion = str(get_requirement('sqlalchemy')) 
     371            cmd_args.append("sqlalchemyversion=%s" % sqlalchemyversion) 
     372 
    340373        command.run(cmd_args) 
    341374 
  • branches/1.1/turbogears/qstemplates/quickstart/+package+/controllers.py_tmpl

    r2612 r3777  
    11from turbogears import controllers, expose, flash 
    22# from model import * 
     3#if $sqlobject == 'True' 
     4import pkg_resources 
     5try: 
     6    pkg_resources.require("$sqlobjectversion") 
     7except pkg_resources.DistributionNotFound: 
     8    import sys 
     9    print >> sys.stderr, """You are required to install SQLObject but appear not to have done so.  
     10Please run your projects setup.py or run `easy_install SQLObject`. 
     11 
     12""" 
     13    sys.exit(1) 
     14#end if 
     15#if $sqlalchemy == 'True' 
     16import pkg_resources 
     17try: 
     18    pkg_resources.require("$sqlalchemyversion") 
     19except pkg_resources.DistributionNotFound: 
     20    import sys 
     21    print >> sys.stderr, """You are required to install SQLAlchemy but appear not to have done so.  
     22Please run your projects setup.py or run `easy_install SQLAlchemy`. 
     23 
     24""" 
     25    sys.exit(1) 
     26#end if 
    327#if $identity != "none" 
    428from turbogears import identity, redirect 
  • branches/1.1/turbogears/qstemplates/quickstart/setup.py_tmpl

    r3776 r3777  
    1818    name="${project}", 
    1919    version=version, 
    20  
    2120    # uncomment the following lines if you fill them out in release.py 
    2221    #description=description, 
     
    2928    install_requires=[ 
    3029        "TurboGears >= ${turbogearsversion}", 
    31 #if $identity == "sqlalchemy" 
    32         "SQLAlchemy", 
     30#if $sqlalchemy == 'True' 
     31        "${sqlalchemyversion}", 
     32#end if 
     33#if $sqlobject == 'True' 
     34        "$sqlobjectversion" 
    3335#end if 
    3436    ], 
  • branches/1.1/turbogears/toolbox/designer/__init__.py

    r3393 r3777  
    77from turbogears import controllers 
    88import cherrypy 
    9 import sqlobject 
    109import pkg_resources 
     10 
     11try: 
     12    import sqlobject 
     13except: 
     14    import warnings 
     15    warnings.warn("SQLObject is missing, toolbox designer won't work") 
    1116 
    1217model_template = """from datetime import datetime