Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

Ticket #1181: cp3tg.diff

File cp3tg.diff, 13.2 KB (added by fredlin, 5 years ago)

workable patch for trunk (but many fuctions are breaken)

  • setup.py

     
    3838        "TurboJson >= 0.9.9",  
    3939        "TurboCheetah >= 0.9.5", 
    4040        "TurboKid >= 0.9.9", 
    41         "Genshi >= 0.3.3", 
    42         "CherryPy >= 2.2.1,<3.0.0alpha", 
     41        "Genshi >= 0.3.5", 
     42        "CherryPy >= 3.0.0rc1", 
    4343        "SQLObject >= 0.7.1,<=0.7.99", 
    44         "simplejson >= 1.3", 
     44        "simplejson >= 1.4", 
    4545        "elementtree >= 1.2.6",  
    4646        "PasteScript >= 1.0", 
    4747        "cElementTree >= 1.0.5",  
     
    4949        "setuptools >= 0.6c3", 
    5050        "RuleDispatch",  
    5151        "ConfigObj >= 4.3.2",  
    52         "nose >= 0.9"], 
     52        "nose >= 0.9.1"], 
    5353    packages=find_packages(), 
    5454    include_package_data=True, 
    5555    exclude_package_data={"thirdparty" : ["*"]}, 
  • toolbox-start.py

     
    99from turbogears import toolbox 
    1010 
    1111root = toolbox.Toolbox() 
    12 cherrypy.root = root 
     12#cherrypy.root = root 
     13cherrypy.tree.mount(root) 
    1314print "Toolbox Development Mode" 
    1415cherrypy.config.update({"global" : { 
    1516    "server.socketPort" : 7654, 
     
    2021    "logDebugInfoFilter.on" : False 
    2122    }}) 
    2223 
    23 cherrypy.server.start() 
     24#cherrypy.server.start() 
     25cherrypy.server.quickstart() 
     26cherrypy.engine.start() 
  • turbogears/command/base.py

     
    112112            }}) 
    113113 
    114114        if not self.noopen: 
    115             cherrypy.server.start_with_callback(self.openbrowser) 
     115            #cherrypy.server.start_with_callback(self.openbrowser) 
     116            cherrypy.server.quickstart(server=None);  
     117            cherrypy.engine.start_with_callback(self.openbrowser) 
    116118        else: 
    117             cherrypy.server.start() 
     119            #cherrypy.server.start() 
     120            cherrypy.server.quickstart() 
     121            cherrypy.engine.start()             
    118122 
    119123 
    120124commands = None 
  • turbogears/config.py

     
    150150 
    151151def config_defaults():     
    152152    current_dir_uri = os.path.abspath(os.getcwd()) 
    153     if not current_dir_uri.startswith("/"): 
    154         current_dir_uri = "/" + current_dir_uri 
    155153    defaults = {'current_dir_uri' : current_dir_uri} 
    156154    return defaults 
    157155 
     
    207205    configure_loggers(configdict) 
    208206    config.update(configdict) 
    209207 
    210 def get(key, default_value=None, return_section=False, path = None): 
     208#def get(key, default_value=None, return_section=False, path = None): 
     209def get(key, default_value=None): 
    211210    """Retrieves a config value""" 
    212     value = config.get(key, default_value, return_section, path) 
     211    #value = config.get(key, default_value, return_section, path) 
     212    value = config.get(key, default_value) 
    213213    if value and key == 'sqlobject.dburi' and os.name == "nt": 
    214214        value = re.sub('///(\w):', '///\\1|', value) 
    215215    return value 
  • turbogears/controllers.py

     
    1818 
    1919unicodechars = re.compile(r"([^\x00-\x7F])") 
    2020 
    21 if config.get("session_filter.on",None) == True: 
    22     if config.get("session_filter.storage_type",None) == "PostgreSQL": 
     21if config.get("tools.sessions.on",None) == True: 
     22    if config.get("tools.sessions.storage_type",None) == "PostgreSQL": 
    2323        import psycopg2  
    24         config.update({'session_filter.get_db':psycopg2.connect(psycopg2.get('sessions.postgres.dsn'))}) 
     24        config.update({'tools.sessions.get_db':psycopg2.connect(psycopg2.get('sessions.postgres.dsn'))}) 
    2525    # support for mysql/sqlite/etc here 
    2626 
    2727def _process_output(output, template, format, content_type, mapping, fragment=False): 
     
    342342 
    343343def flash(message): 
    344344    """Set a message to be displayed in the browser on next page display.""" 
    345     cherrypy.response.simple_cookie['tg_flash'] = tg_util.to_utf8(message) 
    346     cherrypy.response.simple_cookie['tg_flash']['path'] = '/' 
     345    cherrypy.response.cookie['tg_flash'] = tg_util.to_utf8(message) 
     346    cherrypy.response.cookie['tg_flash']['path'] = '/' 
    347347 
    348348def _get_flash(): 
    349349    """Retrieve the flash message (if one is set), clearing the message.""" 
    350     request_cookie = cherrypy.request.simple_cookie 
    351     response_cookie = cherrypy.response.simple_cookie 
     350    request_cookie = cherrypy.request.cookie 
     351    response_cookie = cherrypy.response.cookie 
    352352 
    353353    def clearcookie(): 
    354354        response_cookie["tg_flash"] = "" 
  • turbogears/database.py

     
    77from sqlobject.dbconnection import ConnectionHub, Transaction, TheURIOpener 
    88 
    99import cherrypy 
    10 from cherrypy.filters.basefilter import BaseFilter 
     10#from cherrypy.filters.basefilter import BaseFilter 
    1111 
    1212import dispatch 
    1313from turbogears import config, errorhandling 
     
    329329        so_joins(sqlclass.__base__, joins) 
    330330    return joins 
    331331 
    332 class EndTransactionsFilter(BaseFilter): 
     332#class EndTransactionsFilter(BaseFilter): 
     333class EndTransactionsFilter(object): 
    333334    def on_end_resource(self): 
    334335        if _use_sa(): 
    335336            session.clear() 
  • turbogears/startup.py

     
    1010 
    1111import pkg_resources 
    1212import cherrypy 
    13 from cherrypy import _cputil 
     13#from cherrypy import _cputil 
    1414from formencode.variabledecode import NestedVariables 
    15 from cherrypy._cpwsgi import wsgiApp, CPHTTPRequest 
    16 from cherrypy._cpwsgiserver import CherryPyWSGIServer 
     15#from cherrypy._cpwsgi import wsgiApp, CPHTTPRequest 
     16#from cherrypy._cpwsgiserver import CherryPyWSGIServer 
    1717 
    18 from turbogears import config, scheduler 
     18from turbogears import config, scheduler, util 
    1919from turbogears.view import loadBaseTemplates 
    2020from turbogears.database import hub_registry, EndTransactionsFilter 
    2121 
     
    7272                sys.exit(3) # force reload 
    7373        time.sleep(freq) 
    7474 
    75 cherrypy.lib.autoreload.reloader_thread = reloader_thread 
     75#cherrypy.lib.autoreload.reloader_thread = reloader_thread 
    7676 
    7777webpath = "" 
    7878 
     
    147147    This adds the "tg_js" configuration to make MochiKit accessible. 
    148148    It also turns on stdlib logging when in development mode. 
    149149    """ 
    150     config.update({"/tg_static" : 
     150    """config.update({"/tg_static" : 
    151151            { 
    152152            "static_filter.on" : True, 
    153153            "static_filter.dir" : 
    154154                os.path.abspath(pkg_resources.resource_filename(__name__, "static")), 
    155155            'log_debug_info_filter.on' : False, 
     156            }""" 
     157    config.update({"/tg_static" : 
     158            { 
     159            "tools.staticdir.on" : True, 
     160            "tools.staticdir" : 
     161                os.path.abspath(pkg_resources.resource_filename(__name__, "static")), 
    156162            } 
    157163        }) 
    158     config.update({"/tg_js" : 
     164    """config.update({"/tg_js" : 
    159165            { 
    160166            "static_filter.on" : True, 
    161167            "static_filter.dir" : 
    162168                os.path.abspath(pkg_resources.resource_filename(__name__, "static/js")), 
    163169            'log_debug_info_filter.on' : False, 
    164             } 
     170            }""" 
     171    config.update({"/tg_js" : 
     172            { 
     173            "tools.staticdir.on" : True, 
     174            "tools.staticdir" : 
     175                os.path.abspath(pkg_resources.resource_filename(__name__, "static")), 
     176            }     
    165177        }) 
    166     cherrypy.config.environments['development']['log_debug_info_filter.on'] = False 
     178    #cherrypy.config.environments['development']['log_debug_info_filter.on'] = False 
    167179     
    168     if config.get("decoding_filter.on", path="/") is None: 
     180    """if config.get("decoding_filter.on", path="/") is None: 
    169181        config.update({"/": { 
    170182            "decoding_filter.on" : True, 
    171183            "decoding_filter.encoding" : config.get( 
    172184                                        "kid.encoding", "utf8") 
    173         }}) 
     185        }})""" 
     186    if config.get("tools.decode.on") is None: 
     187            config.update({"/": { 
     188                "tools.decode.on" : True, 
     189                "tools.decode.encoding" : config.get( 
     190                                            "kid.encoding", "utf8") 
     191            }}) 
    174192 
    175193    loadBaseTemplates() 
    176194    global webpath 
     
    221239        ext= entrypoint.load() 
    222240        if hasattr(ext, "start_extension"): 
    223241            ext.start_extension() 
     242            #pass 
    224243     
    225244    for item in call_on_startup: 
    226245        item() 
     
    253272        scheduler._stop_scheduler() 
    254273        log.info("Scheduler stopped") 
    255274         
    256 old_object_trail = _cputil.get_object_trail 
     275"""old_object_trail = _cputil.get_object_trail 
    257276 
    258277# hang on to object trail to use it to find an app root if need be 
    259278def get_object_trail(object_path=None): 
     
    264283        pass 
    265284    return trail 
    266285 
    267 _cputil.get_object_trail = get_object_trail 
     286_cputil.get_object_trail = get_object_trail""" 
    268287 
    269 class SimpleWSGIServer(CherryPyWSGIServer): 
    270     """A WSGI server that accepts a WSGI application as a parameter.""" 
     288"""class SimpleWSGIServer(CherryPyWSGIServer): 
     289    ""A WSGI server that accepts a WSGI application as a parameter."" 
    271290    RequestHandlerClass = CPHTTPRequest 
    272291     
    273292    def __init__(self): 
     
    288307                                    request_queue_size = conf( 
    289308                                        "server.socket_queue_size"), 
    290309                                    ) 
    291  
     310""" 
    292311def start_server(root): 
    293     cherrypy.root = root 
     312    """cherrypy.root = root 
    294313    if config.get("tg.fancy_exception", False): 
    295314        cherrypy.server.start(server=SimpleWSGIServer()) 
    296315    else: 
    297         cherrypy.server.start() 
     316        cherrypy.server.start()""" 
     317    cfg = util.load_project_config() 
     318    cherrypy.tree.mount(root, config=cfg) 
     319    #cherrypy.tree.mount(root) 
     320    cherrypy.server.quickstart() 
     321    cherrypy.engine.start() 
     322     
    298323 
    299 if startTurboGears not in cherrypy.server.on_start_server_list: 
    300     cherrypy.server.on_start_server_list.append(startTurboGears) 
     324if startTurboGears not in cherrypy.engine.on_start_engine_list: 
     325    cherrypy.engine.on_start_engine_list.append(startTurboGears) 
    301326 
    302 if stopTurboGears not in cherrypy.server.on_stop_server_list: 
    303     cherrypy.server.on_stop_server_list.append(stopTurboGears) 
     327if stopTurboGears not in cherrypy.engine.on_stop_engine_list: 
     328    cherrypy.engine.on_stop_engine_list.append(stopTurboGears) 
    304329 
    305330call_on_startup = [] 
    306331call_on_shutdown = [] 
  • turbogears/toolbox/admi18n/__init__.py

     
    88from turbogears import controllers 
    99 
    1010import cherrypy 
    11 from cherrypy.lib.cptools import serveFile 
     11#from cherrypy.lib.cptools import serveFile 
     12from cherrypy.lib.static import serve_file 
    1213 
    1314import pygettext 
    1415import msgfmt 
     
    283284 
    284285        if 'If-Modified-Since' in cherrypy.request.headers: 
    285286            del cherrypy.request.headers['If-Modified-Since'] # see ticket #879 
    286         return serveFile(path,"application/x-download","attachment") 
     287        #return serveFile(path,"application/x-download","attachment") 
     288        return serve_file(path,"application/x-download","attachment") 
    287289    lang_file = turbogears.expose()(lang_file) 
    288290 
    289291    def string_collection(self,files=[]): 
  • turbogears/toolbox/base.py

     
    7474                    <pre> 
    7575                        tg-admin toolbox -c %s 
    7676                    </pre> 
    77              """% (cherrypy.request.remoteAddr,cherrypy.request.remoteAddr) 
     77             """% (cherrypy.request.remote.ip,cherrypy.request.remote.ip) 
    7878    noaccess = turbogears.expose()(noaccess) 
  • turbogears/visit/api.py

     
    66 
    77import cherrypy 
    88import pkg_resources 
    9 from cherrypy.filters.basefilter import BaseFilter 
     9#from cherrypy.filters.basefilter import BaseFilter 
    1010 
    1111import turbogears 
    1212 
     
    6767    # Temporary until tg-admin can call create_extension_model 
    6868    create_extension_model() 
    6969    # Install Filter into the root filter chain 
    70     if not hasattr(cherrypy.root, "_cp_filters"): 
     70    """if not hasattr(cherrypy.root, "_cp_filters"): 
    7171        cherrypy.root._cp_filters= [] 
    72     cherrypy.root._cp_filters.append( filter ) 
     72    cherrypy.root._cp_filters.append( filter )""" 
    7373 
    7474 
    7575def shutdown_extension(): 
     
    104104        self.is_new= is_new 
    105105 
    106106 
    107 class VisitFilter(BaseFilter): 
     107#class VisitFilter(BaseFilter): 
     108class VisitFilter(object): 
    108109    ''' 
    109110    A filter that automatically tracks visitors. 
    110111    '''