PK鉰𦼣棡))iniadmin/__init__.py# iniadmin module from iniadmin import * PKO68昷Jiniadmin/__init__.pyo; KDc@s dkTdS((s*N(siniadmin(((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/__init__.pys?sPKN68QPiniadmin/iniadmin.pyc; .盧Dc@sdkTdklZdklZlZdklZlZl Z dk l Z dk Z dk lZlZlZlZlZy eZWndklZnXdefd YZdS( (s*(s wiki_to_html(sITemplateProvidersadd_stylesheet(sescapesMarkupssorted(sIAdminPageProviderN(sOptions BoolOptions IntOptions ListOptionsExtensionOption(sSetsIniAdminPlugincBs9tZeeedZdZdZdZRS(Nccsr|iido[xXttgi}tiD]\}}||q-~D]}dd||fVqPWndS(Ns TRAC_ADMINstracinistrac.ini( sreqspermshas_permissionssortedssetsappends_[1]sOptionsregistrysss_ssection(sselfsreqs_[1]ssssections_((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysget_admin_pagess=cCs:|iidpt|tgi}ti D]\}} ||q1~jot d|n|i djogi}ti iD]0\\}} } ||jo|| iqq~}t} xp|iiD]_\} } | |joF|iii|| | jo#|iii|| | t} q@qqW| o'|iiid|iiin|i|ii i!||nt#|dt$gi}ti iD]-\\}} } ||jo|| qq~dd}g}x |D]} t&t'i(| |i|} |iii|| i} | i*i+i,d pd }hd | i<d | i.<d t/| <d | <d|<}|djoNg}x-| i1i2|D]}|i|i*i+qW|i4||d0sistextsnamesdefaultsdocsvaluestypes extensionsoptionssiniadmin.sectionsiniadmin.optionss iniadmin.cs(7sreqspermshas_permissionsAssertionErrorspagessetsappends_[1]sOptionsregistrysss_s TracErrorsmethods iteritemsssectionsoptionsnamesoptionssFalsesmodifiedsargssvaluesselfsenvsconfigsgetsTrueslogsdebugssavesredirectshrefsadminscatsadd_stylesheetssorteds hdf_optionss wiki_to_htmlsinspectsgetdocsdocs __class__s__name__slowerstypesdefaultsMarkups hdf_optionsxtnpts extensionssimplssortshdfsNone(sselfsreqscatspages path_infostypes hdf_optionss hdf_optionsoptionssoptions_sdocsmodifiedsvalues_[1]ssssectionsimpl((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysprocess_admin_requestsJ=P  # M?    cCs!dkl}|tdgSdS(N(sresource_filenames templates(s pkg_resourcessresource_filenames__name__(sselfsresource_filename((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysget_templates_dirsGs cCs'dkl}d|tdfgSdS(N(sresource_filenamesiniadminshtdocs(s pkg_resourcessresource_filenames__name__(sselfsresource_filename((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysget_htdocs_dirsKs ( s__name__s __module__s implementssITemplateProvidersIAdminPageProvidersget_admin_pagessprocess_admin_requestsget_templates_dirssget_htdocs_dirs(((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysIniAdminPlugins    0 (s trac.corestrac.wiki.formatters wiki_to_htmlstrac.web.chromesITemplateProvidersadd_stylesheets trac.utilsescapesMarkupssortedswebadmin.web_uisIAdminPageProvidersinspects trac.configsOptions BoolOptions IntOptions ListOptionsExtensionOptionssetssetssSets ComponentsIniAdminPlugin(s ListOptionsExtensionOptionsOptions IntOptionsadd_stylesheetsinspects wiki_to_htmlsIAdminPageProvidersITemplateProviderssetsescapessortedsIniAdminPluginsMarkups BoolOption((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pys?s   % PKO68臟^芑iniadmin/iniadmin.pyo; .盧Dc@sdkTdklZdklZlZdklZlZl Z dk l Z dk Z dk lZlZlZlZlZy eZWndklZnXdefd YZdS( (s*(s wiki_to_html(sITemplateProvidersadd_stylesheet(sescapesMarkupssorted(sIAdminPageProviderN(sOptions BoolOptions IntOptions ListOptionsExtensionOption(sSetsIniAdminPlugincBs9tZeeedZdZdZdZRS(Nccsr|iido[xXttgi}tiD]\}}||q-~D]}dd||fVqPWndS(Ns TRAC_ADMINstracinistrac.ini( sreqspermshas_permissionssortedssetsappends_[1]sOptionsregistrysss_ssection(sselfsreqs_[1]ssssections_((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysget_admin_pagess=cCs |tgi}tiD]\}} ||q~jotd|n|i djogi}tii D]0\\}} } ||jo|| iqxqx~}t} xp|ii D]_\} } | |joF|iii|| | jo#|iii|| | t} q&qqW| o'|iiid|iiin|i|iii||nt |dt!gi}tii D]-\\}} } ||jo|| qq~dd}g}x |D]} t#t$i%| |i|} |iii|| i} | i'i(i)d pd}hd | i<d | i+<d t,| <d | <d |<}|djoNg}x-| i.i/|D]}|i|i'i(qW|i1||d0sistextsnamesdefaultsdocsvaluestypes extensionsoptionssiniadmin.sectionsiniadmin.optionss iniadmin.cs(4spagessetsappends_[1]sOptionsregistrysss_s TracErrorsreqsmethods iteritemsssectionsoptionsnamesoptionssFalsesmodifiedsargssvaluesselfsenvsconfigsgetsTrueslogsdebugssavesredirectshrefsadminscatsadd_stylesheetssorteds hdf_optionss wiki_to_htmlsinspectsgetdocsdocs __class__s__name__slowerstypesdefaultsMarkups hdf_optionsxtnpts extensionssimplssortshdfsNone(sselfsreqscatspages path_infostypes hdf_optionss hdf_optionsoptionssoptions_sdocsmodifiedsvalues_[1]ssssectionsimpl((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysprocess_admin_requestsJ=P  # M?    cCs!dkl}|tdgSdS(N(sresource_filenames templates(s pkg_resourcessresource_filenames__name__(sselfsresource_filename((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysget_templates_dirsGs cCs'dkl}d|tdfgSdS(N(sresource_filenamesiniadminshtdocs(s pkg_resourcessresource_filenames__name__(sselfsresource_filename((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysget_htdocs_dirsKs ( s__name__s __module__s implementssITemplateProvidersIAdminPageProvidersget_admin_pagessprocess_admin_requestsget_templates_dirssget_htdocs_dirs(((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pysIniAdminPlugins    0 (s trac.corestrac.wiki.formatters wiki_to_htmlstrac.web.chromesITemplateProvidersadd_stylesheets trac.utilsescapesMarkupssortedswebadmin.web_uisIAdminPageProvidersinspects trac.configsOptions BoolOptions IntOptions ListOptionsExtensionOptionssetssetssSets ComponentsIniAdminPlugin(s ListOptionsExtensionOptionsOptions IntOptionsadd_stylesheetsinspects wiki_to_htmlsIAdminPageProvidersITemplateProviderssetsescapessortedsIniAdminPluginsMarkups BoolOption((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/iniadmin.pys?s   % PK}4f< < iniadmin/iniadmin.pyfrom trac.core import * from trac.wiki.formatter import wiki_to_html from trac.web.chrome import ITemplateProvider, add_stylesheet from trac.util import escape, Markup, sorted from webadmin.web_ui import IAdminPageProvider import inspect from trac.config import Option, BoolOption, IntOption, ListOption, \ ExtensionOption try: set = set except: from sets import Set as set class IniAdminPlugin(Component): implements(ITemplateProvider, IAdminPageProvider) # IAdminPageProvider methods def get_admin_pages(self, req): if req.perm.has_permission('TRAC_ADMIN'): for section in sorted(set([s for s, _ in Option.registry])): yield ('tracini', 'trac.ini', section, section) def process_admin_request(self, req, cat, page, path_info): assert req.perm.has_permission('TRAC_ADMIN') if page not in set([s for s, _ in Option.registry]): raise TracError("Invalid section %s" % page) # Apply changes if req.method == 'POST': options = [option.name for (section, _), option in Option.registry.iteritems() if section == page] modified = False for option, value in req.args.iteritems(): if option in options: if self.env.config.get(page, option) != value: self.env.config.set(page, option, value) modified = True if modified: self.env.log.debug("Updating trac.ini") self.env.config.save() req.redirect(self.env.href.admin(cat, page)) add_stylesheet(req, 'iniadmin/css/iniadmin.css') options = sorted([option for (section, _), option in Option.registry.iteritems() if section == page], key=lambda a: a.name) hdf_options = [] for option in options: doc = wiki_to_html(inspect.getdoc(option), self.env, req) value = self.env.config.get(page, option.name) # We assume the classes all end in "Option" type = option.__class__.__name__.lower()[:-6] or 'text' hdf_option = {'name': option.name, 'default': option.default, 'doc': Markup(doc), 'value': value, 'type': type} if type == 'extension': options = [] for impl in option.xtnpt.extensions(self): options.append(impl.__class__.__name__) options.sort() hdf_option['options'] = options hdf_options.append(hdf_option) req.hdf['iniadmin.section'] = page req.hdf['iniadmin.options'] = hdf_options return 'iniadmin.cs', None # ITemplateProvider methods def get_templates_dirs(self): from pkg_resources import resource_filename return [resource_filename(__name__, 'templates')] def get_htdocs_dirs(self): from pkg_resources import resource_filename return [('iniadmin', resource_filename(__name__, 'htdocs'))] PKM68昷Jiniadmin/__init__.pyc; KDc@s dkTdS((s*N(siniadmin(((s5build/bdist.darwin-8.0.1-x86/egg/iniadmin/__init__.pys?sPK鉰4;.圃 iniadmin/htdocs/css/iniadmin.csstable.ini { width: 100%; margin-bottom: 1em; } table.ini td { width: 30%; vertical-align: top; padding-right: 0.25em; } .ini input[type="text"] { width: 90%; } .ini div.help { margin-left: 1em; font-size: small; } .ini div.help p { margin: 0.5em; } PK鉰46iniadmin/templates/iniadmin.cs

[]

checked="checked"/> true checked="checked"/> false
PKQ682EGG-INFO/zip-safe PKK68洹)EGG-INFO/SOURCES.txtsetup.py IniAdmin.egg-info/PKG-INFO IniAdmin.egg-info/SOURCES.txt IniAdmin.egg-info/dependency_links.txt IniAdmin.egg-info/entry_points.txt IniAdmin.egg-info/requires.txt IniAdmin.egg-info/top_level.txt iniadmin/__init__.py iniadmin/iniadmin.py PKJ68?岥$$EGG-INFO/entry_points.txt[trac.plugins] iniadmin = iniadmin PKJ682EGG-INFO/dependency_links.txt PKJ689SEGG-INFO/PKG-INFOMetadata-Version: 1.0 Name: IniAdmin Version: 0.1 Summary: Expose all TracIni options using the Trac 0.10 config option API Home-page: http://trac-hacks.org/wiki/IniAdminPlugin Author: Alec Thomas Author-email: UNKNOWN License: BSD Description: UNKNOWN Platform: UNKNOWN PKJ68戸 EGG-INFO/requires.txtTracWebAdminPKJ68阱} EGG-INFO/top_level.txtiniadmin PK鉰𦼣棡))iniadmin/__init__.pyPKO68昷J[iniadmin/__init__.pyoPKN68QP2iniadmin/iniadmin.pycPKO68臟^芑xiniadmin/iniadmin.pyoPK}4f< < f'iniadmin/iniadmin.pyPKM68昷J3iniadmin/__init__.pycPK鉰4;.圃 4iniadmin/htdocs/css/iniadmin.cssPK鉰465iniadmin/templates/iniadmin.csPKQ682:EGG-INFO/zip-safePKK68洹)+;EGG-INFO/SOURCES.txtPKJ68?岥$$R<EGG-INFO/entry_points.txtPKJ682<EGG-INFO/dependency_links.txtPKJ689S<EGG-INFO/PKG-INFOPKJ68戸 '>EGG-INFO/requires.txtPKJ68阱} f>EGG-INFO/top_level.txtPK>