Show
Ignore:
Timestamp:
05/02/08 16:47:16 (23 months ago)
Author:
JensDiemer
Message:

update preferences:

  • move the preferences form from the plugin module into the plugin config modul
  • a plugin must not use try...except to get the preferences
  • update all modules around the plugin install/deinstall etc.
  • detect_page used the system_settings "index_page" value (setup a other default index page works!)
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/pylucid/PyLucid/system/plugin_manager.py

    r1548 r1551  
    11# -*- coding: utf-8 -*- 
    2  
    32""" 
    43    PyLucid Plugin Manager 
     
    3534 
    3635#from PyLucid.db.preferences import Preferences, preference_cache, PreferenceDoesntExist 
    37 from PyLucid.system.plugin_import import get_plugin_module, get_plugin_config 
     36from PyLucid.system.plugin_import import get_plugin_module, get_plugin_config, \ 
     37                                                            get_plugin_version 
    3838from PyLucid.system.exceptions import * 
    3939from PyLucid.models import Plugin 
     
    6868        return 
    6969 
    70     plugin_config = get_plugin_config(request, 
     70    plugin_config = get_plugin_config( 
    7171        package_name = plugin.package_name, 
    7272        plugin_name = plugin.plugin_name, 
    73         dissolve_version_string=False 
     73        debug = request.debug, 
    7474    ) 
    7575#    context["page_msg"](plugin_config.plugin_manager_data) 
     
    200200 
    201201 
    202 def _install_plugin(request, package_name, plugin_name, plugin_config, active, 
     202def _install_plugin(package_name, plugin_name, plugin_config, active, 
    203203                                                                extra_verbose): 
    204204    """ 
     
    217217        active = active, 
    218218    ) 
    219     debug = request.user.is_superuser or request.debug 
    220     plugin_module = get_plugin_module(package_name, plugin_name, debug) 
    221     pref_form = getattr(plugin_module, "PreferencesForm", None) 
     219 
     220    pref_form = getattr(plugin_config, "PreferencesForm", None) 
    222221    if pref_form: 
    223222        # plugin module has a preferences newform class 
    224223        plugin.init_pref_form(pref_form) 
    225  
    226224 
    227225    plugin.save() 
     
    232230 
    233231 
    234 def install_plugin(request, package_name, plugin_name, active, 
     232def install_plugin(package_name, plugin_name, debug, active, 
    235233                                                        extra_verbose=False): 
    236234    """ 
    237235    Get the config object from disk and insert the plugin into the database 
    238236    """ 
    239     plugin_config = get_plugin_config(request, 
    240         package_name, plugin_name, 
    241         dissolve_version_string=True, extra_verbose=extra_verbose 
     237    plugin_config = get_plugin_config( 
     238        package_name, plugin_name, debug, extra_verbose=extra_verbose 
    242239    ) 
    243240    if extra_verbose: 
     
    255252 
    256253    plugin = _install_plugin( 
    257         request, package_name, plugin_name, 
    258         plugin_config, active, extra_verbose 
     254        package_name, plugin_name, plugin_config, active, extra_verbose 
    259255    ) 
    260256 
     
    284280 
    285281        try: 
    286             install_plugin(request, 
    287                 package_name, plugin_name, 
     282            install_plugin( 
     283                package_name, plugin_name, request.debug, 
    288284                active=True, extra_verbose=extra_verbose 
    289285            ) 
    290286        except Exception, e: 
     287            # FIXME 
    291288            print "Error:" 
    292289            import traceback