Tue, 28 Aug 2012 17:15:21 +0200
Implemented the required command actions for supporting development of Pyramid projects.
--- a/.hgignore Mon Aug 20 17:54:44 2012 +0200 +++ b/.hgignore Tue Aug 28 17:15:21 2012 +0200 @@ -15,3 +15,4 @@ glob:tmp glob:__pycache__ glob:**.DS_Store +glob:Ui_*.py
--- a/PluginProjectPyramid.py Mon Aug 20 17:54:44 2012 +0200 +++ b/PluginProjectPyramid.py Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,355 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Pyramid project plugin. +""" + +import os +import glob +import fnmatch + +from PyQt4.QtCore import QCoreApplication, QObject, QTranslator +##from PyQt4.QtGui import QApplication + +from E5Gui.E5Application import e5App + +import Preferences + +from Globals import isWindowsPlatform, isMacPlatform + +from Project.ProjectBrowser import SourcesBrowserFlag, FormsBrowserFlag, \ + TranslationsBrowserFlag, OthersBrowserFlag + +from ProjectPyramid.Project import Project + +# Start-of-Header +name = "Pyramid Project Plugin" +author = "Detlev Offenbach <detlev@die-offenbachs.de>" +autoactivate = True +deactivateable = True +version = "0.1.0" +className = "ProjectPyramidPlugin" +packageName = "ProjectPyramid" +shortDescription = "Project support for Pyramid projects." +longDescription = """This plugin implements project support for Pyramid projects.""" +needsRestart = False +pyqtApi = 2 +# End-of-Header + +error = "" + +pyramidPluginObject = None + +def createPyramidPage(configDlg): + """ + Module function to create the Pyramid configuration page. + + @return reference to the configuration page + """ + global pyramidPluginObject + from ProjectPyramid.ConfigurationPage.PyramidPage import PyramidPage + page = PyramidPage(pyramidPluginObject) + return page + +def getConfigData(): + """ + Module function returning data as required by the configuration dialog. + + @return dictionary containing the relevant data + """ + if e5App().getObject("UserInterface").versionIsNewer('5.0.99', '20120101'): + return { + "pyramidPage" : \ + [QCoreApplication.translate("ProjectPyramidPlugin", "Pyramid"), + os.path.join("ProjectPyramid", "icons", + "pyramid.png"), + createPyramidPage, None, None], + } + else: + return {} + +def apiFiles(language): + """ + Module function to return the API files made available by this plugin. + + @return list of API filenames (list of string) + """ + if language in ["Python3", "Python2"]: + apisDir = \ + os.path.join(os.path.dirname(__file__), "ProjectPyramid", "APIs") + apis = glob.glob(os.path.join(apisDir, '*.api')) + else: + apis = [] + return apis + +def prepareUninstall(): + """ + Module function to prepare for an uninstallation. + """ + pyramid = ProjectPyramidPlugin(None) + pyramid.prepareUninstall() + + +class ProjectPyramidPlugin(QObject): + """ + Class implementing the Pyramid project plugin. + """ + lexerAssociations = { + "*.mako": "Pygments|HTML+Mako", + "*.pt": "Pygments|HTML+Genshi", + "*.txt": "Pygments|Genshi", + "*.html": "Pygments|HTML+Genshi", + "*.htm": "Pygments|HTML+Genshi", + } + + def __init__(self, ui): + """ + Constructor + + @param ui reference to the user interface object (UI.UserInterface) + """ + QObject.__init__(self, ui) + self.__ui = ui + self.__initialize() + + # TODO: get rid of the consoles + self.__defaults = { + "VirtualEnvironmentPy2" : "", + "VirtualEnvironmentPy3" : "", + "Python2ConsoleType": "python", + "Python3ConsoleType": "python", + "ServerPort": 0, + "PyramidDocUrl": "http://docs.pylonsproject.org/en/latest/docs/pyramid.html", + } + if isWindowsPlatform(): + self.__defaults["ConsoleCommandNoClose"] = "cmd.exe /k" + self.__defaults["ConsoleCommand"] = "cmd.exe /c" + elif isMacPlatform(): + self.__defaults["ConsoleCommandNoClose"] = "xterm -hold -e" + self.__defaults["ConsoleCommand"] = "xterm -e" + else: + self.__defaults["ConsoleCommandNoClose"] = "konsole --noclose -e" + self.__defaults["ConsoleCommand"] = "konsole -e" + + self.__translator = None + self.__loadTranslator() + + def __initialize(self): + """ + Private slot to (re)initialize the plugin. + """ + self.__object = None + + self.__mainAct = None + self.__mainMenu = None + + self.__e5project = e5App().getObject("Project") + + def __checkVersions(self): + """ + Private function to check that the eric5 version is ok. + + @return flag indicating version is ok (boolean) + """ + global error + + if self.__ui.versionIsNewer('5.0.99', '20120101'): + error = "" + else: + error = self.trUtf8("eric5 version is too old, {0}, {1} or newer needed.")\ + .format("5.1.0", "20120101") + return False + + return True + + def activate(self): + """ + Public method to activate this plugin. + + @return tuple of None and activation status (boolean) + """ + if not self.__checkVersions(): + return None, False + + global pyramidPluginObject + pyramidPluginObject = self + + self.__object = Project(self, self.__ui) + self.__object.initActions() + e5App().registerPluginObject("ProjectPyramid", self.__object) + + self.__mainMenu = self.__object.initMenu() + + self.__e5project.registerProjectType("Pyramid", self.trUtf8("Pyramid"), + self.fileTypesCallback, + lexerAssociationCallback = self.lexerAssociationCallback, + binaryTranslationsCallback = self.binaryTranslationsCallback) + Preferences.setProjectBrowserFlagsDefault("Pyramid", + SourcesBrowserFlag | \ + FormsBrowserFlag | \ + TranslationsBrowserFlag | \ + OthersBrowserFlag, + ) + + if self.__e5project.isOpen(): + self.__projectOpened() + self.__object.projectOpenedHooks() + + e5App().getObject("Project").projectOpened.connect(self.__projectOpened) + e5App().getObject("Project").projectClosed.connect(self.__projectClosed) + e5App().getObject("Project").newProject.connect(self.__projectOpened) + + e5App().getObject("Project").projectOpenedHooks.connect( + self.__object.projectOpenedHooks) + e5App().getObject("Project").projectClosedHooks.connect( + self.__object.projectClosedHooks) + e5App().getObject("Project").newProjectHooks.connect( + self.__object.projectOpenedHooks) + + return None, True + + def deactivate(self): + """ + Public method to deactivate this plugin. + """ + e5App().unregisterPluginObject("ProjectPyramid") + + e5App().getObject("Project").projectOpened.disconnect(self.__projectOpened) + e5App().getObject("Project").projectClosed.disconnect(self.__projectClosed) + e5App().getObject("Project").newProject.disconnect(self.__projectOpened) + + e5App().getObject("Project").projectOpenedHooks.disconnect( + self.__object.projectOpenedHooks) + e5App().getObject("Project").projectClosedHooks.disconnect( + self.__object.projectClosedHooks) + e5App().getObject("Project").newProjectHooks.disconnect( + self.__object.projectOpenedHooks) + + self.__e5project.unregisterProjectType("Pyramid") + + self.__object.projectClosedHooks() + self.__projectClosed() + + self.__initialize() + + def __loadTranslator(self): + """ + Private method to load the translation file. + """ + if self.__ui is not None: + loc = self.__ui.getLocale() + if loc and loc != "C": + locale_dir = \ + os.path.join(os.path.dirname(__file__), "ProjectPyramid", "i18n") + translation = "pyramid_%s" % loc + translator = QTranslator(None) + loaded = translator.load(translation, locale_dir) + if loaded: + self.__translator = translator + e5App().installTranslator(self.__translator) + else: + print("Warning: translation file '{0}' could not be loaded.".format( + translation)) + print("Using default.") + + def __projectOpened(self): + """ + Private slot to handle the projectOpened signal. + """ + if self.__e5project.getProjectType() == "Pyramid": + projectAct = self.__ui.getMenuBarAction("project") + actions = self.__ui.menuBar().actions() + insertAct = actions[actions.index(projectAct) + 1] + self.__mainAct = self.__ui.menuBar().insertMenu(insertAct, self.__mainMenu) + + def __projectClosed(self): + """ + Private slot to handle the projectClosed signal. + """ + if self.__mainAct is not None: + self.__ui.menuBar().removeAction(self.__mainAct) + self.__mainAct = None + self.__object.projectClosed() + + def fileTypesCallback(self): + """ + Public method get the filetype associations of the Pyramid project type. + + @return dictionary with file type associations + """ + if self.__e5project.getProjectType() == "Pyramid": + fileTypes = { + "*.mako": "FORMS", + "*.mak": "FORMS", + "*.pt": "FORMS", + "*.html": "FORMS", + "*.htm": "FORMS", + "*.js": "SOURCES", + "*.pot": "TRANSLATIONS", + "*.po": "TRANSLATIONS", + "*.mo": "TRANSLATIONS", + } + else: + fileTypes = {} + return fileTypes + + def lexerAssociationCallback(self, filename): + """ + Public method to get the lexer association of the Pyramid project type for + a file. + + @param filename name of the file (string) + @return name of the lexer (string) (Pygments lexers are prefixed with 'Pygments|') + """ + for pattern, language in self.lexerAssociations.items(): + if fnmatch.fnmatch(filename, pattern): + return language + + return "" + + def binaryTranslationsCallback(self, filename): + """ + Public method to determine the filename of a compiled translation file + given the translation source file. + + @param filename name of the translation source file (string) + @return name of the binary translation file (string) + """ + if filename.endswith(".po"): + filename = filename.replace(".po", ".mo") + return filename + + def getPreferences(self, key): + """ + Public method to retrieve the various settings. + + @param key the key of the value to get + @param prefClass preferences class used as the storage area + @return the requested setting + """ + if key == "ServerPort": + return int(Preferences.Prefs.settings.value("Pyramid/" + key, + self.__defaults[key])) + else: + return Preferences.Prefs.settings.value("Pyramid/" + key, + self.__defaults[key]) + + def setPreferences(self, key, value): + """ + Public method to store the various settings. + + @param key the key of the setting to be set (string) + @param value the value to be set + @param prefClass preferences class used as the storage area + """ + Preferences.Prefs.settings.setValue("Pyramid/" + key, value) + + def prepareUninstall(self): + """ + Public method to prepare for an uninstallation. + """ + Preferences.removeProjectBrowserFlags("Pyramid") + Preferences.Prefs.settings.remove("Pyramid")
--- a/PluginPyramid.e4p Mon Aug 20 17:54:44 2012 +0200 +++ b/PluginPyramid.e4p Tue Aug 28 17:15:21 2012 +0200 @@ -10,17 +10,53 @@ <Version>0.1</Version> <Author>Detlev Offenbach</Author> <Email>detlev@die-offenbachs.de</Email> + <TranslationPattern>ProjectPyramid/i18n/pyramid_%language%.ts</TranslationPattern> <Eol index="1"/> <Sources> <Source>__init__.py</Source> <Source>PluginProjectPyramid.py</Source> + <Source>ProjectPyramid/__init__.py</Source> + <Source>ProjectPyramid/ConfigurationPage/__init__.py</Source> + <Source>ProjectPyramid/ConfigurationPage/Ui_PyramidPage.py</Source> + <Source>ProjectPyramid/ConfigurationPage/PyramidPage.py</Source> + <Source>ProjectPyramid/Project.py</Source> + <Source>ProjectPyramid/FormSelectionDialog.py</Source> + <Source>ProjectPyramid/CreateParametersDialog.py</Source> + <Source>ProjectPyramid/PyramidDialog.py</Source> + <Source>ProjectPyramid/DistributionTypeSelectionDialog.py</Source> </Sources> - <Forms/> - <Translations/> + <Forms> + <Form>ProjectPyramid/ConfigurationPage/PyramidPage.ui</Form> + <Form>ProjectPyramid/FormSelectionDialog.ui</Form> + <Form>ProjectPyramid/CreateParametersDialog.ui</Form> + <Form>ProjectPyramid/PyramidDialog.ui</Form> + <Form>ProjectPyramid/DistributionTypeSelectionDialog.ui</Form> + </Forms> + <Translations> + <Translation>ProjectPyramid/i18n/pyramid_de.ts</Translation> + <Translation>ProjectPyramid/i18n/pyramid_de.qm</Translation> + </Translations> <Resources/> <Interfaces/> <Others> <Other>.hgignore</Other> + <Other>ProjectPyramid/APIs/Chameleon-2.9.2.api</Other> + <Other>ProjectPyramid/APIs/Chameleon-2.9.2.bas</Other> + <Other>ProjectPyramid/APIs/Mako-0.7.2.api</Other> + <Other>ProjectPyramid/APIs/Mako-0.7.bas</Other> + <Other>ProjectPyramid/APIs/MarkupSafe-0.15.api</Other> + <Other>ProjectPyramid/APIs/MarkupSafe-0.bas</Other> + <Other>ProjectPyramid/APIs/PasteDeploy-1.5.0.api</Other> + <Other>ProjectPyramid/APIs/PasteDeploy-1.5.bas</Other> + <Other>ProjectPyramid/APIs/Pyramid-1.3.3.api</Other> + <Other>ProjectPyramid/APIs/Pyramid-1.3.bas</Other> + <Other>ProjectPyramid/APIs/Translationstring-1.1.api</Other> + <Other>ProjectPyramid/APIs/Translationstring-1.bas</Other> + <Other>ProjectPyramid/APIs/Venusian-1.0a6.api</Other> + <Other>ProjectPyramid/APIs/Venusian-1.bas</Other> + <Other>ProjectPyramid/APIs/WebOb-1.2.2.api</Other> + <Other>ProjectPyramid/APIs/WebOb-1.2.bas</Other> + <Other>ProjectPyramid/icons/pyramid.png</Other> </Others> <MainScript>PluginProjectPyramid.py</MainScript> <Vcs> @@ -140,5 +176,6 @@ <FiletypeAssociation pattern="*.ts" type="TRANSLATIONS"/> <FiletypeAssociation pattern="*.ui" type="FORMS"/> <FiletypeAssociation pattern="*.ui.h" type="FORMS"/> + <FiletypeAssociation pattern="Ui_*.py" type="__IGNORE__"/> </FiletypeAssociations> </Project>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Chameleon-2.9.2.api Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,588 @@ +ast24.AST._attributes?8 +ast24.AST._fields?8 +ast24.AST?1(*args, **kwargs) +ast24.ExceptHandler._fields?8 +ast24.NodeVisitor.generic_visit?4(node) +ast24.NodeVisitor.visit?4(node) +ast24._fix?5(node, lineno, col_offset) +ast24.fix_missing_locations?4(node) +ast24.iter_child_nodes?4(node) +ast24.iter_fields?4(node) +ast24.walk?4(node) +astutil.ASTCodeGenerator._change_indent?5(delta) +astutil.ASTCodeGenerator._f?5(node) +astutil.ASTCodeGenerator._new_line?5() +astutil.ASTCodeGenerator._process_slice?5() +astutil.ASTCodeGenerator._write?5(s) +astutil.ASTCodeGenerator.binary_operators?7 +astutil.ASTCodeGenerator.bool_operators?7 +astutil.ASTCodeGenerator.comparison_operators?7 +astutil.ASTCodeGenerator.flush?4() +astutil.ASTCodeGenerator.unary_operators?7 +astutil.ASTCodeGenerator.visit?4(node) +astutil.ASTCodeGenerator.visit_Assert?4(node) +astutil.ASTCodeGenerator.visit_Assign?4(node) +astutil.ASTCodeGenerator.visit_Attribute?4(node) +astutil.ASTCodeGenerator.visit_AugAssign?4(node) +astutil.ASTCodeGenerator.visit_BinOp?4(node) +astutil.ASTCodeGenerator.visit_BoolOp?4(node) +astutil.ASTCodeGenerator.visit_Break?4(node) +astutil.ASTCodeGenerator.visit_Call?4(node) +astutil.ASTCodeGenerator.visit_ClassDef?4(node) +astutil.ASTCodeGenerator.visit_Compare?4(node) +astutil.ASTCodeGenerator.visit_Continue?4(node) +astutil.ASTCodeGenerator.visit_Delete?4(node) +astutil.ASTCodeGenerator.visit_Dict?4(node) +astutil.ASTCodeGenerator.visit_ExceptHandler?4(node) +astutil.ASTCodeGenerator.visit_Exec?4(node) +astutil.ASTCodeGenerator.visit_Expr?4(node) +astutil.ASTCodeGenerator.visit_Expression?4(node) +astutil.ASTCodeGenerator.visit_For?4(node) +astutil.ASTCodeGenerator.visit_FunctionDef?4(node) +astutil.ASTCodeGenerator.visit_GeneratorExp?4(node) +astutil.ASTCodeGenerator.visit_Global?4(node) +astutil.ASTCodeGenerator.visit_If?4(node) +astutil.ASTCodeGenerator.visit_IfExp?4(node) +astutil.ASTCodeGenerator.visit_Import?4(node) +astutil.ASTCodeGenerator.visit_ImportFrom?4(node) +astutil.ASTCodeGenerator.visit_Interactive?7 +astutil.ASTCodeGenerator.visit_Lambda?4(node) +astutil.ASTCodeGenerator.visit_List?4(node) +astutil.ASTCodeGenerator.visit_ListComp?4(node) +astutil.ASTCodeGenerator.visit_Module?4(node) +astutil.ASTCodeGenerator.visit_Name?4(node) +astutil.ASTCodeGenerator.visit_Num?4(node) +astutil.ASTCodeGenerator.visit_Pass?4(node) +astutil.ASTCodeGenerator.visit_Print?4(node) +astutil.ASTCodeGenerator.visit_Raise?4(node) +astutil.ASTCodeGenerator.visit_Repr?4(node) +astutil.ASTCodeGenerator.visit_Return?4(node) +astutil.ASTCodeGenerator.visit_Set?4(node) +astutil.ASTCodeGenerator.visit_Str?4(node) +astutil.ASTCodeGenerator.visit_Subscript?4(node) +astutil.ASTCodeGenerator.visit_Suite?7 +astutil.ASTCodeGenerator.visit_Try?4(node) +astutil.ASTCodeGenerator.visit_TryExcept?4(node) +astutil.ASTCodeGenerator.visit_TryFinally?4(node) +astutil.ASTCodeGenerator.visit_Tuple?4(node) +astutil.ASTCodeGenerator.visit_UnaryOp?4(node) +astutil.ASTCodeGenerator.visit_While?4(node) +astutil.ASTCodeGenerator.visit_With?4(node) +astutil.ASTCodeGenerator.visit_Yield?4(node) +astutil.ASTCodeGenerator.visit_alias?4(node) +astutil.ASTCodeGenerator.visit_arg?4(node) +astutil.ASTCodeGenerator.visit_arguments?4(node) +astutil.ASTCodeGenerator.visit_excepthandler?7 +astutil.ASTCodeGenerator.with_parens?4() +astutil.ASTCodeGenerator?1(tree) +astutil.AnnotationAwareVisitor.apply_transform?4(node) +astutil.AnnotationAwareVisitor.visit?4(node) +astutil.Builtin._fields?8 +astutil.Builtin.ctx?7 +astutil.Comment._fields?8 +astutil.Comment.space?7 +astutil.Comment.stmt?7 +astutil.ItemLookupOnAttributeErrorVisitor.visit_Attribute?4(node) +astutil.ItemLookupOnAttributeErrorVisitor?1(transform) +astutil.NameLookupRewriteVisitor.visit_FunctionDef?4(node) +astutil.NameLookupRewriteVisitor.visit_Lambda?4(node) +astutil.NameLookupRewriteVisitor.visit_Name?4(node) +astutil.NameLookupRewriteVisitor.visit_alias?4(node) +astutil.NameLookupRewriteVisitor?1(transform) +astutil.Node._fields?8 +astutil.Node?1(*args, **kwargs) +astutil.Static._fields?8 +astutil.Static.name?7 +astutil.Symbol._fields?8 +astutil.annotated?4(value) +astutil.copy?4(source, target) +astutil.delete?4(name) +astutil.load?4(name) +astutil.marker?4(name) +astutil.node_annotations?7 +astutil.param?4(name) +astutil.parse?4(source, mode='eval') +astutil.store?4(name) +astutil.subscript?4(name, value, ctx) +astutil.swap?4(root, replacement, name) +astutil.walk_names?4(target, mode) +benchmark.BIGTABLE_ZPT?7 +benchmark.Benchmarks._chameleon?5(**kwargs) +benchmark.Benchmarks._getContext?5(contexts=None, **kwcontexts) +benchmark.Benchmarks._pt_getEngineContext?5() +benchmark.Benchmarks._zope?5() +benchmark.Benchmarks.chameleon_cook_and_render?4() +benchmark.Benchmarks.setUp?4() +benchmark.Benchmarks.table?7 +benchmark.Benchmarks.test_bigtable?4() +benchmark.Benchmarks.test_compilation?4() +benchmark.Benchmarks.test_hello_world?4() +benchmark.Benchmarks.test_i18n?4() +benchmark.Benchmarks.test_many_strings?4() +benchmark.Benchmarks.zope_cook_and_render?4() +benchmark.END?7 +benchmark.HELLO_WORLD_ZPT?7 +benchmark.I18N_ZPT?7 +benchmark.MANY_STRINGS_ZPT?7 +benchmark.START?7 +benchmark.TAG?7 +benchmark.ZopeI18NContext.translate?4(msgid, domain=None, context=None, mapping=None, default=None) +benchmark.benchmark?4(title) +benchmark.bigtable_python_stream?4(table=None, renderer=None) +benchmark.bigtable_python_stream_with_filter?4(table=None, renderer=None) +benchmark.bigtable_python_tokens?4(table=None, renderer=None) +benchmark.decorator?4(f) +benchmark.re_amp?7 +benchmark.start?4() +benchmark.stream_output?4(stream) +benchmark.timing?4(func, *args, **kwargs) +benchmark.uppercase_filter?4(stream) +benchmark.wrapper?4(*args) +benchmark.yield_stream?4(table=None) +benchmark.yield_tokens?4(table=None) +benchmark.yield_tokens_dict_version?4(**kwargs) +codegen.TemplateCodeGenerator.define?4(name, node) +codegen.TemplateCodeGenerator.names?7 +codegen.TemplateCodeGenerator.require?4(value) +codegen.TemplateCodeGenerator.visit?4(node) +codegen.TemplateCodeGenerator.visit_Builtin?4(node) +codegen.TemplateCodeGenerator.visit_Comment?4(node) +codegen.TemplateCodeGenerator.visit_Module?4(node) +codegen.TemplateCodeGenerator.visit_Static?4(node) +codegen.TemplateCodeGenerator.visit_Symbol?4(node) +codegen.TemplateCodeGenerator?1(tree) +codegen.Visitor.expr?7 +codegen.Visitor.visit_Name?4(node) +codegen.reverse_builtin_map?7 +codegen.template?4(function, mode='exec', **kw) +codegen.wrapper?4(*vargs, **kwargs) +compiler.COMPILER_INTERNALS_OR_DISALLOWED?7 +compiler.Compiler._enter_assignment?5(names) +compiler.Compiler._get_translation_identifiers?5(name) +compiler.Compiler._leave_assignment?5(names) +compiler.Compiler.defaults?7 +compiler.Compiler.exceptions?7 +compiler.Compiler.global_builtins?7 +compiler.Compiler.lock?7 +compiler.Compiler.visit?4(node) +compiler.Compiler.visit_Alias?4(node) +compiler.Compiler.visit_Assignment?4(node) +compiler.Compiler.visit_Attribute?4(node) +compiler.Compiler.visit_Cache?4(node) +compiler.Compiler.visit_CodeBlock?4(node) +compiler.Compiler.visit_Condition?4(node) +compiler.Compiler.visit_Content?4(node) +compiler.Compiler.visit_Context?4(node) +compiler.Compiler.visit_Define?4(node) +compiler.Compiler.visit_DefineSlot?4(node) +compiler.Compiler.visit_Domain?4(node) +compiler.Compiler.visit_Element?4(node) +compiler.Compiler.visit_End?4(node) +compiler.Compiler.visit_Interpolation?4(node) +compiler.Compiler.visit_Macro?4(node) +compiler.Compiler.visit_MacroProgram?4(node) +compiler.Compiler.visit_Module?4(node) +compiler.Compiler.visit_Name?4(node) +compiler.Compiler.visit_Omit?4(node) +compiler.Compiler.visit_OnError?4(node) +compiler.Compiler.visit_Repeat?4(node) +compiler.Compiler.visit_Sequence?4(node) +compiler.Compiler.visit_Start?4(node) +compiler.Compiler.visit_Text?4(node) +compiler.Compiler.visit_Translate?4(node) +compiler.Compiler.visit_UseExternalMacro?4(node) +compiler.Compiler.visit_UseInternalMacro?4(node) +compiler.Compiler?1(engine_factory, node, builtins={}, strict=True) +compiler.ExpressionCompiler.assign_bool?4(target, s) +compiler.ExpressionCompiler.assign_text?4(target) +compiler.ExpressionCompiler.assign_value?4(target) +compiler.ExpressionCompiler?1(compiler, engine) +compiler.ExpressionEngine._convert_bool?5(target, s) +compiler.ExpressionEngine._convert_text?5(target) +compiler.ExpressionEngine.compiler?4(engine, result_type=None, *args) +compiler.ExpressionEngine.get_compiler?4(expression, string) +compiler.ExpressionEngine.parse?4(string) +compiler.ExpressionEngine.supported_char_escape_set?7 +compiler.ExpressionEngine?1(parser, char_escape=(), default=None, default_marker=None) +compiler.ExpressionEvaluator?1(engine, builtins) +compiler.ExpressionTransform.loads_symbol?7 +compiler.ExpressionTransform.translate?4(expression, target) +compiler.ExpressionTransform.visit_Boolean?4(node, target) +compiler.ExpressionTransform.visit_Builtin?4(node, target) +compiler.ExpressionTransform.visit_Default?4(node, target) +compiler.ExpressionTransform.visit_Equality?4(node, target) +compiler.ExpressionTransform.visit_Identity?4(node, target) +compiler.ExpressionTransform.visit_Interpolation?4(node, target) +compiler.ExpressionTransform.visit_Negate?4(node, target) +compiler.ExpressionTransform.visit_Static?4(node, target) +compiler.ExpressionTransform.visit_Substitution?4(node, target) +compiler.ExpressionTransform.visit_Translate?4(node, target) +compiler.ExpressionTransform.visit_Value?4(node, target) +compiler.ExpressionTransform?1(engine_factory, cache, visitor, strict=True) +compiler.Interpolator.braces_optional_regex?7 +compiler.Interpolator.braces_required_regex?7 +compiler.Interpolator?1(expression, braces_required, translate=False) +compiler.NameTransform?1(builtins, aliases, internals) +compiler.RE_MANGLE?7 +compiler.RE_NAME?7 +compiler.emit_bool?4(target, s, default_marker=None, default=None) +compiler.emit_convert?4(target, encoded=byte_string, str=unicode_string, long=long, type=type, default_marker=None, default=None) +compiler.emit_convert_and_escape?4(target, quote=None, quote_entity=None, str=unicode_string, long=long, type=type, encoded=byte_string, default_marker=None, default=None) +compiler.emit_node?4(node) +compiler.emit_node_if_non_trivial?4(node) +compiler.emit_translate?4(target, msgid, default=None) +compiler.identifier?4(prefix, suffix=None) +compiler.load_econtext?4(name) +compiler.log?7 +compiler.mangle?4(string) +compiler.set_error?4(token, exception) +compiler.store_econtext?4(name) +compiler.store_rcontext?4(name) +compiler.try_except_wrap?4(stmts, token) +config.AUTO_RELOAD?7 +config.DEBUG_MODE?7 +config.EAGER_PARSING?7 +config.SOURCE_EXPRESSION_MARKER_LENGTH?7 +config.TRUE?7 +config.log?7 +config.path?7 +exc.ExceptionFormatter?1(errors, econtext, rcontext) +exc.TemplateError?1(msg, token) +exc.compute_source_marker?4(line, column, expression, size) +exc.ellipsify?4(string, limit) +exc.reconstruct_exc?4(cls, state) +i18n.NAME_RE?7 +i18n.WHITELIST?7 +i18n._interp_regex?8 +i18n.fast_translate?4(msgid, domain=None, mapping=None, context=None, target_language=None, default=None) +i18n.parse_attributes?4(attrs, xml=True) +i18n.replace?4(match) +interfaces.ITALESIterator.Letter?4() +interfaces.ITALESIterator.Roman?4() +interfaces.ITALESIterator.end?4() +interfaces.ITALESIterator.even?4() +interfaces.ITALESIterator.index?4() +interfaces.ITALESIterator.item?4() +interfaces.ITALESIterator.length?4() +interfaces.ITALESIterator.letter?4() +interfaces.ITALESIterator.number?4() +interfaces.ITALESIterator.odd?4() +interfaces.ITALESIterator.parity?4() +interfaces.ITALESIterator.roman?4() +interfaces.ITALESIterator.start?4() +interfaces.ITALExpressionErrorInfo.lineno?7 +interfaces.ITALExpressionErrorInfo.offset?7 +interfaces.ITALExpressionErrorInfo.type?7 +interfaces.ITALExpressionErrorInfo.value?7 +interfaces.ITALIterator.next?4() +loader.TemplateLoader.default_extension?7 +loader._load?5(self, base, filename) +loader.abspath_from_asset_spec?4(spec) +loader.abspath_from_asset_spec?4(spec, f=abspath_from_asset_spec) +loader.bind?4(self, cls) +loader.build?4(self, source, filename) +loader.cache?4(func) +loader.get?4(self, filename) +loader.get?4(self, name) +loader.load?4(self, *args, **kwargs) +loader.load?4(self, spec, cls=None) +loader.log?7 +metal.WHITELIST?7 +namespaces.I18N_NS?7 +namespaces.METAL_NS?7 +namespaces.META_NS?7 +namespaces.PY_NS?7 +namespaces.TAL_NS?7 +namespaces.XHTML_NS?7 +namespaces.XI_NS?7 +namespaces.XMLNS_NS?7 +namespaces.XML_NS?7 +nodes.Alias.local?7 +nodes.Assignment._fields?8 +nodes.Attribute._fields?8 +nodes.Boolean._fields?8 +nodes.Cache._fields?8 +nodes.CodeBlock._fields?8 +nodes.Condition._fields?8 +nodes.Content._fields?8 +nodes.Context._fields?8 +nodes.Default._fields?8 +nodes.Define._fields?8 +nodes.DefineSlot._fields?8 +nodes.Domain._fields?8 +nodes.Element._fields?8 +nodes.End._fields?8 +nodes.Equality._fields?8 +nodes.FillSlot._fields?8 +nodes.Identity._fields?8 +nodes.Interpolation._fields?8 +nodes.Macro._fields?8 +nodes.Module._fields?8 +nodes.Name._fields?8 +nodes.Negate._fields?8 +nodes.OnError._fields?8 +nodes.Program._fields?8 +nodes.Repeat._fields?8 +nodes.Sequence._fields?8 +nodes.Start._fields?8 +nodes.Substitution._fields?8 +nodes.Substitution.default?7 +nodes.Text._fields?8 +nodes.Translate._fields?8 +nodes.UseExternalMacro._fields?8 +nodes.UseInternalMacro._fields?8 +nodes.Value._fields?8 +parser.ElementParser.parse?4(token) +parser.ElementParser.visit_cdata?4(kind, token) +parser.ElementParser.visit_comment?4(kind, token) +parser.ElementParser.visit_default?4(kind, token) +parser.ElementParser.visit_empty_tag?4(kind, token) +parser.ElementParser.visit_end_tag?4(kind, token) +parser.ElementParser.visit_processing_instruction?4(kind, token) +parser.ElementParser.visit_start_tag?4(kind, token) +parser.ElementParser.visit_text?4(kind, token) +parser.ElementParser?1(stream, default_namespaces) +parser.groupdict?4(m, token) +parser.groups?4(m, token) +parser.identify?4(string) +parser.log?7 +parser.match_cdata?7 +parser.match_comment?7 +parser.match_declaration?7 +parser.match_processing_instruction?7 +parser.match_single_attribute?7 +parser.match_tag?4(token, regex=match_tag_prefix_and_name) +parser.match_tag_prefix_and_name?7 +parser.match_xml_declaration?7 +parser.parse_tag?4(token, namespace) +parser.substitute?4(regex, repl, token) +parser.unpack_attributes?4(attributes, namespace, default) +parser.update_namespace?4(attributes, namespace) +program.ElementProgram.DEFAULT_NAMESPACES?7 +program.ElementProgram.tokenizers?7 +program.ElementProgram.visit?4(kind, args) +program.ElementProgram?1(source, mode="xml", filename=None) +py25.exec_?4(code, globs=None, locs=None) +py25.lookup_attr?4(obj, key) +py25.next?4(iter) +py26.lookup_attr?4(obj, key) +tal.ATTR_RE?7 +tal.DEFINE_RE?7 +tal.ENTITY_RE?7 +tal.ErrorInfo?1(err, position=(None, None)) +tal.NAME?7 +tal.RepeatDict?1(d) +tal.RepeatItem.Letter?4() +tal.RepeatItem.Roman?4(rnvalues=( + (1000, 'M'), (900, 'CM'), (500, 'D'), (400, 'CD'), (100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I'))) +tal.RepeatItem._letter?5(base=ord('a'), radix=26) +tal.RepeatItem.end?4() +tal.RepeatItem.even?4() +tal.RepeatItem.index?4() +tal.RepeatItem.letter?7 +tal.RepeatItem.next?4() +tal.RepeatItem.number?4() +tal.RepeatItem.odd?4() +tal.RepeatItem.roman?4() +tal.RepeatItem.start?4() +tal.RepeatItem?1(iterator, length) +tal.SUBST_RE?7 +tal.WHITELIST?7 +tal.parse_attributes?4(clause) +tal.parse_defines?4(clause) +tal.parse_substitution?4(clause) +tal.prepare_attributes?4(attrs, dyn_attributes, i18n_attributes, ns_attributes, drop_ns) +tal.split_parts?4(arg) +tales.ExistsExpr.exceptions?7 +tales.ExistsExpr?1(expression) +tales.ExpressionParser?1(factories, default) +tales.IdentityExpr?1(expression) +tales.ImportExpr.re_dotted?7 +tales.ImportExpr?1(expression) +tales.NotExpr?1(expression) +tales.PathExpr.translate?4(expression, target) +tales.ProxyExpr?1(name, *args) +tales.PythonExpr.parse?4(string) +tales.PythonExpr.transform?7 +tales.PythonExpr.translate?4(expression, target) +tales.SimpleCompiler._assign_value_and_coerce?5(target, builtin) +tales.SimpleCompiler.assign_text?4(target) +tales.SimpleCompiler.assign_value?4(target) +tales.SimpleCompiler?1(compiler, engine) +tales.SimpleEngine.expression?7 +tales.SimpleEngine.parse?4(string) +tales.SimpleEngine?1(expression=None) +tales.StringExpr?1(expression, braces_required=False) +tales.StructureExpr.wrapper_class?7 +tales.StructureExpr?1(expression) +tales.TalesExpr.exceptions?7 +tales.TalesExpr.translate?4(expression, target) +tales.TalesExpr?1(expression) +tales.match_prefix?7 +tales.re_continuation?7 +tales.resolve_global?4(value) +tales.split_parts?7 +tales.test?4(expression, engine=None, **env) +tales.transform_attribute?4(node) +template.BaseTemplate._compile?5(program, builtins) +template.BaseTemplate._cook?5(body, digest, builtins) +template.BaseTemplate._cooked?8 +template.BaseTemplate._digest?5(body) +template.BaseTemplate._get_module_name?5(digest) +template.BaseTemplate._make?5(body, builtins) +template.BaseTemplate.builtins?7 +template.BaseTemplate.cook?4(body) +template.BaseTemplate.cook_check?4() +template.BaseTemplate.debug?7 +template.BaseTemplate.default_encoding?7 +template.BaseTemplate.engine?7 +template.BaseTemplate.extra_builtins?7 +template.BaseTemplate.filename?7 +template.BaseTemplate.keep_body?4() +template.BaseTemplate.keep_source?4() +template.BaseTemplate.loader?7 +template.BaseTemplate.output_stream_factory?7 +template.BaseTemplate.parse?4(body) +template.BaseTemplate.render?4(**__kw) +template.BaseTemplate.strict?7 +template.BaseTemplate.write?4(body) +template.BaseTemplate?1(body=None, **config) +template.BaseTemplateFile._get_filename?5() +template.BaseTemplateFile._get_module_name?5(digest) +template.BaseTemplateFile._set_filename?5(filename) +template.BaseTemplateFile.auto_reload?7 +template.BaseTemplateFile.cook_check?4() +template.BaseTemplateFile.filename?7 +template.BaseTemplateFile.mtime?4() +template.BaseTemplateFile.read?4() +template.BaseTemplateFile?1(filename, auto_reload=None, **config) +template._make_module_loader?5() +template.log?7 +template.pkg_digest?7 +tokenize.Token.location?4() +tokenize.Token.lstrip?4(*args) +tokenize.Token.replace?4(*args) +tokenize.Token.rstrip?4(*args) +tokenize.Token.split?4(*args) +tokenize.Token.strip?4(*args) +tokenize.a?7 +tokenize.collector?7 +tokenize.iter_text?4(body, filename=None) +tokenize.iter_xml?4(body, filename=None) +tokenize.re_markup_only_spe?7 +tokenize.re_xml_spe?7 +tokenize.recollector.add?4(name, reg) +tokenize.recollector?1() +utils.ASTProxy.aliases?7 +utils.ASTProxy.byte_string?7 +utils.ASTProxy.chr?7 +utils.ASTProxy.decode_string?7 +utils.ASTProxy.encode_string?7 +utils.ASTProxy.native_string?7 +utils.ASTProxy.raise_with_traceback?4(tb) +utils.ASTProxy.safe_native?4(encoding='utf-8') +utils.ASTProxy.string_type?7 +utils.ASTProxy.unicode_string?7 +utils.DebuggingOutputStream.append?4(value) +utils.ListDictProxy.get?4(key) +utils.ListDictProxy?1(l) +utils.RE_ENCODING?7 +utils.RE_META?7 +utils.Scope.copy?4() +utils.Scope.set_local?7 +utils.Scope.vars?4() +utils._concat?8 +utils._has_encoding?5(encoding) +utils._resolve_dotted?5(name, module=None) +utils._xml_decl?8 +utils._xml_prefixes?8 +utils.ast?7 +utils.char2entity?4(c) +utils.create_formatted_exception?4(exc, cls, formatter) +utils.decode_htmlentities?4(string) +utils.descriptorint?1(function) +utils.descriptorstr?1(function) +utils.detect_encoding?4(body, default_encoding) +utils.entity_re?7 +utils.format_kwargs?4(kwargs) +utils.join?4(stream) +utils.limit_string?4(s, max_length=53) +utils.log?7 +utils.mangle?4(filename) +utils.module_cache?7 +utils.read_bytes?4(body, default_encoding) +utils.read_encoded?4(data) +utils.read_xml_encoding?4(body) +utils.resolve_dotted?4(dotted) +utils.substitute_entity?4(match, n2cp=htmlentitydefs.name2codepoint) +utils.text_?4(s, encoding='latin-1', errors='strict') +utils.unescape?4(string) +utils.version?7 +utils.xml_prefixes?7 +zpt.loader.TemplateLoader.default_format?7 +zpt.loader.TemplateLoader.formats?7 +zpt.loader.TemplateLoader.load?4(filename, format=None) +zpt.loader.TemplateLoader?1(*args, **kwargs) +zpt.program.MacroProgram.DEFAULT_NAMESPACES?7 +zpt.program.MacroProgram.DROP_NS?7 +zpt.program.MacroProgram.VARIABLE_BLACKLIST?7 +zpt.program.MacroProgram._check_attributes?5(namespace, ns) +zpt.program.MacroProgram._create_attributes_nodes?5(prepared, I18N_ATTRIBUTES) +zpt.program.MacroProgram._create_static_attributes?5(prepared) +zpt.program.MacroProgram._interpolation_enabled?8 +zpt.program.MacroProgram._last?8 +zpt.program.MacroProgram._make_content_node?5(expression, default, key, translate) +zpt.program.MacroProgram._maybe_trim?5(string) +zpt.program.MacroProgram._pop_defaults?5(kwargs, *attributes) +zpt.program.MacroProgram._whitespace?8 +zpt.program.MacroProgram.boolean_attributes?7 +zpt.program.MacroProgram.default_marker?7 +zpt.program.MacroProgram.escape?7 +zpt.program.MacroProgram.implicit_i18n_attributes?7 +zpt.program.MacroProgram.implicit_i18n_translate?7 +zpt.program.MacroProgram.macros?4() +zpt.program.MacroProgram.name?7 +zpt.program.MacroProgram.trim_attribute_space?7 +zpt.program.MacroProgram.visit_cdata?4(node) +zpt.program.MacroProgram.visit_comment?4(node) +zpt.program.MacroProgram.visit_default?4(node) +zpt.program.MacroProgram.visit_element?4(start, end, children) +zpt.program.MacroProgram.visit_processing_instruction?4(node) +zpt.program.MacroProgram.visit_start_tag?4(start) +zpt.program.MacroProgram.visit_text?4(node) +zpt.program.MacroProgram?1(*args, **kwargs) +zpt.program.missing?7 +zpt.program.re_trim?7 +zpt.program.skip?4(node) +zpt.program.validate_attributes?4(attributes, namespace, whitelist) +zpt.program.wrap?4(node, *wrappers) +zpt.template.Macro?1(render) +zpt.template.Macros.names?4() +zpt.template.Macros?1(template) +zpt.template.PageTemplate._builtins?5() +zpt.template.PageTemplate.boolean_attributes?7 +zpt.template.PageTemplate.builtins?4() +zpt.template.PageTemplate.decode?4() +zpt.template.PageTemplate.default_expression?7 +zpt.template.PageTemplate.encoding?7 +zpt.template.PageTemplate.engine?4() +zpt.template.PageTemplate.expression_parser?4() +zpt.template.PageTemplate.expression_types?7 +zpt.template.PageTemplate.implicit_i18n_attributes?7 +zpt.template.PageTemplate.implicit_i18n_translate?7 +zpt.template.PageTemplate.include?4(*args, **kwargs) +zpt.template.PageTemplate.literal_false?7 +zpt.template.PageTemplate.mode?7 +zpt.template.PageTemplate.parse?4(body) +zpt.template.PageTemplate.render?4(encoding=None, translate=None, **vars) +zpt.template.PageTemplate.translate?4(**kwargs) +zpt.template.PageTemplate.translate?7 +zpt.template.PageTemplate.trim_attribute_space?7 +zpt.template.PageTemplate?1(body, **config) +zpt.template.PageTemplateFile._builtins?5() +zpt.template.PageTemplateFile.expression_types?7 +zpt.template.PageTemplateFile.prepend_relative_search_path?7 +zpt.template.PageTemplateFile?1(filename, search_path=None, loader_class=TemplateLoader, **config) +zpt.template.PageTextTemplate.mode?7 +zpt.template.PageTextTemplateFile.mode?7 +zpt.template.PageTextTemplateFile.render?4(**vars)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Chameleon-2.9.2.bas Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,72 @@ +Alias Assignment +AnnotationAwareVisitor ast.NodeVisitor +Assignment Node +Attribute Node +BaseTemplateFile BaseTemplate +Benchmarks unittest.TestCase +Boolean Value +Builtin Node +Cache Node +CodeBlock Node +Comment Node +CompilationError TemplateError +Condition Node +Content Node +Context Node +DebuggingOutputStream list +Default Node +Define Node +DefineSlot Node +Domain Node +Element Node +End Node +Equality Node +ExceptHandler AST +ExpressionError LanguageError +FillSlot Node +ITALESIterator ITALIterator +ITALExpressionErrorInfo Interface +ITALIterator Interface +Identity Node +Interpolation Text +ItemLookupOnAttributeErrorVisitor AnnotationAwareVisitor +LanguageError CompilationError +Macro Node +MacroProgram ElementProgram +Markup unicode_string +Module Node +Name Node +NameLookupRewriteVisitor AnnotationAwareVisitor +Negate Node +OnError Node +PageTemplate BaseTemplate +PageTemplateFile BaseTemplateFile PageTemplate +PageTextTemplate PageTemplate +PageTextTemplateFile PageTemplateFile +ParseError TemplateError +PathExpr TalesExpr +Program Node +ProxyExpr StringExpr +PythonExpr TalesExpr +Repeat Assignment +RepeatDict dict +Scope dict +Sequence Node +Start Node +Static Node +Substitution Value +Symbol Node +TemplateCodeGenerator ASTCodeGenerator +TemplateError Exception +TemplateLoader BaseLoader +Text Node +Token str +Translate Node +TranslationError TemplateError +UseExternalMacro Node +UseInternalMacro Node +Value Node +Visitor ast.NodeVisitor +ZopeI18NContext Context +callableint int +callablestr str
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Mako-0.7.2.api Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,565 @@ +_ast_util.ALL_SYMBOLS?7 +_ast_util.BINOP_SYMBOLS?7 +_ast_util.BOOLOP_SYMBOLS?7 +_ast_util.CMPOP_SYMBOLS?7 +_ast_util.NodeTransformer.generic_visit?4(node) +_ast_util.NodeVisitor.generic_visit?4(node) +_ast_util.NodeVisitor.get_visitor?4(node) +_ast_util.NodeVisitor.visit?4(node) +_ast_util.SourceGenerator.body?4(statements) +_ast_util.SourceGenerator.body_or_else?4(node) +_ast_util.SourceGenerator.decorators?4(node) +_ast_util.SourceGenerator.generator_visit?4(right) +_ast_util.SourceGenerator.newline?4(n=1) +_ast_util.SourceGenerator.paren_or_comma?4() +_ast_util.SourceGenerator.sequence_visit?4(right) +_ast_util.SourceGenerator.signature?4(node) +_ast_util.SourceGenerator.visit?4(node) +_ast_util.SourceGenerator.visit_Assign?4(node) +_ast_util.SourceGenerator.visit_Attribute?4(node) +_ast_util.SourceGenerator.visit_AugAssign?4(node) +_ast_util.SourceGenerator.visit_BinOp?4(node) +_ast_util.SourceGenerator.visit_BoolOp?4(node) +_ast_util.SourceGenerator.visit_Break?4(node) +_ast_util.SourceGenerator.visit_Bytes?4(node) +_ast_util.SourceGenerator.visit_Call?4(node) +_ast_util.SourceGenerator.visit_ClassDef?4(node) +_ast_util.SourceGenerator.visit_Compare?4(node) +_ast_util.SourceGenerator.visit_Continue?4(node) +_ast_util.SourceGenerator.visit_Delete?4(node) +_ast_util.SourceGenerator.visit_Dict?4(node) +_ast_util.SourceGenerator.visit_DictComp?4(node) +_ast_util.SourceGenerator.visit_Ellipsis?4(node) +_ast_util.SourceGenerator.visit_Expr?4(node) +_ast_util.SourceGenerator.visit_ExtSlice?4(node) +_ast_util.SourceGenerator.visit_For?4(node) +_ast_util.SourceGenerator.visit_FunctionDef?4(node) +_ast_util.SourceGenerator.visit_GeneratorExp?7 +_ast_util.SourceGenerator.visit_Global?4(node) +_ast_util.SourceGenerator.visit_If?4(node) +_ast_util.SourceGenerator.visit_IfExp?4(node) +_ast_util.SourceGenerator.visit_Import?4(node) +_ast_util.SourceGenerator.visit_ImportFrom?4(node) +_ast_util.SourceGenerator.visit_Lambda?4(node) +_ast_util.SourceGenerator.visit_List?7 +_ast_util.SourceGenerator.visit_ListComp?7 +_ast_util.SourceGenerator.visit_Name?4(node) +_ast_util.SourceGenerator.visit_Nonlocal?4(node) +_ast_util.SourceGenerator.visit_Num?4(node) +_ast_util.SourceGenerator.visit_Pass?4(node) +_ast_util.SourceGenerator.visit_Print?4(node) +_ast_util.SourceGenerator.visit_Raise?4(node) +_ast_util.SourceGenerator.visit_Repr?4(node) +_ast_util.SourceGenerator.visit_Return?4(node) +_ast_util.SourceGenerator.visit_Set?7 +_ast_util.SourceGenerator.visit_SetComp?7 +_ast_util.SourceGenerator.visit_Slice?4(node) +_ast_util.SourceGenerator.visit_Starred?4(node) +_ast_util.SourceGenerator.visit_Str?4(node) +_ast_util.SourceGenerator.visit_Subscript?4(node) +_ast_util.SourceGenerator.visit_TryExcept?4(node) +_ast_util.SourceGenerator.visit_TryFinally?4(node) +_ast_util.SourceGenerator.visit_Tuple?4(node) +_ast_util.SourceGenerator.visit_UnaryOp?4(node) +_ast_util.SourceGenerator.visit_While?4(node) +_ast_util.SourceGenerator.visit_With?4(node) +_ast_util.SourceGenerator.visit_Yield?4(node) +_ast_util.SourceGenerator.visit_alias?4(node) +_ast_util.SourceGenerator.visit_comprehension?4(node) +_ast_util.SourceGenerator.visit_excepthandler?4(node) +_ast_util.SourceGenerator.write?4(x) +_ast_util.SourceGenerator.write_comma?4() +_ast_util.SourceGenerator?1(indent_with) +_ast_util.UNARYOP_SYMBOLS?7 +_ast_util._fix?5(node, lineno, col_offset) +_ast_util._format?5(node) +_ast_util.copy_location?4(new_node, old_node) +_ast_util.dump?4(node) +_ast_util.fix_missing_locations?4(node) +_ast_util.get_child_nodes?4(node) +_ast_util.get_compile_mode?4(node) +_ast_util.get_docstring?4(node) +_ast_util.get_fields?4(node) +_ast_util.increment_lineno?4(node, n=1) +_ast_util.iter_child_nodes?4(node) +_ast_util.iter_fields?4(node) +_ast_util.parse?4(expr, filename='<unknown>', mode='exec') +_ast_util.to_source?4(node, indent_with=' ' * 4) +_ast_util.walk?4(node) +ast.ArgumentList?1(code, **exception_kwargs) +ast.FunctionArgs?1(code, **kwargs) +ast.FunctionDecl.get_argument_expressions?4(include_defaults=True) +ast.FunctionDecl?1(code, allow_kwargs=True, **exception_kwargs) +ast.PythonCode?1(code, **exception_kwargs) +ast.PythonFragment?1(code, **exception_kwargs) +cache.Cache._ctx_get_or_create?5(key, creation_function, context, **kw) +cache.Cache._get_cache_kw?5(kw, context) +cache.Cache._load_impl?5(name) +cache.Cache.get?4(key, **kw) +cache.Cache.get_or_create?4(key, creation_function, **kw) +cache.Cache.id?7 +cache.Cache.impl?7 +cache.Cache.invalidate?4(key, **kw) +cache.Cache.invalidate_body?4() +cache.Cache.invalidate_closure?4(name) +cache.Cache.invalidate_def?4(name) +cache.Cache.put?7 +cache.Cache.set?4(key, value, **kw) +cache.Cache.starttime?7 +cache.Cache?1(template, *args) +cache.CacheImpl.get?4(key, **kw) +cache.CacheImpl.get_or_create?4(key, creation_function, **kw) +cache.CacheImpl.invalidate?4(key, **kw) +cache.CacheImpl.pass_context?7 +cache.CacheImpl.set?4(key, value, **kw) +cache.CacheImpl?1(cache) +cache._cache_plugins?8 +cache.register_plugin?7 +codegen.DefVisitor.visitBlockTag?4(node) +codegen.DefVisitor.visitDefOrBase?4(node) +codegen.DefVisitor.visitDefTag?4(node) +codegen.FindTopLevel.buf?7 +codegen.FindTopLevel.impcode?7 +codegen.FindTopLevel.module_ident?7 +codegen.FindTopLevel.visitCode?4(node) +codegen.FindTopLevel.visitInheritTag?4(node) +codegen.FindTopLevel.visitNamespaceTag?4(node) +codegen.FindTopLevel.visitPageTag?4(node) +codegen.LoopVariable._loop_reference_detected?5(node) +codegen.LoopVariable.visitCode?4(node) +codegen.LoopVariable.visitControlLine?4(node) +codegen.LoopVariable.visitExpression?4(node) +codegen.LoopVariable?1() +codegen.MAGIC_NUMBER?7 +codegen.NSDefVisitor.visitBlockTag?4(node) +codegen.NSDefVisitor.visitDefOrBase?4(node) +codegen.NSDefVisitor.visitDefTag?4(node) +codegen.RESERVED_NAMES?7 +codegen._CompileContext?2(uri, filename, default_filters, buffer_filters, imports, source_encoding, generate_magic_comment, disable_unicode, strict_undefined, enable_loop, reserved_names) +codegen._FOR_LOOP?8 +codegen._GenerateRenderMethod.create_filter_callable?4(args, target, is_expression) +codegen._GenerateRenderMethod.identifiers?4() +codegen._GenerateRenderMethod.locate_encode?4() +codegen._GenerateRenderMethod.visitBlockTag?4(node) +codegen._GenerateRenderMethod.visitCallNamespaceTag?4(node) +codegen._GenerateRenderMethod.visitCallTag?4(node) +codegen._GenerateRenderMethod.visitCode?4(node) +codegen._GenerateRenderMethod.visitControlLine?4(node) +codegen._GenerateRenderMethod.visitDefTag?4(node) +codegen._GenerateRenderMethod.visitExpression?4(node) +codegen._GenerateRenderMethod.visitIncludeTag?4(node) +codegen._GenerateRenderMethod.visitNamespaceTag?4(node) +codegen._GenerateRenderMethod.visitText?4(node) +codegen._GenerateRenderMethod.visitTextTag?4(node) +codegen._GenerateRenderMethod.write_cache_decorator?4(node_or_pagetag, name, args, buffered, identifiers, inline=False, toplevel=False) +codegen._GenerateRenderMethod.write_def_decl?4(node, identifiers) +codegen._GenerateRenderMethod.write_def_finish?4(node, buffered, filtered, cached, callstack=True) +codegen._GenerateRenderMethod.write_inherit?4(node) +codegen._GenerateRenderMethod.write_inline_def?4(node, identifiers, nested) +codegen._GenerateRenderMethod.write_module_code?4(module_code) +codegen._GenerateRenderMethod.write_namespaces?4(namespaces) +codegen._GenerateRenderMethod.write_render_callable?4(node, name, args, buffered, filtered, cached) +codegen._GenerateRenderMethod.write_source_comment?4(node) +codegen._GenerateRenderMethod.write_toplevel?4() +codegen._GenerateRenderMethod.write_variable_declares?4(identifiers, toplevel=False, limit=None) +codegen._GenerateRenderMethod?2(printer, compiler, node) +codegen._Identifiers._check_name_exists?5(collection, node) +codegen._Identifiers.add_declared?4(ident) +codegen._Identifiers.branch?4(node, **kwargs) +codegen._Identifiers.check_declared?4(node) +codegen._Identifiers.defs?4() +codegen._Identifiers.visitBlockTag?4(node) +codegen._Identifiers.visitCallNamespaceTag?4(node) +codegen._Identifiers.visitCallTag?4(node) +codegen._Identifiers.visitCode?4(node) +codegen._Identifiers.visitControlLine?4(node) +codegen._Identifiers.visitDefTag?4(node) +codegen._Identifiers.visitExpression?4(node) +codegen._Identifiers.visitIncludeTag?4(node) +codegen._Identifiers.visitNamespaceTag?4(node) +codegen._Identifiers.visitPageTag?4(node) +codegen._Identifiers?2(compiler, node=None, parent=None, nested=False) +codegen.compile?4(node, uri, filename=None, default_filters=None, buffer_filters=None, imports=None, source_encoding=None, generate_magic_comment=True, disable_unicode=False, strict_undefined=False, enable_loop=True, reserved_names=()) +codegen.mangle_mako_loop?4(node, printer) +exceptions.CompileException?1(message, source, lineno, pos, filename) +exceptions.RichTraceback._get_reformatted_records?5(records) +exceptions.RichTraceback._init?5(trcback) +exceptions.RichTraceback._init_message?5() +exceptions.RichTraceback.errorname?4() +exceptions.RichTraceback.reverse_records?4() +exceptions.RichTraceback.reverse_traceback?4() +exceptions.RichTraceback.traceback?4() +exceptions.RichTraceback?1(error=None, traceback=None) +exceptions.SyntaxException?1(message, source, lineno, pos, filename) +exceptions._format_filepos?5(lineno, pos, filename) +exceptions.html_error_template?4() +exceptions.syntax_highlight?4(filename='', language=None) +exceptions.text_error_template?4(lookup=None) +ext.autohandler._file_exists?5(lookup, path) +ext.autohandler.autohandler?4(template, context, name='autohandler') +ext.babelplugin._split_comment?5(lineno, comment) +ext.babelplugin.extract?4(fileobj, keywords, comment_tags, options) +ext.babelplugin.extract_nodes?4(nodes, keywords, comment_tags, options) +ext.beaker_cache.BeakerCacheImpl._get_cache?5(**kw) +ext.beaker_cache.BeakerCacheImpl.get?4(key, **kw) +ext.beaker_cache.BeakerCacheImpl.get_or_create?4(key, creation_function, **kw) +ext.beaker_cache.BeakerCacheImpl.invalidate?4(key, **kw) +ext.beaker_cache.BeakerCacheImpl.put?4(key, value, **kw) +ext.beaker_cache.BeakerCacheImpl?1(cache) +ext.beaker_cache._beaker_cache?8 +ext.preprocessors.convert_comments?4(text) +ext.pygmentplugin.MakoCssLexer.aliases?7 +ext.pygmentplugin.MakoCssLexer.name?7 +ext.pygmentplugin.MakoCssLexer?1(**options) +ext.pygmentplugin.MakoHtmlLexer.aliases?7 +ext.pygmentplugin.MakoHtmlLexer.name?7 +ext.pygmentplugin.MakoHtmlLexer?1(**options) +ext.pygmentplugin.MakoJavascriptLexer.aliases?7 +ext.pygmentplugin.MakoJavascriptLexer.name?7 +ext.pygmentplugin.MakoJavascriptLexer?1(**options) +ext.pygmentplugin.MakoLexer.aliases?7 +ext.pygmentplugin.MakoLexer.filenames?7 +ext.pygmentplugin.MakoLexer.name?7 +ext.pygmentplugin.MakoLexer.tokens?7 +ext.pygmentplugin.MakoXmlLexer.aliases?7 +ext.pygmentplugin.MakoXmlLexer.name?7 +ext.pygmentplugin.MakoXmlLexer?1(**options) +ext.pygmentplugin.pygments_html_formatter?7 +ext.pygmentplugin.syntax_highlight?4(filename='', language=None) +ext.turbogears.TGPlugin.load_template?4(templatename, template_string=None) +ext.turbogears.TGPlugin.render?4(info, format="html", fragment=False, template=None) +ext.turbogears.TGPlugin?1(extra_vars_func=None, options=None, extension='mak') +filters.DEFAULT_ESCAPES?7 +filters.Decode.decode?4() +filters.NON_UNICODE_ESCAPES?7 +filters.XMLEntityEscaper.escape?4(text) +filters.XMLEntityEscaper.escape_entities?4(text) +filters.XMLEntityEscaper.unescape?4(text) +filters.XMLEntityEscaper?1(codepoint2name, name2codepoint) +filters._ASCII_re?8 +filters._html_entities_escaper?8 +filters.decode?7 +filters.html_entities_escape?7 +filters.html_entities_unescape?7 +filters.htmlentityreplace_errors?4(ex) +filters.is_ascii_str?4(text) +filters.legacy_html_escape?4(string) +filters.trim?4(string) +filters.url_escape?4(string) +filters.url_unescape?4(string) +filters.xml_escape?4(string) +filters.xml_escapes?7 +lexer.Lexer._coding_re?8 +lexer.Lexer.append_node?4(nodecls, *args, **kwargs) +lexer.Lexer.decode_raw_stream?4(text, decode_raw, known_encoding, filename) +lexer.Lexer.exception_kwargs?4() +lexer.Lexer.match?4(regexp, flags=None) +lexer.Lexer.match_comment?4() +lexer.Lexer.match_control_line?4() +lexer.Lexer.match_end?4() +lexer.Lexer.match_expression?4() +lexer.Lexer.match_python_block?4() +lexer.Lexer.match_reg?4(reg) +lexer.Lexer.match_tag_end?4() +lexer.Lexer.match_tag_start?4() +lexer.Lexer.match_text?4() +lexer.Lexer.parse?4() +lexer.Lexer.parse_until_text?4(*text) +lexer.Lexer?1(text, filename=None, disable_unicode=False, input_encoding=None, preprocessor=None) +lexer._regexp_cache?8 +lookup.TemplateCollection.adjust_uri?4(uri, filename) +lookup.TemplateCollection.filename_to_uri?4(uri, filename) +lookup.TemplateCollection.get_template?4(uri, relativeto=None) +lookup.TemplateCollection.has_template?4(uri) +lookup.TemplateLookup._check?5(uri, template) +lookup.TemplateLookup._load?5(filename, uri) +lookup.TemplateLookup._relativeize?5(filename) +lookup.TemplateLookup.adjust_uri?4(uri, relativeto) +lookup.TemplateLookup.filename_to_uri?4(filename) +lookup.TemplateLookup.get_template?4(uri) +lookup.TemplateLookup.put_string?4(uri, text) +lookup.TemplateLookup.put_template?4(uri, template) +lookup.TemplateLookup?1(directories=None, module_directory=None, filesystem_checks=True, collection_size=-1, format_exceptions=False, error_handler=None, disable_unicode=False, bytestring_passthrough=False, output_encoding=None, encoding_errors='strict', cache_args=None, cache_impl='beaker', cache_enabled=True, cache_type=None, cache_dir=None, cache_url=None, modulename_callable=None, module_writer=None, default_filters=None, buffer_filters=(), strict_undefined=False, imports=None, enable_loop=True, input_encoding=None, preprocessor=None) +parsetree.BlockTag.declared_identifiers?4() +parsetree.BlockTag.funcname?4() +parsetree.BlockTag.get_argument_expressions?4(**kw) +parsetree.BlockTag.is_anonymous?4() +parsetree.BlockTag.is_block?7 +parsetree.BlockTag.undeclared_identifiers?4() +parsetree.BlockTag?1(keyword, attributes, **kwargs) +parsetree.CallNamespaceTag.declared_identifiers?4() +parsetree.CallNamespaceTag.undeclared_identifiers?4() +parsetree.CallNamespaceTag?1(namespace, defname, attributes, **kwargs) +parsetree.CallTag.declared_identifiers?4() +parsetree.CallTag.undeclared_identifiers?4() +parsetree.CallTag?1(keyword, attributes, **kwargs) +parsetree.Code.declared_identifiers?4() +parsetree.Code.undeclared_identifiers?4() +parsetree.Code?1(text, ismodule, **kwargs) +parsetree.Comment?1(text, **kwargs) +parsetree.ControlLine.declared_identifiers?4() +parsetree.ControlLine.get_children?4() +parsetree.ControlLine.has_loop_context?7 +parsetree.ControlLine.is_ternary?4(keyword) +parsetree.ControlLine.undeclared_identifiers?4() +parsetree.ControlLine?1(keyword, isend, text, **kwargs) +parsetree.DefTag.declared_identifiers?4() +parsetree.DefTag.funcname?4() +parsetree.DefTag.get_argument_expressions?4(**kw) +parsetree.DefTag.is_anonymous?7 +parsetree.DefTag.is_block?7 +parsetree.DefTag.undeclared_identifiers?4() +parsetree.DefTag?1(keyword, attributes, **kwargs) +parsetree.Expression.declared_identifiers?4() +parsetree.Expression.undeclared_identifiers?4() +parsetree.Expression?1(text, escapes, **kwargs) +parsetree.IncludeTag.declared_identifiers?4() +parsetree.IncludeTag.undeclared_identifiers?4() +parsetree.IncludeTag?1(keyword, attributes, **kwargs) +parsetree.InheritTag?1(keyword, attributes, **kwargs) +parsetree.NamespaceTag.declared_identifiers?4() +parsetree.NamespaceTag?1(keyword, attributes, **kwargs) +parsetree.Node.accept_visitor?4(visitor) +parsetree.Node.exception_kwargs?4() +parsetree.Node.get_children?4() +parsetree.Node.traverse?4() +parsetree.Node?1(source, lineno, pos, filename) +parsetree.PageTag.declared_identifiers?4() +parsetree.PageTag?1(keyword, attributes, **kwargs) +parsetree.Tag._parse_attributes?5(expressions, nonexpressions) +parsetree.Tag.declared_identifiers?4() +parsetree.Tag.get_children?4() +parsetree.Tag.is_root?4() +parsetree.Tag.undeclared_identifiers?4() +parsetree.Tag?1(keyword, attributes, expressions, nonexpressions, required, **kwargs) +parsetree.TemplateNode.get_children?4() +parsetree.TemplateNode?1(filename) +parsetree.Text?1(content, **kwargs) +parsetree.TextTag?1(keyword, attributes, **kwargs) +parsetree._TagMeta._classmap?8 +parsetree._TagMeta?2(clsname, bases, dict) +pygen.PythonPrinter._flush_adjusted_lines?5() +pygen.PythonPrinter._in_multi_line?5(line) +pygen.PythonPrinter._indent_line?5(line, stripspace='') +pygen.PythonPrinter._is_unindentor?5(line) +pygen.PythonPrinter._reset_multi_line_flags?5() +pygen.PythonPrinter.close?4() +pygen.PythonPrinter.write?4(text) +pygen.PythonPrinter.write_indented_block?4(block) +pygen.PythonPrinter.writeline?4(line) +pygen.PythonPrinter.writelines?4(*lines) +pygen.PythonPrinter?1(stream) +pygen._indent_line?5(line, stripspace = '') +pygen.adjust_whitespace?4(text) +pygen.in_multi_line?4(line) +pygen.match?4(reg, t) +pyparser.ExpressionGenerator.value?4() +pyparser.ExpressionGenerator?1(astnode) +pyparser.ExpressionGenerator_1.booleanop?4(op, node, *args) +pyparser.ExpressionGenerator_1.operator?4(op, node, *args) +pyparser.ExpressionGenerator_1.value?4() +pyparser.ExpressionGenerator_1.visitAdd?4(node, *args) +pyparser.ExpressionGenerator_1.visitAnd?4(node, *args) +pyparser.ExpressionGenerator_1.visitAssName?4(node, *args) +pyparser.ExpressionGenerator_1.visitBitand?4(node, *args) +pyparser.ExpressionGenerator_1.visitBitor?4(node, *args) +pyparser.ExpressionGenerator_1.visitBitxor?4(node, *args) +pyparser.ExpressionGenerator_1.visitCallFunc?4(node, *args) +pyparser.ExpressionGenerator_1.visitCompare?4(node) +pyparser.ExpressionGenerator_1.visitConst?4(node, *args) +pyparser.ExpressionGenerator_1.visitDict?4(node) +pyparser.ExpressionGenerator_1.visitDiv?4(node, *args) +pyparser.ExpressionGenerator_1.visitFloorDiv?4(node, *args) +pyparser.ExpressionGenerator_1.visitGetattr?4(node, *args) +pyparser.ExpressionGenerator_1.visitList?4(node) +pyparser.ExpressionGenerator_1.visitListComp?4(node) +pyparser.ExpressionGenerator_1.visitListCompFor?4(node) +pyparser.ExpressionGenerator_1.visitListCompIf?4(node) +pyparser.ExpressionGenerator_1.visitMul?4(node, *args) +pyparser.ExpressionGenerator_1.visitName?4(node, *args) +pyparser.ExpressionGenerator_1.visitNot?4(node, *args) +pyparser.ExpressionGenerator_1.visitOr?4(node, *args) +pyparser.ExpressionGenerator_1.visitSlice?4(node, *args) +pyparser.ExpressionGenerator_1.visitSub?4(node, *args) +pyparser.ExpressionGenerator_1.visitSubscript?4(node, *args) +pyparser.ExpressionGenerator_1.visitTuple?4(node) +pyparser.ExpressionGenerator_1.visitUnaryAdd?4(node, *args) +pyparser.ExpressionGenerator_1.visitUnarySub?4(node, *args) +pyparser.FindIdentifiers._add_declared?5(name) +pyparser.FindIdentifiers._visit_function?5(node, islambda) +pyparser.FindIdentifiers.visit_Assign?4(node) +pyparser.FindIdentifiers.visit_ClassDef?4(node) +pyparser.FindIdentifiers.visit_ExceptHandler?4(node) +pyparser.FindIdentifiers.visit_For?4(node) +pyparser.FindIdentifiers.visit_FunctionDef?4(node) +pyparser.FindIdentifiers.visit_Import?4(node) +pyparser.FindIdentifiers.visit_ImportFrom?4(node) +pyparser.FindIdentifiers.visit_Lambda?4(node, *args) +pyparser.FindIdentifiers.visit_Name?4(node) +pyparser.FindIdentifiers?1(listener, **exception_kwargs) +pyparser.FindIdentifiers_1._add_declared?5(name) +pyparser.FindIdentifiers_1._visit_function?5(node, args) +pyparser.FindIdentifiers_1.visit?4(expr) +pyparser.FindIdentifiers_1.visitAssName?4(node, *args) +pyparser.FindIdentifiers_1.visitAssign?4(node, *args) +pyparser.FindIdentifiers_1.visitClass?4(node, *args) +pyparser.FindIdentifiers_1.visitFor?4(node, *args) +pyparser.FindIdentifiers_1.visitFrom?4(node, *args) +pyparser.FindIdentifiers_1.visitFunction?4(node, *args) +pyparser.FindIdentifiers_1.visitImport?4(node, *args) +pyparser.FindIdentifiers_1.visitLambda?4(node, *args) +pyparser.FindIdentifiers_1.visitName?4(node, *args) +pyparser.FindTuple.visit_Tuple?4(node) +pyparser.FindTuple?1(listener, code_factory, **exception_kwargs) +pyparser.FindTuple_1.visit?4(expr) +pyparser.FindTuple_1.visitTuple?4(node, *args) +pyparser.ParseFunc.visit_FunctionDef?4(node) +pyparser.ParseFunc?1(listener, **exception_kwargs) +pyparser.ParseFunc_1.visit?4(expr) +pyparser.ParseFunc_1.visitFunction?4(node, *args) +pyparser.parse?4(code, mode='exec', **exception_kwargs) +pyparser.walker.dispatch?4(node, *args) +runtime.CallerStack._get_caller?5() +runtime.CallerStack._pop_frame?5() +runtime.CallerStack._push_frame?5() +runtime.CallerStack?1() +runtime.Context._clean_inheritance_tokens?5() +runtime.Context._copy?5() +runtime.Context._pop_buffer?5() +runtime.Context._pop_buffer_and_writer?5() +runtime.Context._push_buffer?5() +runtime.Context._push_writer?5() +runtime.Context._set_with_template?5(t) +runtime.Context.get?4(key, default=None) +runtime.Context.keys?4() +runtime.Context.kwargs?4() +runtime.Context.locals_?4(d) +runtime.Context.lookup?4() +runtime.Context.pop_caller?4() +runtime.Context.push_caller?4(caller) +runtime.Context.write?4(string) +runtime.Context.writer?4() +runtime.Context?1(buffer, **data) +runtime.LoopContext.cycle?4(*values) +runtime.LoopContext.even?4() +runtime.LoopContext.first?4() +runtime.LoopContext.last?4() +runtime.LoopContext.odd?4() +runtime.LoopContext.reverse_index?4() +runtime.LoopContext?1(iterable) +runtime.LoopStack._enter?5(iterable) +runtime.LoopStack._exit?5() +runtime.LoopStack._pop?5() +runtime.LoopStack._push?5(iterable) +runtime.LoopStack._top?5() +runtime.LoopStack?1() +runtime.ModuleNamespace._get_star?5() +runtime.ModuleNamespace.filename?4() +runtime.ModuleNamespace.get?4() +runtime.ModuleNamespace?1(name, context, module, callables=None, inherits=None, populate_self=True, calling_uri=None) +runtime.Namespace._get_star?5() +runtime.Namespace._populate?5(d, l) +runtime.Namespace._templateuri?8 +runtime.Namespace.attr?4() +runtime.Namespace.cache?4() +runtime.Namespace.callables?7 +runtime.Namespace.context?7 +runtime.Namespace.filename?7 +runtime.Namespace.get_cached?4(key, **kwargs) +runtime.Namespace.get_namespace?4(uri) +runtime.Namespace.get_template?4(uri) +runtime.Namespace.include_file?4(uri, **kwargs) +runtime.Namespace.module?7 +runtime.Namespace.template?7 +runtime.Namespace.uri?7 +runtime.Namespace?1(name, context, callables=None, inherits=None, populate_self=True, calling_uri=None) +runtime.TemplateNamespace._get_star?5() +runtime.TemplateNamespace.filename?4() +runtime.TemplateNamespace.get?4() +runtime.TemplateNamespace.module?4() +runtime.TemplateNamespace.uri?4() +runtime.TemplateNamespace?1(name, context, template=None, templateuri=None, callables=None, inherits=None, populate_self=True, calling_uri=None) +runtime.UNDEFINED?7 +runtime._NSAttr?2(parent) +runtime._decorate_inline?5(context, fn) +runtime._decorate_toplevel?5(fn) +runtime._exec_template?5(callable_, context, args=None, kwargs=None) +runtime._include_file?5(context, uri, calling_uri, **kwargs) +runtime._inherit_from?5(context, uri, calling_uri) +runtime._kwargs_for_callable?5(callable_, data) +runtime._kwargs_for_include?5(callable_, data, **kwargs) +runtime._lookup_template?5(context, uri, relativeto) +runtime._populate_self_namespace?5(context, template, self_ns=None) +runtime._render?5(template, callable_, args, data, as_unicode=False) +runtime._render_context?5(tmpl, callable_, context, *args, **kwargs) +runtime._render_error?5(template, context, error) +runtime.capture?4(context, callable_, *args, **kwargs) +runtime.decorate_render?4(render_fn) +runtime.go?4(*args, **kw) +runtime.go?4(context, *args, **kw) +runtime.supports_caller?4(func) +runtime.wrap_stackframe?4(context, *args, **kwargs) +runtime.y?4(*args, **kw) +template.DefTemplate.get_def?4(name) +template.DefTemplate?1(parent, callable_) +template.ModuleInfo._modules?8 +template.ModuleInfo.code?4() +template.ModuleInfo.source?4() +template.ModuleInfo?1(module, module_filename, template, template_filename, module_source, template_source) +template.ModuleTemplate?1(module, module_filename=None, template=None, template_filename=None, module_source=None, template_source=None, output_encoding=None, encoding_errors='strict', disable_unicode=False, bytestring_passthrough=False, format_exceptions=False, error_handler=None, lookup=None, cache_args=None, cache_impl='beaker', cache_enabled=True, cache_type=None, cache_dir=None, cache_url=None, ) +template.Template._compile_from_file?5(path, filename) +template.Template._get_def_callable?5(name) +template.Template._setup_cache_args?5(cache_impl, cache_enabled, cache_args, cache_type, cache_dir, cache_url) +template.Template.cache?4() +template.Template.cache_dir?4() +template.Template.cache_type?4() +template.Template.cache_url?4() +template.Template.code?4() +template.Template.get_def?4(name) +template.Template.has_def?4(name) +template.Template.last_modified?4() +template.Template.render?4(*args, **data) +template.Template.render_context?4(context, *args, **kwargs) +template.Template.render_unicode?4(*args, **data) +template.Template.reserved_names?4() +template.Template.source?4() +template.Template?1(text=None, filename=None, uri=None, format_exceptions=False, error_handler=None, lookup=None, output_encoding=None, encoding_errors='strict', module_directory=None, cache_args=None, cache_impl='beaker', cache_enabled=True, cache_type=None, cache_dir=None, cache_url=None, module_filename=None, input_encoding=None, disable_unicode=False, module_writer=None, bytestring_passthrough=False, default_filters=None, buffer_filters=(), strict_undefined=False, imports=None, enable_loop=True, preprocessor=None) +template._compile?5(template, text, filename, generate_magic_comment) +template._compile_module_file?5(template, text, filename, outputpath, module_writer) +template._compile_text?5(template, text, filename) +template._get_module_info?5(filename) +template._get_module_info_from_callable?5(callable_) +util.FastEncodingBuffer.getvalue?4() +util.FastEncodingBuffer.truncate?4() +util.FastEncodingBuffer?1(encoding=None, errors='strict', str=False) +util.LRUCache._manage_size?5() +util.LRUCache.setdefault?4(key, value) +util.LRUCache.values?4() +util.LRUCache?1(capacity, threshold=.5) +util.SetLikeDict.union?4(other) +util._Item?2(key, value) +util._PYTHON_MAGIC_COMMENT_re?8 +util.all?4(iterable) +util.exception_name?4(exc) +util.function_named?4(fn, name) +util.inspect_func_args?4(fn) +util.jython?7 +util.load?4() +util.load?4(self, name) +util.load_module?4(module_id, path) +util.memoized_instancemethod.oneshot?4(**kw) +util.memoized_instancemethod?1(fget, doc=None) +util.memoized_property?1(fget, doc=None) +util.newfunc?4(*fargs, **fkeywords) +util.parse_encoding?4(fp) +util.partial?4(func, *args, **keywords) +util.py24?7 +util.py26?7 +util.py3k?7 +util.read_file?4(path, mode='rb') +util.register?4(self, name, modulepath, objname) +util.restore__ast?4(_ast) +util.sorted_dict_repr?4(d) +util.to_list?4(x, default=None) +util.verify_directory?4(dir) +util.win32?7
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Mako-0.7.bas Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,47 @@ +BeakerCacheImpl CacheImpl +BlockTag Tag +CallNamespaceTag Tag +CallTag Tag +CallerStack list +Code Node +Comment Node +CompileException MakoException +ControlLine Node +DefTag Tag +DefTemplate Template +Expression Node +FindIdentifiers _ast_util +FindTuple _ast_util +FunctionArgs FunctionDecl +IncludeTag Tag +InheritTag Tag +LRUCache dict +MakoCssLexer DelegatingLexer +MakoException Exception +MakoHtmlLexer DelegatingLexer +MakoJavascriptLexer DelegatingLexer +MakoLexer RegexLexer +MakoXmlLexer DelegatingLexer +ModuleNamespace Namespace +ModuleTemplate Template +NameConflictError MakoException +NamespaceTag Tag +NodeTransformer NodeVisitor +PageTag Tag +ParseFunc _ast_util +PythonFragment PythonCode +RuntimeException MakoException +SetLikeDict dict +SourceGenerator NodeVisitor +SyntaxException MakoException +Tag Node metaclass=_TagMeta +TemplateLookup TemplateCollection +TemplateLookupException MakoException +TemplateNamespace Namespace +TemplateNode Node +Text Node +TextTag Tag +TopLevelLookupException TemplateLookupException +UnsupportedError MakoException +_TagMeta type +walker visitor.ASTVisitor
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/MarkupSafe-0.15.api Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,25 @@ +.Markup.escape?4(s) +.Markup.func?4(*args, **kwargs) +.Markup.handle_match?4() +.Markup.join?4(seq) +.Markup.make_wrapper?4() +.Markup.partition?4(sep) +.Markup.rpartition?4(sep) +.Markup.rsplit?4(*args, **kwargs) +.Markup.split?4(*args, **kwargs) +.Markup.splitlines?4(*args, **kwargs) +.Markup.striptags?4() +.Markup.unescape?4() +._MarkupEscapeHelper?2(obj) +._entity_re?8 +._escape_argspec?5(obj, iterable) +._striptags_re?8 +_constants.HTML_ENTITIES?7 +_native.escape?4(s) +_native.escape_silent?4(s) +_native.soft_unicode?4(s) +tests.MarkupLeakTestCase.test_markup_leaks?4() +tests.MarkupTestCase.test_all_set?4() +tests.MarkupTestCase.test_escape_silent?4() +tests.MarkupTestCase.test_markup_operations?4() +tests.suite?4()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/MarkupSafe-0.bas Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,3 @@ +Markup str +MarkupLeakTestCase unittest.TestCase +MarkupTestCase unittest.TestCase
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/PasteDeploy-1.5.0.api Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,108 @@ +deploy.compat.print_?4(template, *args, **kwargs) +deploy.compat.reraise?4(t, e, tb) +deploy.config.CONFIG?7 +deploy.config.ConfigMiddleware.close_config?4() +deploy.config.ConfigMiddleware?1(application, config) +deploy.config.DispatchingConfig._constructor_lock?8 +deploy.config.DispatchingConfig._pop_from?5(lst, conf) +deploy.config.DispatchingConfig.current_conf?4() +deploy.config.DispatchingConfig.pop_process_config?4(conf=None) +deploy.config.DispatchingConfig.pop_thread_config?4(conf=None) +deploy.config.DispatchingConfig.push_process_config?4(conf) +deploy.config.DispatchingConfig.push_thread_config?4(conf) +deploy.config.DispatchingConfig?1() +deploy.config.PrefixMiddleware?1(app, global_conf=None, prefix='/', translate_forwarded_server=True, force_port=None, scheme=None) +deploy.config.local?7 +deploy.config.local_dict?4() +deploy.config.make_config_filter?4(app, global_conf, **local_conf) +deploy.config.make_config_middleware?7 +deploy.config.make_prefix_middleware?4(app, global_conf, prefix='/', translate_forwarded_server=True, force_port=None, scheme=None) +deploy.config.wsgilib?7 +deploy.converters.asbool?4(obj) +deploy.converters.asint?4(obj) +deploy.converters.aslist?4(obj, sep=None, strip=True) +deploy.loadwsgi.APP?7 +deploy.loadwsgi.ConfigLoader._context_from_explicit?5(object_type, local_conf, global_conf, global_addition, section) +deploy.loadwsgi.ConfigLoader._context_from_use?5(object_type, local_conf, global_conf, global_additions, section) +deploy.loadwsgi.ConfigLoader._filter_app_context?5(object_type, section, name, global_conf, local_conf, global_additions) +deploy.loadwsgi.ConfigLoader._find_sections?5(sections, name_prefix, name) +deploy.loadwsgi.ConfigLoader._pipeline_app_context?5(object_type, section, name, global_conf, local_conf, global_additions) +deploy.loadwsgi.ConfigLoader.find_config_section?4(object_type, name=None) +deploy.loadwsgi.ConfigLoader.get_context?4(object_type, name=None, global_conf=None) +deploy.loadwsgi.ConfigLoader.update_defaults?4(new_defaults, overwrite=True) +deploy.loadwsgi.ConfigLoader?1(filename) +deploy.loadwsgi.EggLoader.find_egg_entry_point?4(object_type, name=None) +deploy.loadwsgi.EggLoader.get_context?4(object_type, name=None, global_conf=None) +deploy.loadwsgi.EggLoader?1(spec) +deploy.loadwsgi.FILTER?7 +deploy.loadwsgi.FILTER_APP?7 +deploy.loadwsgi.FILTER_WITH?7 +deploy.loadwsgi.FuncLoader.get_context?4(object_type, name=None, global_conf=None) +deploy.loadwsgi.FuncLoader?1(spec) +deploy.loadwsgi.InterpolateWrapper.before_get?4(parser, section, option, value, defaults) +deploy.loadwsgi.InterpolateWrapper?1(original) +deploy.loadwsgi.LoaderContext.config?4() +deploy.loadwsgi.LoaderContext.create?4() +deploy.loadwsgi.LoaderContext?1(obj, object_type, protocol, global_conf, local_conf, loader, distribution=None, entry_point_name=None) +deploy.loadwsgi.NicerConfigParser._interpolate?5(section, option, rawval, vars) +deploy.loadwsgi.NicerConfigParser.defaults?4() +deploy.loadwsgi.NicerConfigParser.read_file?7 +deploy.loadwsgi.NicerConfigParser?1(filename, *args, **kw) +deploy.loadwsgi.PIPELINE?7 +deploy.loadwsgi.SERVER?7 +deploy.loadwsgi._App.config_prefixes?7 +deploy.loadwsgi._App.egg_protocols?7 +deploy.loadwsgi._App.invoke?4(context) +deploy.loadwsgi._App.name?7 +deploy.loadwsgi._Filter.config_prefixes?7 +deploy.loadwsgi._Filter.egg_protocols?7 +deploy.loadwsgi._Filter.filter_wrapper?4() +deploy.loadwsgi._Filter.invoke?4(context) +deploy.loadwsgi._Filter.name?7 +deploy.loadwsgi._FilterApp.invoke?4(context) +deploy.loadwsgi._FilterApp.name?7 +deploy.loadwsgi._FilterWith.composed?4() +deploy.loadwsgi._FilterWith.invoke?4(context) +deploy.loadwsgi._FilterWith.name?7 +deploy.loadwsgi._Loader._absolute_re?8 +deploy.loadwsgi._Loader.absolute_name?4(name) +deploy.loadwsgi._Loader.app_context?4(name=None, global_conf=None) +deploy.loadwsgi._Loader.filter_context?4(name=None, global_conf=None) +deploy.loadwsgi._Loader.get_app?4(name=None, global_conf=None) +deploy.loadwsgi._Loader.get_filter?4(name=None, global_conf=None) +deploy.loadwsgi._Loader.get_server?4(name=None, global_conf=None) +deploy.loadwsgi._Loader.server_context?4(name=None, global_conf=None) +deploy.loadwsgi._ObjectType.config_prefixes?7 +deploy.loadwsgi._ObjectType.egg_protocols?7 +deploy.loadwsgi._ObjectType.invoke?4(context) +deploy.loadwsgi._ObjectType.name?7 +deploy.loadwsgi._ObjectType?2() +deploy.loadwsgi._PipeLine.invoke?4(context) +deploy.loadwsgi._PipeLine.name?7 +deploy.loadwsgi._Server.config_prefixes?7 +deploy.loadwsgi._Server.egg_protocols?7 +deploy.loadwsgi._Server.invoke?4(context) +deploy.loadwsgi._Server.name?7 +deploy.loadwsgi._Server.server_wrapper?4() +deploy.loadwsgi._aslist?5(obj) +deploy.loadwsgi._flatten?5(lst) +deploy.loadwsgi._loadconfig?5(object_type, uri, path, name, relative_to, global_conf) +deploy.loadwsgi._loadegg?5(object_type, uri, spec, name, relative_to, global_conf) +deploy.loadwsgi._loaders?8 +deploy.loadwsgi._loadfunc?5(object_type, uri, spec, name, relative_to, global_conf) +deploy.loadwsgi.appconfig?4(uri, name=None, relative_to=None, global_conf=None) +deploy.loadwsgi.import_string?4(s) +deploy.loadwsgi.loadapp?4(uri, name=None, **kw) +deploy.loadwsgi.loadcontext?4(object_type, uri, name=None, relative_to=None, global_conf=None) +deploy.loadwsgi.loadfilter?4(uri, name=None, **kw) +deploy.loadwsgi.loadobj?4(object_type, uri, name=None, relative_to=None, global_conf=None) +deploy.loadwsgi.loadserver?4(uri, name=None, **kw) +deploy.paster_templates.PasteDeploy._template_dir?8 +deploy.paster_templates.PasteDeploy.egg_plugins?7 +deploy.paster_templates.PasteDeploy.post?4(command, output_dir, vars) +deploy.paster_templates.PasteDeploy.required_templates?7 +deploy.paster_templates.PasteDeploy.summary?7 +deploy.util._short_repr?5(v) +deploy.util.fix_call?4(callable, *args, **kw) +deploy.util.fix_type_error?4(exc_info, callable, varargs, kwargs) +deploy.util.lookup_object?4(spec)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/PasteDeploy-1.5.bas Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,12 @@ +AttrDict dict +ConfigLoader _Loader +EggLoader _Loader +FuncLoader _Loader +NicerConfigParser ConfigParser +PasteDeploy Template +_App _ObjectType +_Filter _ObjectType +_FilterApp _ObjectType +_FilterWith _App +_PipeLine _ObjectType +_Server _ObjectType
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Pyramid-1.3.3.api Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,1284 @@ +asset.abspath_from_asset_spec?4(spec, pname='__main__') +asset.asset_spec_from_abspath?4(abspath, package) +asset.resolve_asset_spec?4(spec, pname='__main__') +authentication.AuthTicket.cookie_value?4() +authentication.AuthTicket.digest?4() +authentication.AuthTicket?1(secret, userid, ip, tokens=(), user_data='', time=None, cookie_name='auth_tkt', secure=False) +authentication.AuthTktAuthenticationPolicy.forget?4(request) +authentication.AuthTktAuthenticationPolicy.remember?4(request, principal, **kw) +authentication.AuthTktAuthenticationPolicy.unauthenticated_userid?4(request) +authentication.AuthTktAuthenticationPolicy?1(secret, callback=None, cookie_name='auth_tkt', secure=False, include_ip=False, timeout=None, reissue_time=None, max_age=None, path="/", http_only=False, wild_domain=True, debug=False, ) +authentication.AuthTktCookieHelper.AuthTicket?7 +authentication.AuthTktCookieHelper.BadTicket?7 +authentication.AuthTktCookieHelper._get_cookies?5(environ, value, max_age=None) +authentication.AuthTktCookieHelper.forget?4(request) +authentication.AuthTktCookieHelper.identify?4(request) +authentication.AuthTktCookieHelper.now?7 +authentication.AuthTktCookieHelper.parse_ticket?7 +authentication.AuthTktCookieHelper.reissue_authtkt?4(response) +authentication.AuthTktCookieHelper.remember?4(request, userid, max_age=None, tokens=()) +authentication.AuthTktCookieHelper.userid_type_decoders?7 +authentication.AuthTktCookieHelper.userid_type_encoders?7 +authentication.AuthTktCookieHelper?1(secret, cookie_name='auth_tkt', secure=False, include_ip=False, timeout=None, reissue_time=None, max_age=None, http_only=False, path="/", wild_domain=True) +authentication.BadTicket?1(msg, expected=None) +authentication.CallbackAuthenticationPolicy._log?5(msg, methodname, request) +authentication.CallbackAuthenticationPolicy.authenticated_userid?4(request) +authentication.CallbackAuthenticationPolicy.callback?7 +authentication.CallbackAuthenticationPolicy.debug?7 +authentication.CallbackAuthenticationPolicy.effective_principals?4(request) +authentication.EXPIRE?7 +authentication.RemoteUserAuthenticationPolicy.forget?4(request) +authentication.RemoteUserAuthenticationPolicy.remember?4(request, principal, **kw) +authentication.RemoteUserAuthenticationPolicy.unauthenticated_userid?4(request) +authentication.RemoteUserAuthenticationPolicy?1(environ_key='REMOTE_USER', callback=None, debug=False) +authentication.RepozeWho1AuthenticationPolicy._get_identifier?5(request) +authentication.RepozeWho1AuthenticationPolicy._get_identity?5(request) +authentication.RepozeWho1AuthenticationPolicy.authenticated_userid?4(request) +authentication.RepozeWho1AuthenticationPolicy.effective_principals?4(request) +authentication.RepozeWho1AuthenticationPolicy.forget?4(request) +authentication.RepozeWho1AuthenticationPolicy.remember?4(request, principal, **kw) +authentication.RepozeWho1AuthenticationPolicy.unauthenticated_userid?4(request) +authentication.RepozeWho1AuthenticationPolicy?1(identifier_name='auth_tkt', callback=None) +authentication.SessionAuthenticationPolicy.forget?4(request) +authentication.SessionAuthenticationPolicy.remember?4(request, principal, **kw) +authentication.SessionAuthenticationPolicy.unauthenticated_userid?4(request) +authentication.SessionAuthenticationPolicy?1(prefix='auth.', callback=None, debug=False) +authentication.VALID_TOKEN?7 +authentication.b64decode?4(v) +authentication.b64encode?4(v) +authentication.calculate_digest?4(ip, timestamp, secret, userid, tokens, user_data) +authentication.encode_ip_timestamp?4(ip, timestamp) +authentication.parse_ticket?4(secret, ticket, ip) +authorization.ACLAuthorizationPolicy.permits?4(context, principals, permission) +authorization.ACLAuthorizationPolicy.principals_allowed_by_permission?4(context, permission) +chameleon_text.PageTextTemplateFile?1(*arg, **kw) +chameleon_text.TextTemplateRenderer.implementation?4() +chameleon_text.TextTemplateRenderer.template?4() +chameleon_text.TextTemplateRenderer?1(path, lookup) +chameleon_text.get_renderer?4(path) +chameleon_text.get_template?4(path) +chameleon_text.render_template?4(path, **kw) +chameleon_text.render_template_to_response?4(path, **kw) +chameleon_text.renderer_factory?4(info) +chameleon_zpt.PageTemplateFile?1(*arg, **kw) +chameleon_zpt.ZPTTemplateRenderer.implementation?4() +chameleon_zpt.ZPTTemplateRenderer.template?4() +chameleon_zpt.ZPTTemplateRenderer?1(path, lookup) +chameleon_zpt.get_renderer?4(path) +chameleon_zpt.get_template?4(path) +chameleon_zpt.render_template?4(path, **kw) +chameleon_zpt.render_template_to_response?4(path, **kw) +chameleon_zpt.renderer_factory?4(info) +compat.PY3?7 +compat.ascii_native_?4(s) +compat.bytes_?4(s, encoding='latin-1', errors='strict') +compat.decode_path_info?4(path) +compat.exec_?4(code, globs=None, locs=None) +compat.is_bound_method?4(ob) +compat.is_nonstr_iter?4(v) +compat.iteritems_?4(d) +compat.iterkeys_?4(d) +compat.itervalues_?4(d) +compat.map_?4(*arg) +compat.native_?4(s, encoding='latin-1', errors='strict') +compat.reraise?4(tp, value, tb=None) +compat.text_?4(s, encoding='latin-1', errors='strict') +compat.unquote_bytes_to_wsgi?4(bytestring) +compat.url_unquote_native?4(v, encoding='utf-8', errors='replace') +compat.url_unquote_text?4(v, encoding='utf-8', errors='replace') +config.ConfigurationError?7 +config.Configurator._ainfo?8 +config.Configurator._ctx?8 +config.Configurator._del_introspector?5() +config.Configurator._fix_registry?5() +config.Configurator._get_action_state?5() +config.Configurator._get_introspector?5() +config.Configurator._make_spec?5(path_or_spec) +config.Configurator._set_action_state?5(state) +config.Configurator._set_introspector?5(introspector) +config.Configurator._split_spec?5(path_or_spec) +config.Configurator.action?4(discriminator, callable=None, args=(), kw=None, order=0, introspectables=(), **extra) +config.Configurator.action_info?4() +config.Configurator.action_state?7 +config.Configurator.basepath?7 +config.Configurator.bypath?4() +config.Configurator.commit?4() +config.Configurator.conflicts?7 +config.Configurator.include?4(callable, route_prefix=None) +config.Configurator.includepath?7 +config.Configurator.info?7 +config.Configurator.inspect?7 +config.Configurator.introspectable?7 +config.Configurator.introspector?7 +config.Configurator.manager?7 +config.Configurator.notify?4() +config.Configurator.object_description?7 +config.Configurator.output?7 +config.Configurator.queryAdapterOrSelf?4(interface, default=None) +config.Configurator.registerSelfAdapter?4(provided=None, name=empty, info=empty, event=True) +config.Configurator.setup_registry?4(settings=None, root_factory=None, authentication_policy=None, authorization_policy=None, renderers=None, debug_logger=None, locale_negotiator=None, request_factory=None, renderer_globals_factory=None, default_permission=None, session_factory=None, default_view_mapper=None, exceptionresponse_view=default_exceptionresponse_view, ) +config.Configurator.unique?7 +config.Configurator.venusian?7 +config.Configurator?1(registry=None, package=None, settings=None, root_factory=None, authentication_policy=None, authorization_policy=None, renderers=None, debug_logger=None, locale_negotiator=None, request_factory=None, renderer_globals_factory=None, default_permission=None, session_factory=None, default_view_mapper=None, autocommit=False, exceptionresponse_view=default_exceptionresponse_view, route_prefix=None, introspection=True, ) +config._marker?8 +config.adapters.AdaptersConfiguratorMixin._register_response_adapters?5() +config.adapters.AdaptersConfiguratorMixin.add_resource_url_adapter?4(adapter, resource_iface=None) +config.adapters.AdaptersConfiguratorMixin.add_response_adapter?4(adapter, type_or_iface) +config.adapters.AdaptersConfiguratorMixin.add_subscriber?4(subscriber, iface=None) +config.adapters.AdaptersConfiguratorMixin.add_traverser?4(adapter, iface=None) +config.adapters.AdaptersConfiguratorMixin.register?4() +config.assets.AssetsConfiguratorMixin._override?5(package, path, override_package, override_prefix, PackageOverrides=PackageOverrides) +config.assets.AssetsConfiguratorMixin.override_asset?4(to_override, override_with, _override=None) +config.assets.AssetsConfiguratorMixin.override_resource?7 +config.assets.AssetsConfiguratorMixin.register?4() +config.assets.DirectoryOverride?1(path, package, prefix) +config.assets.FileOverride?1(path, package, prefix) +config.assets.OverrideProvider._get_overrides?5() +config.assets.OverrideProvider.get_resource_filename?4(manager, resource_name) +config.assets.OverrideProvider.get_resource_stream?4(manager, resource_name) +config.assets.OverrideProvider.get_resource_string?4(manager, resource_name) +config.assets.OverrideProvider.has_resource?4(resource_name) +config.assets.OverrideProvider.resource_isdir?4(resource_name) +config.assets.OverrideProvider.resource_listdir?4(resource_name) +config.assets.OverrideProvider?1(module) +config.assets.PackageOverrides.get_filename?4(resource_name) +config.assets.PackageOverrides.get_stream?4(resource_name) +config.assets.PackageOverrides.get_string?4(resource_name) +config.assets.PackageOverrides.has_resource?4(resource_name) +config.assets.PackageOverrides.insert?4(path, package, prefix) +config.assets.PackageOverrides.isdir?4(resource_name) +config.assets.PackageOverrides.listdir?4(resource_name) +config.assets.PackageOverrides.search_path?4(resource_name) +config.assets.PackageOverrides?1(package, pkg_resources=pkg_resources) +config.empty?7 +config.expand_action?4(discriminator, callable=None, args=(), kw=None, includepath=(), info=None, order=0, introspectables=()) +config.factories.FactoriesConfiguratorMixin._set_root_factory?8 +config.factories.FactoriesConfiguratorMixin.register?4() +config.factories.FactoriesConfiguratorMixin.set_request_factory?4(factory) +config.factories.FactoriesConfiguratorMixin.set_request_property?4(callable, name=None, reify=False) +config.factories.FactoriesConfiguratorMixin.set_root_factory?4(factory) +config.factories.FactoriesConfiguratorMixin.set_session_factory?4(factory) +config.factories._set_request_properties?5(event) +config.global_registries?7 +config.i18n.I18NConfiguratorMixin._set_locale_negotiator?5(negotiator) +config.i18n.I18NConfiguratorMixin.add_translation_dirs?4(*specs) +config.i18n.I18NConfiguratorMixin.register?4() +config.i18n.I18NConfiguratorMixin.set_locale_negotiator?4(negotiator) +config.i18n.translator?4(msg) +config.rendering.DEFAULT_RENDERERS?7 +config.rendering.RenderingConfiguratorMixin.add_renderer?4(name, factory) +config.rendering.RenderingConfiguratorMixin.register?4() +config.rendering.RenderingConfiguratorMixin.set_renderer_globals_factory?4(factory, warn=True) +config.routes.RoutesConfiguratorMixin._add_view_from_route?5(route_name, view, context, permission, renderer, attr, ) +config.routes.RoutesConfiguratorMixin.add_route?4(name, pattern=None, view=None, view_for=None, permission=None, factory=None, for_=None, header=None, xhr=False, accept=None, path_info=None, request_method=None, request_param=None, traverse=None, custom_predicates=(), view_permission=None, renderer=None, view_renderer=None, view_context=None, view_attr=None, use_global_views=False, path=None, pregenerator=None, static=False, ) +config.routes.RoutesConfiguratorMixin.get_routes_mapper?4() +config.routes.RoutesConfiguratorMixin.register_connect?4() +config.routes.RoutesConfiguratorMixin.register_route_request_iface?4() +config.security.SecurityConfiguratorMixin._set_authentication_policy?5(policy) +config.security.SecurityConfiguratorMixin._set_authorization_policy?5(policy) +config.security.SecurityConfiguratorMixin.ensure?4() +config.security.SecurityConfiguratorMixin.register?4() +config.security.SecurityConfiguratorMixin.set_authentication_policy?4(policy) +config.security.SecurityConfiguratorMixin.set_authorization_policy?4(policy) +config.security.SecurityConfiguratorMixin.set_default_permission?4(permission) +config.settings.Settings?1(d=None, _environ_=os.environ, **kw) +config.settings.SettingsConfiguratorMixin._set_settings?5(mapping) +config.settings.SettingsConfiguratorMixin.add_settings?4(settings=None, **kw) +config.settings.SettingsConfiguratorMixin.get_settings?4() +config.testing.DummyTraverserFactory?1(context) +config.testing.TestingConfiguratorMixin.subscriber?4() +config.testing.TestingConfiguratorMixin.testing_add_renderer?4(path, renderer=None) +config.testing.TestingConfiguratorMixin.testing_add_subscriber?4(event_iface=None) +config.testing.TestingConfiguratorMixin.testing_add_template?7 +config.testing.TestingConfiguratorMixin.testing_models?7 +config.testing.TestingConfiguratorMixin.testing_resources?4(resources) +config.testing.TestingConfiguratorMixin.testing_securitypolicy?4(userid=None, groupids=(), permissive=True) +config.tweens.CyclicDependencyError?1(cycles) +config.tweens.Tweens.add_arc?4(tonode) +config.tweens.Tweens.add_explicit?4(name, factory) +config.tweens.Tweens.add_implicit?4(name, factory, under=None, over=None) +config.tweens.Tweens.add_node?4() +config.tweens.Tweens.implicit?4() +config.tweens.Tweens?1() +config.tweens.TweensConfiguratorMixin._add_tween?5(tween_factory, under=None, over=None, explicit=False) +config.tweens.TweensConfiguratorMixin.add_tween?4(tween_factory, under=None, over=None) +config.tweens.TweensConfiguratorMixin.is_string_or_iterable?4() +config.tweens.TweensConfiguratorMixin.register?4() +config.util.ActionInfo?1(file, line, function, src) +config.util.DEFAULT_PHASH?7 +config.util.MAX_ORDER?7 +config.util.accept_predicate?4(context, request) +config.util.action_method?4(wrapped) +config.util.as_sorted_tuple?4(val) +config.util.containment_predicate?4(context, request) +config.util.header_predicate?4(context, request) +config.util.make_predicates?4(xhr=None, request_method=None, path_info=None, request_param=None, match_param=None, header=None, accept=None, containment=None, request_type=None, traverse=None, custom=()) +config.util.match_param_predicate?4(context, request) +config.util.path_info_predicate?4(context, request) +config.util.request_method_predicate?4(context, request) +config.util.request_param_predicate?4(context, request) +config.util.request_type_predicate?4(context, request) +config.util.traverse_predicate?4(context, request) +config.util.wrapper?4(self, *arg, **kw) +config.util.xhr_predicate?4(context, request) +config.views.DefaultViewMapper._attr_view?5(request) +config.views.DefaultViewMapper._class_requestonly_view?5(request) +config.views.DefaultViewMapper._class_view?5(request) +config.views.DefaultViewMapper._requestonly_view?5(request) +config.views.DefaultViewMapper.map_class?4(view) +config.views.DefaultViewMapper.map_class_native?4(view) +config.views.DefaultViewMapper.map_class_requestonly?4(view) +config.views.DefaultViewMapper.map_nonclass?4(view) +config.views.DefaultViewMapper.map_nonclass_attr?4(view) +config.views.DefaultViewMapper.map_nonclass_requestonly?4(view) +config.views.DefaultViewMapper.mapped_view?4(request) +config.views.DefaultViewMapper?1(**kw) +config.views.MultiView.add?4(view, order, accept=None, phash=None) +config.views.MultiView.get_views?4(request) +config.views.MultiView.match?4(context, request) +config.views.MultiView?1(name) +config.views.StaticURLInfo._get_registrations?5(registry) +config.views.StaticURLInfo.add?4(config, name, spec, **extra) +config.views.StaticURLInfo.generate?4(path, request, **kw) +config.views.StaticURLInfo.register?4() +config.views.ViewDeriver._authdebug_view?5(request) +config.views.ViewDeriver._owrapped_view?5(request) +config.views.ViewDeriver._permitted?5(request) +config.views.ViewDeriver._rendered_view?5(view, view_renderer) +config.views.ViewDeriver._response_resolved_view?5(view) +config.views.ViewDeriver._secured_view?5(request) +config.views.ViewDeriver.attr_view?4(request) +config.views.ViewDeriver.attr_wrapped_view?4(view) +config.views.ViewDeriver.authdebug_view?4(view) +config.views.ViewDeriver.checker?4(request) +config.views.ViewDeriver.decorated_view?4(view) +config.views.ViewDeriver.http_cached_view?4(view) +config.views.ViewDeriver.mapped_view?4(view) +config.views.ViewDeriver.owrapped_view?4(view) +config.views.ViewDeriver.predicate_wrapper?4(request) +config.views.ViewDeriver.predicated_view?4(view) +config.views.ViewDeriver.rendered_view?4(request) +config.views.ViewDeriver.secured_view?4(view) +config.views.ViewDeriver.viewresult_to_response?4(request) +config.views.ViewDeriver.wrapper?4(request) +config.views.ViewDeriver?1(**kw) +config.views.ViewsConfiguratorMixin._derive_view?5(view, permission=None, predicates=(), attr=None, renderer=None, wrapper_viewname=None, viewname=None, accept=None, order=MAX_ORDER, phash=DEFAULT_PHASH, decorator=None, mapper=None, http_cache=None) +config.views.ViewsConfiguratorMixin.add_forbidden_view?4(view=None, attr=None, renderer=None, wrapper=None, route_name=None, request_type=None, request_method=None, request_param=None, containment=None, xhr=None, accept=None, header=None, path_info=None, custom_predicates=(), decorator=None, mapper=None, match_param=None) +config.views.ViewsConfiguratorMixin.add_notfound_view?4(view=None, attr=None, renderer=None, wrapper=None, route_name=None, request_type=None, request_method=None, request_param=None, containment=None, xhr=None, accept=None, header=None, path_info=None, custom_predicates=(), decorator=None, mapper=None, match_param=None, append_slash=False) +config.views.ViewsConfiguratorMixin.add_static_view?4(name, path, **kw) +config.views.ViewsConfiguratorMixin.add_view?4(view=None, name="", for_=None, permission=None, request_type=None, route_name=None, request_method=None, request_param=None, containment=None, attr=None, renderer=None, wrapper=None, xhr=False, accept=None, header=None, path_info=None, custom_predicates=(), context=None, decorator=None, mapper=None, http_cache=None, match_param=None) +config.views.ViewsConfiguratorMixin.derive_view?4(view, attr=None, renderer=None) +config.views.ViewsConfiguratorMixin.regclosure?4() +config.views.ViewsConfiguratorMixin.register?4() +config.views.ViewsConfiguratorMixin.set_forbidden_view?7 +config.views.ViewsConfiguratorMixin.set_notfound_view?7 +config.views.ViewsConfiguratorMixin.set_view_mapper?4(mapper) +config.views.ViewsConfiguratorMixin.view?4(request) +config.views.inner?4(self, view) +config.views.isexception?4(o) +config.views.preserve_view_attrs?4(view, wrapper) +config.views.requestonly?4(view, attr=None) +config.views.url_parse?7 +config.views.urljoin?7 +config.views.view_description?4(view) +config.views.viewdefaults?4(wrapped) +config.views.wrapper?4(self, *arg, **kw) +config.views.wraps_view?4(wrapper) +config.zca.ZCAConfiguratorMixin.hook_zca?4() +config.zca.ZCAConfiguratorMixin.unhook_zca?4() +configuration.ConfigurationError?7 +configuration.Configurator?1(registry=None, package=None, settings=None, root_factory=None, authentication_policy=None, authorization_policy=None, renderers=DEFAULT_RENDERERS, debug_logger=None, locale_negotiator=None, request_factory=None, renderer_globals_factory=None, default_permission=None, session_factory=None, autocommit=True, route_prefix=None, introspection=True, ) +decorator.reify?1(wrapped) +encode._enc?5(val) +encode.url_quote?4(s, safe='') +encode.urlencode?4(query, doseq=True) +events.AfterTraversal?7 +events.ApplicationCreated?1(app) +events.BeforeRender?1(system, rendering_val=None) +events.ContextFound?1(request) +events.NewRequest?1(request) +events.NewResponse?1(request, response) +events.WSGIApplicationCreatedEvent?7 +events.subscriber.register?4(scanner, name, wrapped) +events.subscriber.venusian?7 +events.subscriber?1(*ifaces) +exceptions.CR?7 +exceptions.ConfigurationConflictError?1(conflicts) +exceptions.ConfigurationExecutionError?1(etype, evalue, info) +exceptions.Forbidden?7 +exceptions.NotFound?7 +fixers.fix_bfg_imports.ATTR?7 +fixers.fix_bfg_imports.BFG_INCLUDE_IN_ATTR?7 +fixers.fix_bfg_imports.BFG_IN_ATTR?7 +fixers.fix_bfg_imports.BFG_NS_RE?7 +fixers.fix_bfg_imports.FixBfgImports.build_pattern?4() +fixers.fix_bfg_imports.FixBfgImports.compile_pattern?4() +fixers.fix_bfg_imports.FixBfgImports.mapping?7 +fixers.fix_bfg_imports.FixBfgImports.match?4(node) +fixers.fix_bfg_imports.FixBfgImports.run_order?7 +fixers.fix_bfg_imports.FixBfgImports.start_tree?4(tree, filename) +fixers.fix_bfg_imports.FixBfgImports.transform?4(node, results) +fixers.fix_bfg_imports.INCLUDE_ATTR?7 +fixers.fix_bfg_imports.MAPPING?7 +fixers.fix_bfg_imports.MODULE_ALTERNATIVES?7 +fixers.fix_bfg_imports.MODULE_NAMES?7 +fixers.fix_bfg_imports.NS?7 +fixers.fix_bfg_imports.alternates?4(members) +fixers.fix_bfg_imports.build_pattern?4(mapping=MAPPING) +fixers.fix_bfg_imports.fix_zcml?4(path) +fixers.fix_bfg_imports.main?4(argv=None) +fixers.fix_bfg_imports.replace?4(match) +httpexceptions.HTTPAccepted.code?7 +httpexceptions.HTTPAccepted.explanation?7 +httpexceptions.HTTPAccepted.title?7 +httpexceptions.HTTPBadGateway.code?7 +httpexceptions.HTTPBadGateway.explanation?7 +httpexceptions.HTTPBadGateway.title?7 +httpexceptions.HTTPClientError.code?7 +httpexceptions.HTTPClientError.explanation?7 +httpexceptions.HTTPClientError.title?7 +httpexceptions.HTTPConflict.code?7 +httpexceptions.HTTPConflict.explanation?7 +httpexceptions.HTTPConflict.title?7 +httpexceptions.HTTPCreated.code?7 +httpexceptions.HTTPCreated.title?7 +httpexceptions.HTTPExpectationFailed.code?7 +httpexceptions.HTTPExpectationFailed.explanation?7 +httpexceptions.HTTPExpectationFailed.title?7 +httpexceptions.HTTPFailedDependency.code?7 +httpexceptions.HTTPFailedDependency.explanation?7 +httpexceptions.HTTPFailedDependency.title?7 +httpexceptions.HTTPForbidden.code?7 +httpexceptions.HTTPForbidden.explanation?7 +httpexceptions.HTTPForbidden.title?7 +httpexceptions.HTTPForbidden?1(detail=None, headers=None, comment=None, body_template=None, result=None, **kw) +httpexceptions.HTTPFound.code?7 +httpexceptions.HTTPFound.explanation?7 +httpexceptions.HTTPFound.title?7 +httpexceptions.HTTPGatewayTimeout.code?7 +httpexceptions.HTTPGatewayTimeout.explanation?7 +httpexceptions.HTTPGatewayTimeout.title?7 +httpexceptions.HTTPGone.code?7 +httpexceptions.HTTPGone.explanation?7 +httpexceptions.HTTPGone.title?7 +httpexceptions.HTTPInsufficientStorage.code?7 +httpexceptions.HTTPInsufficientStorage.explanation?7 +httpexceptions.HTTPInsufficientStorage.title?7 +httpexceptions.HTTPLengthRequired.code?7 +httpexceptions.HTTPLengthRequired.explanation?7 +httpexceptions.HTTPLengthRequired.title?7 +httpexceptions.HTTPLocked.code?7 +httpexceptions.HTTPLocked.explanation?7 +httpexceptions.HTTPLocked.title?7 +httpexceptions.HTTPMethodNotAllowed.body_template_obj?7 +httpexceptions.HTTPMethodNotAllowed.code?7 +httpexceptions.HTTPMethodNotAllowed.title?7 +httpexceptions.HTTPMovedPermanently.code?7 +httpexceptions.HTTPMovedPermanently.title?7 +httpexceptions.HTTPMultipleChoices.code?7 +httpexceptions.HTTPMultipleChoices.title?7 +httpexceptions.HTTPNoContent.code?7 +httpexceptions.HTTPNoContent.empty_body?7 +httpexceptions.HTTPNoContent.title?7 +httpexceptions.HTTPNonAuthoritativeInformation.code?7 +httpexceptions.HTTPNonAuthoritativeInformation.title?7 +httpexceptions.HTTPNotAcceptable.code?7 +httpexceptions.HTTPNotAcceptable.title?7 +httpexceptions.HTTPNotFound.code?7 +httpexceptions.HTTPNotFound.explanation?7 +httpexceptions.HTTPNotFound.title?7 +httpexceptions.HTTPNotImplemented.code?7 +httpexceptions.HTTPNotImplemented.title?7 +httpexceptions.HTTPNotModified.code?7 +httpexceptions.HTTPNotModified.empty_body?7 +httpexceptions.HTTPNotModified.title?7 +httpexceptions.HTTPOk.code?7 +httpexceptions.HTTPOk.title?7 +httpexceptions.HTTPPartialContent.code?7 +httpexceptions.HTTPPartialContent.title?7 +httpexceptions.HTTPPaymentRequired.code?7 +httpexceptions.HTTPPaymentRequired.explanation?7 +httpexceptions.HTTPPaymentRequired.title?7 +httpexceptions.HTTPPreconditionFailed.code?7 +httpexceptions.HTTPPreconditionFailed.explanation?7 +httpexceptions.HTTPPreconditionFailed.title?7 +httpexceptions.HTTPProxyAuthenticationRequired.code?7 +httpexceptions.HTTPProxyAuthenticationRequired.explanation?7 +httpexceptions.HTTPProxyAuthenticationRequired.title?7 +httpexceptions.HTTPRequestEntityTooLarge.code?7 +httpexceptions.HTTPRequestEntityTooLarge.explanation?7 +httpexceptions.HTTPRequestEntityTooLarge.title?7 +httpexceptions.HTTPRequestRangeNotSatisfiable.code?7 +httpexceptions.HTTPRequestRangeNotSatisfiable.explanation?7 +httpexceptions.HTTPRequestRangeNotSatisfiable.title?7 +httpexceptions.HTTPRequestTimeout.code?7 +httpexceptions.HTTPRequestTimeout.explanation?7 +httpexceptions.HTTPRequestTimeout.title?7 +httpexceptions.HTTPRequestURITooLong.code?7 +httpexceptions.HTTPRequestURITooLong.explanation?7 +httpexceptions.HTTPRequestURITooLong.title?7 +httpexceptions.HTTPResetContent.code?7 +httpexceptions.HTTPResetContent.empty_body?7 +httpexceptions.HTTPResetContent.title?7 +httpexceptions.HTTPSeeOther.code?7 +httpexceptions.HTTPSeeOther.title?7 +httpexceptions.HTTPServerError.code?7 +httpexceptions.HTTPServerError.explanation?7 +httpexceptions.HTTPServerError.title?7 +httpexceptions.HTTPServiceUnavailable.code?7 +httpexceptions.HTTPServiceUnavailable.explanation?7 +httpexceptions.HTTPServiceUnavailable.title?7 +httpexceptions.HTTPTemporaryRedirect.code?7 +httpexceptions.HTTPTemporaryRedirect.title?7 +httpexceptions.HTTPUnauthorized.code?7 +httpexceptions.HTTPUnauthorized.explanation?7 +httpexceptions.HTTPUnauthorized.title?7 +httpexceptions.HTTPUnprocessableEntity.code?7 +httpexceptions.HTTPUnprocessableEntity.explanation?7 +httpexceptions.HTTPUnprocessableEntity.title?7 +httpexceptions.HTTPUnsupportedMediaType.code?7 +httpexceptions.HTTPUnsupportedMediaType.title?7 +httpexceptions.HTTPUseProxy.code?7 +httpexceptions.HTTPUseProxy.explanation?7 +httpexceptions.HTTPUseProxy.title?7 +httpexceptions.HTTPVersionNotSupported.code?7 +httpexceptions.HTTPVersionNotSupported.explanation?7 +httpexceptions.HTTPVersionNotSupported.title?7 +httpexceptions.WSGIHTTPException.body_template_obj?7 +httpexceptions.WSGIHTTPException.code?7 +httpexceptions.WSGIHTTPException.empty_body?7 +httpexceptions.WSGIHTTPException.exception?7 +httpexceptions.WSGIHTTPException.explanation?7 +httpexceptions.WSGIHTTPException.html_template_obj?7 +httpexceptions.WSGIHTTPException.plain_template_obj?7 +httpexceptions.WSGIHTTPException.prepare?4(environ) +httpexceptions.WSGIHTTPException.title?7 +httpexceptions.WSGIHTTPException.wsgi_response?4() +httpexceptions.WSGIHTTPException?1(detail=None, headers=None, comment=None, body_template=None, **kw) +httpexceptions._HTTPMove.body_template_obj?7 +httpexceptions._HTTPMove.explanation?7 +httpexceptions._HTTPMove?2(location='', detail=None, headers=None, comment=None, body_template=None, **kw) +httpexceptions._no_escape?5(value) +httpexceptions.code?7 +httpexceptions.default_exceptionresponse_view?4(context, request) +httpexceptions.exception_response?4(status_code, **kw) +httpexceptions.status_map?7 +i18n.Localizer.pluralize?4(singular, plural, n, domain=None, mapping=None) +i18n.Localizer.translate?4(tstring, domain=None, mapping=None) +i18n.Localizer?1(locale_name, translations) +i18n.TranslationString?7 +i18n.TranslationStringFactory?7 +i18n.Translations.DEFAULT_DOMAIN?7 +i18n.Translations.add?4(translations, merge=True) +i18n.Translations.dgettext?4(domain, message) +i18n.Translations.dngettext?4(domain, singular, plural, num) +i18n.Translations.dugettext?4(domain, message) +i18n.Translations.dungettext?4(domain, singular, plural, num) +i18n.Translations.ldgettext?4(domain, message) +i18n.Translations.ldngettext?4(domain, singular, plural, num) +i18n.Translations.load?4(dirname=None, locales=None, domain=DEFAULT_DOMAIN) +i18n.Translations.merge?4(translations) +i18n.Translations?1(fileobj=None, domain=DEFAULT_DOMAIN) +i18n.default_locale_negotiator?4(request) +i18n.get_locale_name?4(request) +i18n.get_localizer?4(request) +i18n.make_localizer?4(current_locale_name, translation_directories) +i18n.negotiate_locale_name?4(request) +interfaces.IActionInfo.file?7 +interfaces.IActionInfo.line?7 +interfaces.IAfterTraversal?7 +interfaces.IApplicationCreated.app?7 +interfaces.IAssetDescriptor.abspath?4() +interfaces.IAssetDescriptor.absspec?4() +interfaces.IAssetDescriptor.exists?4() +interfaces.IAssetDescriptor.isdir?4() +interfaces.IAssetDescriptor.listdir?4() +interfaces.IAssetDescriptor.stream?4() +interfaces.IAuthenticationPolicy.authenticated_userid?4() +interfaces.IAuthenticationPolicy.effective_principals?4() +interfaces.IAuthenticationPolicy.forget?4() +interfaces.IAuthenticationPolicy.remember?4(principal, **kw) +interfaces.IAuthenticationPolicy.unauthenticated_userid?4() +interfaces.IAuthorizationPolicy.permits?4(principals, permission) +interfaces.IAuthorizationPolicy.principals_allowed_by_permission?4(permission) +interfaces.IBeforeRender.rendering_val?7 +interfaces.IChameleonLookup.auto_reload?7 +interfaces.IChameleonLookup.debug?7 +interfaces.IChameleonLookup.translate?7 +interfaces.IContextFound.request?7 +interfaces.IContextURL.virtual_root?4() +interfaces.IDict.clear?4() +interfaces.IDict.get?4(default=None) +interfaces.IDict.items?4() +interfaces.IDict.iteritems?4() +interfaces.IDict.iterkeys?4() +interfaces.IDict.itervalues?4() +interfaces.IDict.keys?4() +interfaces.IDict.pop?4(default=None) +interfaces.IDict.popitem?4() +interfaces.IDict.setdefault?4(default=None) +interfaces.IDict.update?4() +interfaces.IDict.values?4() +interfaces.IExceptionResponse.prepare?4() +interfaces.IIntrospectable.action_info?7 +interfaces.IIntrospectable.category_name?7 +interfaces.IIntrospectable.discriminator?7 +interfaces.IIntrospectable.discriminator_hash?7 +interfaces.IIntrospectable.order?7 +interfaces.IIntrospectable.register?4(action_info) +interfaces.IIntrospectable.relate?4(discriminator) +interfaces.IIntrospectable.title?7 +interfaces.IIntrospectable.type_name?7 +interfaces.IIntrospectable.unrelate?4(discriminator) +interfaces.IIntrospector.add?4() +interfaces.IIntrospector.categories?4() +interfaces.IIntrospector.categorized?4() +interfaces.IIntrospector.get?4(discriminator, default=None) +interfaces.IIntrospector.get_category?4(default=None, sort_key=None) +interfaces.IIntrospector.relate?4() +interfaces.IIntrospector.related?4() +interfaces.IIntrospector.remove?4(discriminator) +interfaces.IIntrospector.unrelate?4() +interfaces.ILogger?7 +interfaces.IMultiDict.add?4(value) +interfaces.IMultiDict.dict_of_lists?4() +interfaces.IMultiDict.extend?4(**kwargs) +interfaces.IMultiDict.getall?4() +interfaces.IMultiDict.getone?4() +interfaces.IMultiDict.mixed?4() +interfaces.IMultiView.add?4(predicates, order, accept=None, phash=None) +interfaces.INewRequest.request?7 +interfaces.INewResponse.request?7 +interfaces.INewResponse.response?7 +interfaces.IRendererInfo.name?7 +interfaces.IRendererInfo.package?7 +interfaces.IRendererInfo.registry?7 +interfaces.IRendererInfo.settings?7 +interfaces.IRendererInfo.type?7 +interfaces.IRequestFactory.blank?4() +interfaces.IResourceURL.physical_path?7 +interfaces.IResourceURL.virtual_path?7 +interfaces.IResponse.RequestClass?7 +interfaces.IResponse.accept_ranges?7 +interfaces.IResponse.age?7 +interfaces.IResponse.allow?7 +interfaces.IResponse.app_iter?7 +interfaces.IResponse.app_iter_range?4(stop) +interfaces.IResponse.body?7 +interfaces.IResponse.body_file?7 +interfaces.IResponse.cache_control?7 +interfaces.IResponse.cache_expires?7 +interfaces.IResponse.charset?7 +interfaces.IResponse.conditional_response_app?4(start_response) +interfaces.IResponse.content_disposition?7 +interfaces.IResponse.content_encoding?7 +interfaces.IResponse.content_language?7 +interfaces.IResponse.content_length?7 +interfaces.IResponse.content_location?7 +interfaces.IResponse.content_md5?7 +interfaces.IResponse.content_range?7 +interfaces.IResponse.content_type?7 +interfaces.IResponse.content_type_params?7 +interfaces.IResponse.copy?4() +interfaces.IResponse.date?7 +interfaces.IResponse.delete_cookie?4(path='/', domain=None) +interfaces.IResponse.encode_content?4(lazy=False) +interfaces.IResponse.environ?7 +interfaces.IResponse.etag?7 +interfaces.IResponse.expires?7 +interfaces.IResponse.headerlist?7 +interfaces.IResponse.headers?7 +interfaces.IResponse.last_modified?7 +interfaces.IResponse.location?7 +interfaces.IResponse.md5_etag?4(set_content_md5=False) +interfaces.IResponse.merge_cookies?4() +interfaces.IResponse.pragma?7 +interfaces.IResponse.request?7 +interfaces.IResponse.retry_after?7 +interfaces.IResponse.server?7 +interfaces.IResponse.set_cookie?4(value='', max_age=None, path='/', domain=None, secure=False, httponly=False, comment=None, expires=None, overwrite=False) +interfaces.IResponse.status?7 +interfaces.IResponse.status_int?7 +interfaces.IResponse.unicode_body?7 +interfaces.IResponse.unset_cookie?4(strict=True) +interfaces.IResponse.vary?7 +interfaces.IResponse.www_authenticate?7 +interfaces.IRoute.factory?7 +interfaces.IRoute.generate?4() +interfaces.IRoute.match?4() +interfaces.IRoute.name?7 +interfaces.IRoute.pattern?7 +interfaces.IRoute.predicates?7 +interfaces.IRoute.pregenerator?7 +interfaces.IRouter.registry?7 +interfaces.IRoutesMapper.connect?4(pattern, factory=None, predicates=(), pregenerator=None, static=True) +interfaces.IRoutesMapper.generate?4(kw) +interfaces.IRoutesMapper.get_route?4() +interfaces.IRoutesMapper.get_routes?4() +interfaces.IRoutesMapper.has_routes?4() +interfaces.ISession.changed?4() +interfaces.ISession.created?7 +interfaces.ISession.flash?4(queue='', allow_duplicate=True) +interfaces.ISession.get_csrf_token?4() +interfaces.ISession.invalidate?4() +interfaces.ISession.new?7 +interfaces.ISession.new_csrf_token?4() +interfaces.ISession.peek_flash?4() +interfaces.ISession.pop_flash?4() +interfaces.IStaticURLInfo.add?4(name, spec, **extra) +interfaces.IStaticURLInfo.generate?4(request, **kw) +interfaces.ITemplateRenderer.implementation?4() +interfaces.ITraverserFactory?7 +interfaces.IWSGIApplicationCreatedEvent?7 +interfaces.PHASE1_CONFIG?7 +interfaces.PHASE2_CONFIG?7 +interfaces.VH_ROOT_KEY?7 +location.inside?4(resource1, resource2) +location.lineage?4(resource) +mako_templating.MakoLookupTemplateRenderer.implementation?4() +mako_templating.MakoLookupTemplateRenderer?1(path, lookup) +mako_templating.MakoRendererFactoryHelper.sget?4(default=None) +mako_templating.MakoRendererFactoryHelper?1(settings_prefix=None) +mako_templating.MakoRenderingException?1(text) +mako_templating.PkgResourceTemplateLookup.adjust_uri?4(uri, relativeto) +mako_templating.PkgResourceTemplateLookup.get_template?4(uri) +mako_templating.registry_lock?7 +mako_templating.renderer_factory?7 +paster.PyramidTemplate?7 +paster._getpathsec?5(config_uri, name) +paster.bootstrap?4(config_uri, request=None) +paster.get_app?4(config_uri, name=None, loadapp=loadapp) +paster.get_appsettings?4(config_uri, name=None, appconfig=appconfig) +paster.setup_logging?4(config_uri, fileConfig=fileConfig, configparser=configparser) +path.AssetResolver.resolve?4(spec) +path.CALLER_PACKAGE?7 +path.DottedNameResolver._pkg_resources_style?5(value, package) +path.DottedNameResolver._resolve?5(dotted, package) +path.DottedNameResolver._zope_dottedname_style?5(value, package) +path.DottedNameResolver.maybe_resolve?4(dotted) +path.DottedNameResolver.resolve?4(dotted) +path.FSAssetDescriptor.abspath?4() +path.FSAssetDescriptor.absspec?4() +path.FSAssetDescriptor.exists?4() +path.FSAssetDescriptor.isdir?4() +path.FSAssetDescriptor.listdir?4() +path.FSAssetDescriptor.stream?4() +path.FSAssetDescriptor?1(path) +path.PkgResourcesAssetDescriptor.abspath?4() +path.PkgResourcesAssetDescriptor.absspec?4() +path.PkgResourcesAssetDescriptor.exists?4() +path.PkgResourcesAssetDescriptor.isdir?4() +path.PkgResourcesAssetDescriptor.listdir?4() +path.PkgResourcesAssetDescriptor.pkg_resources?7 +path.PkgResourcesAssetDescriptor.stream?4() +path.PkgResourcesAssetDescriptor?1(pkg_name, path) +path.Resolver.get_package?4() +path.Resolver.get_package_name?4() +path.Resolver?1(package=CALLER_PACKAGE) +path.caller_module?4(level=2, sys=sys) +path.caller_package?4(level=2, caller_module=caller_module) +path.caller_path?4(path, level=2) +path.ignore_types?7 +path.init_names?7 +path.package_name?4(pkg_or_module) +path.package_of?4(pkg_or_module) +path.package_path?4(package) +registry.Introspectable.action_info?7 +registry.Introspectable.discriminator_hash?4() +registry.Introspectable.order?7 +registry.Introspectable.register?4(introspector, action_info) +registry.Introspectable.relate?4(category_name, discriminator) +registry.Introspectable.unrelate?4(category_name, discriminator) +registry.Introspectable?1(category_name, discriminator, title, type_name) +registry.Introspector._get_intrs_by_pairs?5(pairs) +registry.Introspector.add?4(intr) +registry.Introspector.categories?4() +registry.Introspector.categorized?4(sort_key=None) +registry.Introspector.get?4(category_name, discriminator, default=None) +registry.Introspector.get_category?4(category_name, default=None, sort_key=None) +registry.Introspector.relate?4(*pairs) +registry.Introspector.related?4(intr) +registry.Introspector.remove?4(category_name, discriminator) +registry.Introspector.unrelate?4(*pairs) +registry.Introspector?1() +registry.Registry._get_settings?5() +registry.Registry._set_settings?5(settings) +registry.Registry._settings?8 +registry.Registry.has_listeners?7 +registry.Registry.notify?4(*events) +registry.Registry.queryAdapterOrSelf?4(object, interface, default=None) +registry.Registry.registerHandler?4(*arg, **kw) +registry.Registry.registerSelfAdapter?4(required=None, provided=None, name=empty, info=empty, event=True) +registry.Registry.registerSubscriptionAdapter?4(*arg, **kw) +registry.Registry.settings?7 +registry.empty?7 +registry.global_registry?7 +renderers.ChameleonRendererLookup.auto_reload?4() +renderers.ChameleonRendererLookup.debug?4() +renderers.ChameleonRendererLookup.get_spec?4(name, package) +renderers.ChameleonRendererLookup.translate?4() +renderers.ChameleonRendererLookup?1(impl, registry) +renderers.JSONP._render?5(system) +renderers.JSONP?1(param_name='callback') +renderers.NullRendererHelper.clone?4(name=None, package=None, registry=None) +renderers.NullRendererHelper.render?4(value, system_values, request=None) +renderers.NullRendererHelper.render_to_response?4(value, system_values, request=None) +renderers.NullRendererHelper.render_view?4(request, value, view, context) +renderers.NullRendererHelper.settings?4() +renderers.NullRendererHelper?1(name=None, package=None, registry=None) +renderers.RendererHelper._make_response?5(result, request) +renderers.RendererHelper.clone?4(name=None, package=None, registry=None) +renderers.RendererHelper.get_renderer?4() +renderers.RendererHelper.render?4(value, system_values, request=None) +renderers.RendererHelper.render_to_response?4(value, system_values, request=None) +renderers.RendererHelper.render_view?4(request, response, view, context) +renderers.RendererHelper.renderer?4() +renderers.RendererHelper.settings?4() +renderers.RendererHelper?1(name=None, package=None, registry=None) +renderers._render?5(value, system) +renderers.get_renderer?4(renderer_name, package=None) +renderers.json_renderer_factory?4(info) +renderers.null_renderer?7 +renderers.registry_lock?7 +renderers.render?4(renderer_name, value, request=None, package=None) +renderers.render_to_response?4(renderer_name, value, request=None, package=None) +renderers.string_renderer_factory?4(info) +renderers.template_renderer_factory?4(info, impl, lock=registry_lock) +request.CallbackMethodsMixin._process_finished_callbacks?5() +request.CallbackMethodsMixin._process_response_callbacks?5(response) +request.CallbackMethodsMixin.add_finished_callback?4(callback) +request.CallbackMethodsMixin.add_response_callback?4(callback) +request.CallbackMethodsMixin.finished_callbacks?7 +request.CallbackMethodsMixin.response_callbacks?7 +request.DeprecatedRequestMethodsMixin._response_cache_for_del?5() +request.DeprecatedRequestMethodsMixin._response_cache_for_get?5() +request.DeprecatedRequestMethodsMixin._response_cache_for_set?5(value) +request.DeprecatedRequestMethodsMixin._response_charset_del?5() +request.DeprecatedRequestMethodsMixin._response_charset_get?5() +request.DeprecatedRequestMethodsMixin._response_charset_set?5(value) +request.DeprecatedRequestMethodsMixin._response_content_type_del?5() +request.DeprecatedRequestMethodsMixin._response_content_type_get?5() +request.DeprecatedRequestMethodsMixin._response_content_type_set?5(value) +request.DeprecatedRequestMethodsMixin._response_headerlist_del?5() +request.DeprecatedRequestMethodsMixin._response_headerlist_get?5() +request.DeprecatedRequestMethodsMixin._response_headerlist_set?5(value) +request.DeprecatedRequestMethodsMixin._response_status_del?5() +request.DeprecatedRequestMethodsMixin._response_status_get?5() +request.DeprecatedRequestMethodsMixin._response_status_set?5(value) +request.DeprecatedRequestMethodsMixin.dictlike?7 +request.DeprecatedRequestMethodsMixin.get?4(k, default=None) +request.DeprecatedRequestMethodsMixin.has_key?4(k) +request.DeprecatedRequestMethodsMixin.hl_dep?7 +request.DeprecatedRequestMethodsMixin.items?4() +request.DeprecatedRequestMethodsMixin.iteritems?4() +request.DeprecatedRequestMethodsMixin.iterkeys?4() +request.DeprecatedRequestMethodsMixin.itervalues?4() +request.DeprecatedRequestMethodsMixin.keys?4() +request.DeprecatedRequestMethodsMixin.pop?4(k) +request.DeprecatedRequestMethodsMixin.popitem?4() +request.DeprecatedRequestMethodsMixin.response_cache_for?7 +request.DeprecatedRequestMethodsMixin.response_charset?7 +request.DeprecatedRequestMethodsMixin.response_content_type?7 +request.DeprecatedRequestMethodsMixin.response_headerlist?7 +request.DeprecatedRequestMethodsMixin.response_status?7 +request.DeprecatedRequestMethodsMixin.rr_dep?7 +request.DeprecatedRequestMethodsMixin.setdefault?4(v, default) +request.DeprecatedRequestMethodsMixin.update?4(v, **kw) +request.DeprecatedRequestMethodsMixin.values?4() +request.Request.exc_info?7 +request.Request.exception?7 +request.Request.is_response?4(ob) +request.Request.json_body?4() +request.Request.matchdict?7 +request.Request.matched_route?7 +request.Request.response?4() +request.Request.session?4() +request.Request.tmpl_context?4() +request.add_global_response_headers?4(request, headerlist) +request.add_headers?4(request, response) +request.call_app_with_subpath_as_path_info?4(request, app) +request.route_request_iface?4(name, bases=()) +resource.abspath_from_resource_spec?7 +resource.resolve_resource_spec?7 +resource.resource_spec_from_abspath?7 +response.FileIter.close?4() +response.FileIter.next?4() +response.FileIter?1(file, block_size=_BLOCK_SIZE) +response.FileResponse?1(path, request=None, cache_max_age=None, content_type=None, content_encoding=None) +response._BLOCK_SIZE?8 +response.init_mimetypes?4(mimetypes) +response.response_adapter.register?4(scanner, name, wrapped) +response.response_adapter.venusian?7 +response.response_adapter?1(*types_or_ifaces) +router.Router.debug_notfound?7 +router.Router.debug_routematch?7 +router.Router.handle_request?4(request) +router.Router.threadlocal_manager?7 +router.Router?1(registry) +scaffolds.AlchemyProjectTemplate._template_dir?8 +scaffolds.AlchemyProjectTemplate.summary?7 +scaffolds.PyramidTemplate.out?4(msg) +scaffolds.PyramidTemplate.post?4(command, output_dir, vars) +scaffolds.PyramidTemplate.pre?4(command, output_dir, vars) +scaffolds.StarterProjectTemplate._template_dir?8 +scaffolds.StarterProjectTemplate.summary?7 +scaffolds.ZODBProjectTemplate._template_dir?8 +scaffolds.ZODBProjectTemplate.summary?7 +scaffolds.alchemy.+package+.main?4(global_config, **settings) +scaffolds.alchemy.+package+.models.Base?7 +scaffolds.alchemy.+package+.models.DBSession?7 +scaffolds.alchemy.+package+.models.MyModel.id?7 +scaffolds.alchemy.+package+.models.MyModel.name?7 +scaffolds.alchemy.+package+.models.MyModel.value?7 +scaffolds.alchemy.+package+.models.MyModel?1(name, value) +scaffolds.alchemy.+package+.scripts.initializedb.main?4(argv=sys.argv) +scaffolds.alchemy.+package+.scripts.initializedb.usage?4(argv) +scaffolds.copydir.all_answer?7 +scaffolds.copydir.copy_dir?4(source, dest, vars, verbosity, simulate, indent=0, sub_vars=True, interactive=False, overwrite=True, template_renderer=None, out_=sys.stdout) +scaffolds.copydir.fsenc?7 +scaffolds.copydir.html_quote?4(s) +scaffolds.copydir.makedirs?4(dir, verbosity, pad) +scaffolds.copydir.out?4(msg) +scaffolds.copydir.query_interactive?4(src_fn, dest_fn, src_content, dest_content, simulate, out_=sys.stdout) +scaffolds.copydir.query_usage?7 +scaffolds.copydir.should_skip_file?4(name) +scaffolds.copydir.skip_template?4(condition=True, *args) +scaffolds.copydir.standard_vars?7 +scaffolds.copydir.substitute_content?4(content, vars, filename='<string>', template_renderer=None) +scaffolds.copydir.substitute_filename?4(fn, vars) +scaffolds.copydir.test?4(conf, true_cond, false_cond=None) +scaffolds.copydir.url_quote?4(s) +scaffolds.starter.+package+.main?4(global_config, **settings) +scaffolds.template.Template._template_dir?8 +scaffolds.template.Template.check_vars?4(vars, other) +scaffolds.template.Template.copydir?7 +scaffolds.template.Template.exists?4(path) +scaffolds.template.Template.makedirs?4(dir) +scaffolds.template.Template.module_dir?4() +scaffolds.template.Template.out?4(msg) +scaffolds.template.Template.post?4(command, output_dir, vars) +scaffolds.template.Template.pre?4(command, output_dir, vars) +scaffolds.template.Template.render_template?4(content, vars, filename=None) +scaffolds.template.Template.required_templates?7 +scaffolds.template.Template.run?4(command, output_dir, vars) +scaffolds.template.Template.template_dir?4() +scaffolds.template.Template.write_files?4(command, output_dir, vars) +scaffolds.template.Template?1(name) +scaffolds.template._add_except?5(exc, info) +scaffolds.template.double_brace_pattern?7 +scaffolds.template.double_bracerepl?4(match) +scaffolds.template.eval_with_catch?4(expr, vars) +scaffolds.template.fsenc?7 +scaffolds.template.substitute_double_braces?4(content, values) +scaffolds.tests.TemplateTest.install?4(tmpl_name) +scaffolds.tests.TemplateTest.make_venv?4(directory) +scaffolds.tests.TemplateTest.templates?7 +scaffolds.zodb.+package+.main?4(global_config, **settings) +scaffolds.zodb.+package+.models.appmaker?4(zodb_root) +scaffolds.zodb.+package+.root_factory?4(request) +scripting._make_request?5(path, registry=None) +scripting.closer?4() +scripting.closer?4(request=request) +scripting.get_root?4(app, request=None) +scripting.prepare?4(request=None, registry=None) +scripts.common.logging_file_config?4(config_file, fileConfig=fileConfig, configparser=configparser) +scripts.pcreate.PCreateCommand.action?7 +scripts.pcreate.PCreateCommand.all_scaffolds?4() +scripts.pcreate.PCreateCommand.description?7 +scripts.pcreate.PCreateCommand.dest?7 +scripts.pcreate.PCreateCommand.help?7 +scripts.pcreate.PCreateCommand.out?4(msg) +scripts.pcreate.PCreateCommand.parser?7 +scripts.pcreate.PCreateCommand.render_scaffolds?4() +scripts.pcreate.PCreateCommand.run?4() +scripts.pcreate.PCreateCommand.show_scaffolds?4() +scripts.pcreate.PCreateCommand.usage?7 +scripts.pcreate.PCreateCommand.verbosity?7 +scripts.pcreate.PCreateCommand?1(argv, quiet=False) +scripts.pcreate._bad_chars_re?8 +scripts.pcreate.main?4(argv=sys.argv, quiet=False) +scripts.prequest.PRequestCommand.action?7 +scripts.prequest.PRequestCommand.choices?7 +scripts.prequest.PRequestCommand.description?7 +scripts.prequest.PRequestCommand.dest?7 +scripts.prequest.PRequestCommand.get_app?7 +scripts.prequest.PRequestCommand.help?7 +scripts.prequest.PRequestCommand.metavar?7 +scripts.prequest.PRequestCommand.out?4(msg) +scripts.prequest.PRequestCommand.parser?7 +scripts.prequest.PRequestCommand.run?4() +scripts.prequest.PRequestCommand.stdin?7 +scripts.prequest.PRequestCommand.type?7 +scripts.prequest.PRequestCommand.usage?7 +scripts.prequest.PRequestCommand?1(argv, quiet=False) +scripts.prequest.main?4(argv=sys.argv, quiet=False) +scripts.proutes.PRoutesCommand._get_mapper?5(registry) +scripts.proutes.PRoutesCommand.bootstrap?7 +scripts.proutes.PRoutesCommand.description?7 +scripts.proutes.PRoutesCommand.out?4(msg) +scripts.proutes.PRoutesCommand.parser?7 +scripts.proutes.PRoutesCommand.run?4(quiet=False) +scripts.proutes.PRoutesCommand.stdout?7 +scripts.proutes.PRoutesCommand.usage?7 +scripts.proutes.PRoutesCommand?1(argv, quiet=False) +scripts.proutes.main?4(argv=sys.argv, quiet=False) +scripts.pserve.LazyWriter.close?4() +scripts.pserve.LazyWriter.flush?4() +scripts.pserve.LazyWriter.open?4() +scripts.pserve.LazyWriter.write?4(text) +scripts.pserve.LazyWriter.writelines?4(text) +scripts.pserve.LazyWriter?1(filename, mode='w') +scripts.pserve.MAXFD?7 +scripts.pserve.Monitor._exit?5() +scripts.pserve.Monitor.add_file_callback?4(cls, callback) +scripts.pserve.Monitor.add_file_callback?7 +scripts.pserve.Monitor.check_reload?4() +scripts.pserve.Monitor.global_extra_files?7 +scripts.pserve.Monitor.global_file_callbacks?7 +scripts.pserve.Monitor.instances?7 +scripts.pserve.Monitor.periodic_reload?4() +scripts.pserve.Monitor.watch_file?4(cls, filename) +scripts.pserve.Monitor.watch_file?7 +scripts.pserve.Monitor?1(poll_interval) +scripts.pserve.PServeCommand._monitor_environ_key?8 +scripts.pserve.PServeCommand._reloader_environ_key?8 +scripts.pserve.PServeCommand._remove_pid_file?5(written_pid, filename, verbosity) +scripts.pserve.PServeCommand._scheme_re?8 +scripts.pserve.PServeCommand.action?7 +scripts.pserve.PServeCommand.change_user_group?4(user, group) +scripts.pserve.PServeCommand.daemonize?4() +scripts.pserve.PServeCommand.default?7 +scripts.pserve.PServeCommand.default_verbosity?7 +scripts.pserve.PServeCommand.description?7 +scripts.pserve.PServeCommand.dest?7 +scripts.pserve.PServeCommand.help?7 +scripts.pserve.PServeCommand.loadapp?4(app_spec, name, relative_to, **kw) +scripts.pserve.PServeCommand.loadserver?4(server_spec, name, relative_to, **kw) +scripts.pserve.PServeCommand.metavar?7 +scripts.pserve.PServeCommand.out?4(msg) +scripts.pserve.PServeCommand.parse_vars?4(args) +scripts.pserve.PServeCommand.parser?7 +scripts.pserve.PServeCommand.possible_subcommands?7 +scripts.pserve.PServeCommand.quote_first_command_arg?4(arg) +scripts.pserve.PServeCommand.record_pid?4(pid_file) +scripts.pserve.PServeCommand.restart_with_monitor?4(reloader=False) +scripts.pserve.PServeCommand.restart_with_reloader?4() +scripts.pserve.PServeCommand.run?4() +scripts.pserve.PServeCommand.serve?4() +scripts.pserve.PServeCommand.show_status?4() +scripts.pserve.PServeCommand.stop_daemon?4() +scripts.pserve.PServeCommand.usage?7 +scripts.pserve.PServeCommand.verbose?7 +scripts.pserve.PServeCommand?1(argv, quiet=False) +scripts.pserve._cleanup_ports?5(bound_addresses, maxtries=30, sleeptime=2) +scripts.pserve._methodwrapper?2(func, obj, type) +scripts.pserve._turn_sigterm_into_systemexit?5() +scripts.pserve.add_file_callback?7 +scripts.pserve.cherrypy_server_runner?4(app, global_conf=None, host='127.0.0.1', port=None, ssl_pem=None, protocol_version=None, numthreads=None, server_name=None, max=None, request_queue_size=None, timeout=None) +scripts.pserve.classinstancemethod?1(func) +scripts.pserve.ensure_port_cleanup?4(bound_addresses, maxtries=30, sleeptime=2) +scripts.pserve.handle_term?4(signo, frame) +scripts.pserve.install_reloader?4(poll_interval=1, extra_files=None) +scripts.pserve.kill?4(pid, sig=None) +scripts.pserve.live_pidfile?4(pidfile) +scripts.pserve.main?4(argv=sys.argv, quiet=False) +scripts.pserve.read_pidfile?4(filename) +scripts.pserve.watch_file?7 +scripts.pserve.wsgiref_server_runner?4(wsgi_app, global_conf, **kw) +scripts.pshell.PShellCommand.ConfigParser?7 +scripts.pshell.PShellCommand.action?7 +scripts.pshell.PShellCommand.bootstrap?7 +scripts.pshell.PShellCommand.default?7 +scripts.pshell.PShellCommand.description?7 +scripts.pshell.PShellCommand.dest?7 +scripts.pshell.PShellCommand.help?7 +scripts.pshell.PShellCommand.loaded_objects?7 +scripts.pshell.PShellCommand.make_bpython_shell?4(BPShell=None) +scripts.pshell.PShellCommand.make_default_shell?4(interact=interact) +scripts.pshell.PShellCommand.make_ipython_v0_10_shell?4(IPShellFactory=None) +scripts.pshell.PShellCommand.make_ipython_v0_11_shell?4(IPShellFactory=None) +scripts.pshell.PShellCommand.make_shell?4() +scripts.pshell.PShellCommand.object_help?7 +scripts.pshell.PShellCommand.out?4(msg) +scripts.pshell.PShellCommand.parser?7 +scripts.pshell.PShellCommand.pshell_file_config?4(filename) +scripts.pshell.PShellCommand.run?4(shell=None) +scripts.pshell.PShellCommand.setup?7 +scripts.pshell.PShellCommand.shell?4(help) +scripts.pshell.PShellCommand.usage?7 +scripts.pshell.PShellCommand?1(argv, quiet=False) +scripts.pshell.main?4(argv=sys.argv, quiet=False) +scripts.ptweens.PTweensCommand._get_tweens?5(registry) +scripts.ptweens.PTweensCommand.bootstrap?7 +scripts.ptweens.PTweensCommand.description?7 +scripts.ptweens.PTweensCommand.out?4(msg) +scripts.ptweens.PTweensCommand.parser?7 +scripts.ptweens.PTweensCommand.run?4() +scripts.ptweens.PTweensCommand.show_chain?4(chain) +scripts.ptweens.PTweensCommand.stdout?7 +scripts.ptweens.PTweensCommand.usage?7 +scripts.ptweens.PTweensCommand?1(argv, quiet=False) +scripts.ptweens.main?4(argv=sys.argv, quiet=False) +scripts.pviews.PViewsCommand._find_multi_routes?5(mapper, request) +scripts.pviews.PViewsCommand._find_view?5(url, registry) +scripts.pviews.PViewsCommand.bootstrap?7 +scripts.pviews.PViewsCommand.description?7 +scripts.pviews.PViewsCommand.out?4(msg) +scripts.pviews.PViewsCommand.output_route_attrs?4(attrs, indent) +scripts.pviews.PViewsCommand.output_view_info?4(view_wrapper, level=1) +scripts.pviews.PViewsCommand.parser?7 +scripts.pviews.PViewsCommand.run?4() +scripts.pviews.PViewsCommand.stdout?7 +scripts.pviews.PViewsCommand.usage?7 +scripts.pviews.PViewsCommand?1(argv, quiet=False) +scripts.pviews.RoutesMultiView.infos?7 +scripts.pviews.RoutesMultiView.traverser?7 +scripts.pviews.RoutesMultiView.view?7 +scripts.pviews.RoutesMultiView?1(infos, context_iface, root_factory, request) +scripts.pviews.main?4(argv=sys.argv, quiet=False) +security.ACLAllowed.boolval?7 +security.ACLDenied.boolval?7 +security.ACLPermitsResult.msg?4() +security.ALL_PERMISSIONS?7 +security.Allow?7 +security.Allowed.boolval?7 +security.Authenticated?7 +security.DENY_ALL?7 +security.Denied.boolval?7 +security.Deny?7 +security.Everyone?7 +security.NO_PERMISSION_REQUIRED?7 +security.PermitsResult.msg?4() +security.authenticated_userid?4(request) +security.effective_principals?4(request) +security.forget?4(request) +security.has_permission?4(permission, context, request) +security.principals_allowed_by_permission?4(context, permission) +security.remember?4(request, principal, **kw) +security.unauthenticated_userid?4(request) +security.view_execution_permitted?4(context, request, name='') +session.UnencryptedCookieSessionFactory._cookie_domain?8 +session.UnencryptedCookieSessionFactory._cookie_httponly?8 +session.UnencryptedCookieSessionFactory._cookie_max_age?8 +session.UnencryptedCookieSessionFactory._cookie_name?8 +session.UnencryptedCookieSessionFactory._cookie_on_exception?8 +session.UnencryptedCookieSessionFactory._cookie_path?8 +session.UnencryptedCookieSessionFactory._cookie_secure?8 +session.UnencryptedCookieSessionFactory._dirty?8 +session.UnencryptedCookieSessionFactory._secret?8 +session.UnencryptedCookieSessionFactory._set_cookie?5(response) +session.UnencryptedCookieSessionFactory._timeout?8 +session.UnencryptedCookieSessionFactory.changed?4() +session.UnencryptedCookieSessionFactory.clear?7 +session.UnencryptedCookieSessionFactory.flash?4(msg, queue='', allow_duplicate=True) +session.UnencryptedCookieSessionFactory.get?7 +session.UnencryptedCookieSessionFactory.get_csrf_token?4() +session.UnencryptedCookieSessionFactory.invalidate?4() +session.UnencryptedCookieSessionFactory.items?7 +session.UnencryptedCookieSessionFactory.keys?7 +session.UnencryptedCookieSessionFactory.new_csrf_token?4() +session.UnencryptedCookieSessionFactory.peek_flash?4(queue='') +session.UnencryptedCookieSessionFactory.pop?7 +session.UnencryptedCookieSessionFactory.pop_flash?4(queue='') +session.UnencryptedCookieSessionFactory.popitem?7 +session.UnencryptedCookieSessionFactory.setdefault?7 +session.UnencryptedCookieSessionFactory.update?7 +session.UnencryptedCookieSessionFactory.values?7 +session.UnencryptedCookieSessionFactory?1(request) +session.UnencryptedCookieSessionFactoryConfig?4(secret, timeout=1200, cookie_name='session', cookie_max_age=None, cookie_path='/', cookie_domain=None, cookie_secure=False, cookie_httponly=False, cookie_on_exception=True, ) +session.accessed?4(session, *arg, **kw) +session.manage_accessed?4(wrapped) +session.set_cookie_callback?4(request, response) +session.signed_deserialize?4(serialized, secret, hmac=hmac) +session.signed_serialize?4(data, secret) +settings.asbool?4(s) +settings.aslist?4(value, flatten=True) +settings.aslist_cronly?4(value) +settings.get_settings?4() +settings.truthy?7 +static._contains_slash?5(item) +static._has_insecure_pathelement?8 +static._secure_path?5(path_tuple) +static._seps?8 +static.slash?7 +static.static_view.add_slash_redirect?4(request) +static.static_view?1(root_dir, cache_max_age=3600, package_name=None, use_subpath=False, index='index.html') +testing.DummyModel?7 +testing.DummyRendererFactory.add?4(spec, renderer) +testing.DummyRendererFactory?1(name, factory) +testing.DummyRequest._del_registry?5() +testing.DummyRequest._get_registry?5() +testing.DummyRequest._registry?8 +testing.DummyRequest._set_registry?5(registry) +testing.DummyRequest.application_url?7 +testing.DummyRequest.charset?7 +testing.DummyRequest.content_length?7 +testing.DummyRequest.host?7 +testing.DummyRequest.method?7 +testing.DummyRequest.query_string?7 +testing.DummyRequest.registry?7 +testing.DummyRequest.response?4() +testing.DummyRequest.script_name?7 +testing.DummyRequest?1(params=None, environ=None, headers=None, path='/', cookies=None, post=None, **kw) +testing.DummyResource.clone?4(__name__=_marker, __parent__=_marker, **kw) +testing.DummyResource.get?4(name, default=None) +testing.DummyResource.items?4() +testing.DummyResource.keys?4() +testing.DummyResource.values?4() +testing.DummyResource?1(__name__=None, __parent__=None, __provides__=None, **kw) +testing.DummyRootFactory?1(request) +testing.DummySecurityPolicy.authenticated_userid?4(request) +testing.DummySecurityPolicy.effective_principals?4(request) +testing.DummySecurityPolicy.forget?4(request) +testing.DummySecurityPolicy.permits?4(context, principals, permission) +testing.DummySecurityPolicy.principals_allowed_by_permission?4(context, permission) +testing.DummySecurityPolicy.remember?4(request, principal, **kw) +testing.DummySecurityPolicy.unauthenticated_userid?4(request) +testing.DummySecurityPolicy?1(userid=None, groupids=(), permissive=True) +testing.DummySession.changed?4() +testing.DummySession.created?7 +testing.DummySession.flash?4(msg, queue='', allow_duplicate=True) +testing.DummySession.get_csrf_token?4() +testing.DummySession.invalidate?4() +testing.DummySession.new?7 +testing.DummySession.new_csrf_token?4() +testing.DummySession.peek_flash?4(queue='') +testing.DummySession.pop_flash?4(queue='') +testing.DummyTemplateRenderer._get_string_response?5() +testing.DummyTemplateRenderer._set_string_response?5(response) +testing.DummyTemplateRenderer.assert_?4(**kw) +testing.DummyTemplateRenderer.implementation?4() +testing.DummyTemplateRenderer.string_response?7 +testing.DummyTemplateRenderer?1(string_response='') +testing.MockTemplate?1(response) +testing._marker?8 +testing._secure?5(context, request) +testing.cleanUp?4(*arg, **kw) +testing.decorator?4(func) +testing.have_zca?7 +testing.permitted?4(context, request) +testing.registerAdapter?4(impl, for_=Interface, provides=Interface, name='') +testing.registerDummyRenderer?7 +testing.registerDummySecurityPolicy?4(userid=None, groupids=(), permissive=True) +testing.registerEventListener?4(event_iface=None) +testing.registerModels?7 +testing.registerResources?4(resources) +testing.registerRoute?4(pattern, name, factory=None) +testing.registerSettings?4(dictarg=None, **kw) +testing.registerSubscriber?4(subscriber, iface=Interface) +testing.registerTemplateRenderer?4(path, renderer=None) +testing.registerUtility?4(impl, iface=Interface, name='') +testing.registerView?4(name, result='', view=None, for_=(Interface, Interface), permission=None) +testing.setUp?4(registry=None, request=None, hook_zca=True, autocommit=True, settings=None) +testing.skip_on?4(*platforms) +testing.tearDown?4(unhook_zca=True) +testing.view?4(context, request) +testing.wrapper?4(*args, **kw) +threadlocal.ThreadLocalManager.clear?4() +threadlocal.ThreadLocalManager.get?4() +threadlocal.ThreadLocalManager.pop?4() +threadlocal.ThreadLocalManager.push?4(info) +threadlocal.ThreadLocalManager.set?7 +threadlocal.ThreadLocalManager?1(default=None) +threadlocal.defaults?4() +threadlocal.get_current_registry?4(context=None) +threadlocal.get_current_request?4() +threadlocal.manager?7 +traversal.DefaultRootFactory?1(request) +traversal.ModelGraphTraverser?7 +traversal.ResourceTreeTraverser.VIEW_SELECTOR?7 +traversal.ResourceURL.vroot_varname?7 +traversal.TraversalContextURL?7 +traversal._join_path_tuple?5(tuple) +traversal._model_path_list?8 +traversal._resource_path_list?5(resource, *elements) +traversal._segment_cache?8 +traversal.empty?7 +traversal.find_interface?4(resource, class_or_interface) +traversal.find_model?7 +traversal.find_resource?4(resource, path) +traversal.find_root?4(resource) +traversal.model_path?7 +traversal.model_path_tuple?7 +traversal.quote_path_segment?4(segment, safe='') +traversal.quote_path_segment_doc?7 +traversal.resource_path?4(resource, *elements) +traversal.resource_path_tuple?4(resource, *elements) +traversal.split_path_info?4(path) +traversal.traversal_path?4(path) +traversal.traversal_path_info?4(path) +traversal.traverse?4(resource, path) +traversal.virtual_root?4(resource, request) +traversal.virtual_root?4(self) +tweens.EXCVIEW?7 +tweens.INGRESS?7 +tweens.MAIN?7 +tweens.excview_tween?4(request) +tweens.excview_tween_factory?4(handler, registry) +url.PATH_SAFE?7 +url.URLMethodsMixin._partial_application_url?5(scheme=None, host=None, port=None) +url.URLMethodsMixin.current_route_path?4(*elements, **kw) +url.URLMethodsMixin.current_route_url?4(*elements, **kw) +url.URLMethodsMixin.model_url?7 +url.URLMethodsMixin.resource_path?4(resource, *elements, **kw) +url.URLMethodsMixin.resource_url?4(resource, *elements, **kw) +url.URLMethodsMixin.route_path?4(route_name, *elements, **kw) +url.URLMethodsMixin.route_url?4(route_name, *elements, **kw) +url.URLMethodsMixin.static_path?4(path, **kw) +url.URLMethodsMixin.static_url?4(path, **kw) +url._join_elements?5(elements) +url.current_route_path?4(request, *elements, **kw) +url.current_route_url?4(request, *elements, **kw) +url.model_url?7 +url.resource_url?4(resource, request, *elements, **kw) +url.route_path?4(route_name, request, *elements, **kw) +url.route_url?4(route_name, request, *elements, **kw) +url.static_path?4(path, request, **kw) +url.static_url?4(path, request, **kw) +urldispatch.Route?1(name, pattern, factory=None, predicates=(), pregenerator=None) +urldispatch.RoutesMapper.connect?4(name, pattern, factory=None, predicates=(), pregenerator=None, static=False) +urldispatch.RoutesMapper.generate?4(name, kw) +urldispatch.RoutesMapper.get_route?4(name) +urldispatch.RoutesMapper.get_routes?4() +urldispatch.RoutesMapper.has_routes?4() +urldispatch.RoutesMapper?1() +urldispatch._compile_route?5(route) +urldispatch._marker?8 +urldispatch.generator?4(dict) +urldispatch.matcher?4(path) +urldispatch.old_route_re?7 +urldispatch.route_re?7 +urldispatch.star_at_end?7 +urldispatch.update_pattern?4(matchobj) +util.DottedNameResolver?1(package=None) +util.InstancePropertyMixin.set_property?4(callable, name=None, reify=False) +util.WeakOrderedSet.add?4(item) +util.WeakOrderedSet.empty?4() +util.WeakOrderedSet.last?4() +util.WeakOrderedSet.remove?4(item) +util.WeakOrderedSet?1() +util.object_description?4(object) +util.shortrepr?4(object, closer) +util.strings_differ?4(string1, string2) +view.AppendSlashNotFoundViewFactory?1(notfound_view=None) +view._marker?8 +view.append_slash_notfound_view?7 +view.bfg_view?7 +view.default?7 +view.forbidden_view_config.callback?4(name, ob) +view.forbidden_view_config.venusian?7 +view.forbidden_view_config?1(request_type=default, request_method=default, route_name=default, request_param=default, attr=default, renderer=default, containment=default, wrapper=default, xhr=default, accept=default, header=default, path_info=default, custom_predicates=default, decorator=default, mapper=default, match_param=default) +view.is_response?4(ob) +view.notfound_view_config.callback?4(name, ob) +view.notfound_view_config.venusian?7 +view.notfound_view_config?1(request_type=default, request_method=default, route_name=default, request_param=default, attr=default, renderer=default, containment=default, wrapper=default, xhr=default, accept=default, header=default, path_info=default, custom_predicates=default, decorator=default, mapper=default, match_param=default, append_slash=False) +view.render_view?4(context, request, name='', secure=True) +view.render_view_to_iterable?4(context, request, name='', secure=True) +view.render_view_to_response?4(context, request, name='', secure=True) +view.static?1(root_dir, cache_max_age=3600, package_name=None) +view.view_config.callback?4(name, ob) +view.view_config.venusian?7 +view.view_config?1(name=default, request_type=default, for_=default, permission=default, route_name=default, request_method=default, request_param=default, containment=default, attr=default, renderer=default, wrapper=default, xhr=default, accept=default, header=default, path_info=default, custom_predicates=default, context=default, decorator=default, mapper=default, http_cache=default, match_param=default) +wsgi.decorator?4(context, request) +wsgi.wsgiapp2?4(wrapped) +wsgi.wsgiapp?4(wrapped)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Pyramid-1.3.bas Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,155 @@ +ACLAllowed ACLPermitsResult +ACLDenied ACLPermitsResult +ACLPermitsResult int +AlchemyProjectTemplate PyramidTemplate +Allowed PermitsResult +AssetResolver Resolver +AuthTktAuthenticationPolicy CallbackAuthenticationPolicy +BadTicket Exception +BeforeRender dict +ConfigurationConflictError ConfigurationError +ConfigurationError Exception +ConfigurationExecutionError ConfigurationError +Configurator AdaptersConfiguratorMixin AssetsConfiguratorMixin FactoriesConfiguratorMixin I18NConfiguratorMixin RenderingConfiguratorMixin RoutesConfiguratorMixin SecurityConfiguratorMixin SettingsConfiguratorMixin TestingConfiguratorMixin TweensConfiguratorMixin ViewsConfiguratorMixin ZCAConfiguratorMixin +CyclicDependencyError Exception +DaemonizeException Exception +Denied PermitsResult +DottedNameResolver _DottedNameResolver +DummyRequest CallbackMethodsMixin DeprecatedRequestMethodsMixin URLMethodsMixin +DummySession dict +FileResponse Response +FixBfgImports fixer_base.BaseFix +HTTPAccepted HTTPOk +HTTPBadGateway HTTPServerError +HTTPBadRequest HTTPClientError +HTTPClientError HTTPError +HTTPConflict HTTPClientError +HTTPCreated HTTPOk +HTTPError WSGIHTTPException +HTTPException Exception +HTTPExpectationFailed HTTPClientError +HTTPFailedDependency HTTPClientError +HTTPForbidden HTTPClientError +HTTPFound _HTTPMove +HTTPGatewayTimeout HTTPServerError +HTTPGone HTTPClientError +HTTPInsufficientStorage HTTPServerError +HTTPInternalServerError HTTPServerError +HTTPLengthRequired HTTPClientError +HTTPLocked HTTPClientError +HTTPMethodNotAllowed HTTPClientError +HTTPMovedPermanently _HTTPMove +HTTPMultipleChoices _HTTPMove +HTTPNoContent HTTPOk +HTTPNonAuthoritativeInformation HTTPOk +HTTPNotAcceptable HTTPClientError +HTTPNotFound HTTPClientError +HTTPNotImplemented HTTPServerError +HTTPNotModified HTTPRedirection +HTTPOk WSGIHTTPException +HTTPPartialContent HTTPOk +HTTPPaymentRequired HTTPClientError +HTTPPreconditionFailed HTTPClientError +HTTPProxyAuthenticationRequired HTTPClientError +HTTPRedirection WSGIHTTPException +HTTPRequestEntityTooLarge HTTPClientError +HTTPRequestRangeNotSatisfiable HTTPClientError +HTTPRequestTimeout HTTPClientError +HTTPRequestURITooLong HTTPClientError +HTTPResetContent HTTPOk +HTTPSeeOther _HTTPMove +HTTPServerError HTTPError +HTTPServiceUnavailable HTTPServerError +HTTPTemporaryRedirect _HTTPMove +HTTPUnauthorized HTTPClientError +HTTPUnprocessableEntity HTTPClientError +HTTPUnsupportedMediaType HTTPClientError +HTTPUseProxy _HTTPMove +HTTPVersionNotSupported HTTPServerError +IActionInfo Interface +IApplicationCreated Interface +IAssetDescriptor Interface +IAuthenticationPolicy Interface +IAuthorizationPolicy Interface +IBeforeRender IDict +IChameleonLookup Interface +IChameleonTranslate Interface +IContextFound Interface +IContextURL IResourceURL +IDebugLogger Interface +IDefaultPermission Interface +IDefaultRootFactory Interface +IDict Interface +IException Interface +IExceptionResponse IException IResponse +IExceptionViewClassifier Interface +IIntrospectable Interface +IIntrospector Interface +ILocaleNegotiator Interface +ILocalizer Interface +ILocation Interface +IMakoLookup Interface +IMultiDict IDict +IMultiView ISecuredView +INewRequest Interface +INewResponse Interface +IPackageOverrides Interface +IRenderer Interface +IRendererFactory Interface +IRendererGlobalsFactory Interface +IRendererInfo Interface +IRequest Interface +IRequestFactory Interface +IRequestHandler Interface +IRequestProperties Interface +IResourceURL Interface +IResponse Interface +IResponseFactory Interface +IRootFactory Interface +IRoute Interface +IRoutePregenerator Interface +IRouteRequest Interface +IRouter Interface +IRoutesMapper Interface +ISecuredView IView +ISession IDict +ISessionFactory Interface +ISettings Interface +IStaticURLInfo Interface +ITemplateRenderer IRenderer +ITranslationDirectories Interface +ITraverser Interface +ITweens Interface +IView Interface +IViewClassifier Interface +IViewMapper Interface +IViewMapperFactory Interface +IViewPermission Interface +Introspectable dict +MakoRenderingException Exception +MyModel PersistentMapping +NullRendererHelper RendererHelper +OverrideProvider pkg_resources.DefaultProvider +PermitsResult int +PkgResourceTemplateLookup TemplateLookup +PredicateMismatch HTTPNotFound +PyramidTemplate Template +Registry Components dict +RemoteUserAuthenticationPolicy CallbackAuthenticationPolicy +RepozeWho1AuthenticationPolicy CallbackAuthenticationPolicy +Request BaseRequest CallbackMethodsMixin DeprecatedRequestMethodsMixin InstancePropertyMixin URLMethodsMixin +Response _Response +SessionAuthenticationPolicy CallbackAuthenticationPolicy +Settings dict +SkipTemplate Exception +StarterProjectTemplate PyramidTemplate +ThreadLocalManager threading.local +Translations gettext.GNUTranslations +TypeMapper dict +URLDecodeError UnicodeDecodeError +UnencryptedCookieSessionFactory dict +WSGIHTTPException HTTPException Response +ZODBProjectTemplate PyramidTemplate +_HTTPMove HTTPRedirection +static static_view +view_defaults view_config
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Translationstring-1.1.api Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,18 @@ +.ChameleonTranslate?4(translator) +.NAME_RE?7 +.Pluralizer?4(translations=None, policy=None) +.TranslationString.interpolate?4(translated=None) +.TranslationString.replace?4() +.TranslationStringFactory?4(domain) +.Translator?4(translations=None, policy=None) +._interp_regex?8 +.create?4(msgid, mapping=None, default=None) +.dugettext_policy?4(translations, tstring, domain) +.dungettext_policy?4(translations, singular, plural, n, domain) +.pluralizer?4(singular, plural, n, domain=None, mapping=None) +.translate?4(msgid, domain=None, mapping=None, context=None, target_language=None, default=None) +.translator?4(tstring, domain=None, mapping=None) +.ugettext_policy?4(translations, tstring, domain) +.ungettext_policy?4(translations, singular, plural, n, domain) +compat.PY3?7 +compat.u?4(s)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Translationstring-1.bas Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,1 @@ +TranslationString text_type
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Venusian-1.0a6.api Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,43 @@ +.ATTACH_ATTR?7 +.AttachInfo?1(**kw) +.Categories.attached_to?4(obj) +.Categories?1(attached_to) +.Scanner._ignore?5() +.Scanner.invoke?4(name, ob) +.Scanner.scan?4(package, categories=None, onerror=None, ignore=None) +.Scanner?1(**kw) +.attach?4(wrapped, callback, category=None, depth=1) +.seen?4(p, m={}) +.walk_packages?4(path=None, prefix='', onerror=None, ignore=None) +advice.getFrameInfo?4(frame) +compat.PY3?7 +compat.is_nonstr_iter?4(v) +compat.pkgutil_26.ImpImporter.find_module?4(fullname, path=None) +compat.pkgutil_26.ImpImporter.iter_modules?4(prefix='') +compat.pkgutil_26.ImpImporter?1(path=None) +compat.pkgutil_26.ImpLoader._fix_name?5(fullname) +compat.pkgutil_26.ImpLoader._get_delegate?5() +compat.pkgutil_26.ImpLoader._reopen?5() +compat.pkgutil_26.ImpLoader.code?7 +compat.pkgutil_26.ImpLoader.get_code?4(fullname=None) +compat.pkgutil_26.ImpLoader.get_data?4(pathname) +compat.pkgutil_26.ImpLoader.get_filename?4(fullname=None) +compat.pkgutil_26.ImpLoader.get_source?4(fullname=None) +compat.pkgutil_26.ImpLoader.is_package?4(fullname) +compat.pkgutil_26.ImpLoader.iter_zipimport_modules?4(prefix='') +compat.pkgutil_26.ImpLoader.load_module?4(fullname) +compat.pkgutil_26.ImpLoader?1(fullname, file, filename, etc) +compat.pkgutil_26.extend_path?4(path, name) +compat.pkgutil_26.find_loader?4(fullname) +compat.pkgutil_26.get_data?4(package, resource) +compat.pkgutil_26.get_importer?4(path_item) +compat.pkgutil_26.get_loader?4(module_or_name) +compat.pkgutil_26.iter_importer_modules?4(importer, prefix='') +compat.pkgutil_26.iter_importers?4(fullname="") +compat.pkgutil_26.iter_modules?4(path=None, prefix='') +compat.pkgutil_26.read_code?4(stream) +compat.pkgutil_26.register?4(typ, func=None) +compat.pkgutil_26.seen?4(p, m={}) +compat.pkgutil_26.simplegeneric?4(func) +compat.pkgutil_26.walk_packages?4(path=None, prefix='', onerror=None) +compat.pkgutil_26.wrapper?4(*args, **kw)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/Venusian-1.bas Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,2 @@ +Categories dict +cls cls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/WebOb-1.2.2.api Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,751 @@ +acceptparse.Accept._match?5(mask, offer) +acceptparse.Accept.best_match?4(offers, default_match=None) +acceptparse.Accept.first_match?4(offers) +acceptparse.Accept.parse?4() +acceptparse.Accept.quality?4(offer, modifier=1) +acceptparse.Accept?1(header_value) +acceptparse.AcceptCharset.parse?4() +acceptparse.AcceptLanguage._match?5(mask, item) +acceptparse.MIMEAccept._match?5(mask, offer) +acceptparse.MIMEAccept.accept_html?4() +acceptparse.MIMEAccept.accepts_html?7 +acceptparse.MIMEAccept.parse?4() +acceptparse.MIMENilAccept.MasterClass?7 +acceptparse.NilAccept.MasterClass?7 +acceptparse.NilAccept.best_match?4(offers, default_match=None) +acceptparse.NilAccept.first_match?4(offers) +acceptparse.NilAccept.quality?4(offer, default_quality=1) +acceptparse._check_offer?5(offer) +acceptparse._warn_first_match?5() +acceptparse.accept_property?4(header, rfc_section, AcceptClass=Accept, NilClass=NilAccept) +acceptparse.fdel?4(req) +acceptparse.fget?4(req) +acceptparse.fset?4(req, val) +acceptparse.part_re?7 +byterange.ContentRange.parse?4(value) +byterange.ContentRange?1(start, stop, length) +byterange.Range.content_range?4(length) +byterange.Range.parse?4(header) +byterange.Range.range_for_length?4(length) +byterange.Range?1(start, end) +byterange._is_content_range_valid?5(start, stop, length, response=False) +byterange._rx_content_range?8 +byterange._rx_range?8 +cachecontrol.CacheControl.copy?4() +cachecontrol.CacheControl.max_age?7 +cachecontrol.CacheControl.max_stale?7 +cachecontrol.CacheControl.min_fresh?7 +cachecontrol.CacheControl.must_revalidate?7 +cachecontrol.CacheControl.no_cache?7 +cachecontrol.CacheControl.no_store?7 +cachecontrol.CacheControl.no_transform?7 +cachecontrol.CacheControl.only_if_cached?7 +cachecontrol.CacheControl.parse?4(header, updates_to=None, type=None) +cachecontrol.CacheControl.private?7 +cachecontrol.CacheControl.proxy_revalidate?7 +cachecontrol.CacheControl.public?7 +cachecontrol.CacheControl.s_max_age?7 +cachecontrol.CacheControl.s_maxage?7 +cachecontrol.CacheControl.update_dict?7 +cachecontrol.CacheControl?1(properties, type) +cachecontrol.UpdateDict._updated?5() +cachecontrol.UpdateDict.clear?4() +cachecontrol.UpdateDict.pop?4(*args) +cachecontrol.UpdateDict.popitem?4() +cachecontrol.UpdateDict.setdefault?4(key, value=None) +cachecontrol.UpdateDict.update?4(*args, **kw) +cachecontrol.UpdateDict.updated?7 +cachecontrol.UpdateDict.updated_args?7 +cachecontrol.exists_property?1(prop, type=None) +cachecontrol.need_quote_re?7 +cachecontrol.serialize_cache_control?4(properties) +cachecontrol.token_re?7 +cachecontrol.value_property?1(prop, default=None, none=None, type=None) +client.SendRequest.MULTILINE_RE?7 +client.SendRequest._timeout_supported?5(ConnClass) +client.SendRequest.filtered_headers?7 +client.SendRequest.parse_headers?4(message) +client.SendRequest?1(HTTPConnection=httplib.HTTPConnection, HTTPSConnection=httplib.HTTPSConnection) +client._e_refused?8 +client.send_request_app?7 +compat.PY3?7 +compat.bytes_?4(s, encoding='latin-1', errors='strict') +compat.iteritems_?4(d) +compat.itervalues_?4(d) +compat.native_?4(s, encoding='latin-1', errors='strict') +compat.parse_qsl_text?4(qs, encoding='utf-8') +compat.reraise?4(exc_info) +compat.text_?4(s, encoding='latin-1', errors='strict') +compat.unquote?4(string) +compat.url_unquote?4(s) +cookies.Cookie.add?4(key, val) +cookies.Cookie.load?4(data) +cookies.Cookie.serialize?4(full=True) +cookies.Cookie.values?4() +cookies.Cookie?1(input=None) +cookies.Morsel.comment?7 +cookies.Morsel.domain?7 +cookies.Morsel.expires?7 +cookies.Morsel.httponly?7 +cookies.Morsel.max_age?7 +cookies.Morsel.path?7 +cookies.Morsel.secure?7 +cookies.Morsel.serialize?4(full=True) +cookies.Morsel?1(name, value) +cookies.RequestCookies._cache?5() +cookies.RequestCookies._cache_key?8 +cookies.RequestCookies._mutate_header?5(name, value) +cookies.RequestCookies._valid_cookie_name?5(name) +cookies.RequestCookies.clear?4() +cookies.RequestCookies.get?4(name, default=None) +cookies.RequestCookies.items?4() +cookies.RequestCookies.iteritems?4() +cookies.RequestCookies.iterkeys?4() +cookies.RequestCookies.itervalues?4() +cookies.RequestCookies.keys?4() +cookies.RequestCookies.values?4() +cookies.RequestCookies?1(environ) +cookies._b_dollar_sign?8 +cookies._b_quote_mark?8 +cookies._bchr?8 +cookies._c_keys?8 +cookies._c_renames?8 +cookies._c_valkeys?8 +cookies._ch_unquote?5(m) +cookies._ch_unquote_map?8 +cookies._escape_char?8 +cookies._escape_map?8 +cookies._escape_noop_chars?8 +cookies._legal_special_chars?8 +cookies._marker?8 +cookies._needs_quoting?5(v) +cookies._no_escape_bytes?8 +cookies._no_escape_chars?8 +cookies._no_escape_special_chars?8 +cookies._notrans_binary?8 +cookies._parse_cookie?5(data) +cookies._quote?5(v) +cookies._re_cookie_str?8 +cookies._re_cookie_str_equal?8 +cookies._re_cookie_str_key?8 +cookies._re_cookie_str_val?8 +cookies._re_expires_val?8 +cookies._re_legal_char?8 +cookies._re_quoted?8 +cookies._re_unquoted_val?8 +cookies._rx_cookie?8 +cookies._rx_unquote?8 +cookies._unquote?5(v) +cookies._valid_cookie_name?5(key) +cookies.cookie_property?4(key, serialize=lambda v: v) +cookies.fset?4(self, v) +cookies.months?7 +cookies.parse_cookie?4(data) +cookies.serialize_cookie_date?4(v) +cookies.serialize_max_age?4(v) +cookies.weekdays?7 +datetime_utils.UTC?7 +datetime_utils._UTC.dst?4(dt) +datetime_utils._UTC.tzname?4(dt) +datetime_utils._UTC.utcoffset?4(dt) +datetime_utils._now?8 +datetime_utils.day?7 +datetime_utils.hour?7 +datetime_utils.minute?7 +datetime_utils.month?7 +datetime_utils.parse_date?4(value) +datetime_utils.parse_date_delta?4(value) +datetime_utils.second?7 +datetime_utils.serialize_date?4(dt) +datetime_utils.serialize_date_delta?4(value) +datetime_utils.timedelta_to_seconds?4(td) +datetime_utils.week?7 +datetime_utils.year?7 +dec._MiddlewareFactory?2(wrapper_class, middleware, kw) +dec._UnboundMiddleware?2(wrapper_class, app, kw) +dec.wsgify.RequestClass?7 +dec.wsgify.call_func?4(req, *args, **kwargs) +dec.wsgify.clone?4(func=None, **kw) +dec.wsgify.get?4(url, **kw) +dec.wsgify.middleware?4(middle_func=None, app=None, **kw) +dec.wsgify.post?4(url, POST=None, **kw) +dec.wsgify.request?4(url, **kw) +dec.wsgify.undecorated?4() +dec.wsgify?1(func=None, RequestClass=None, args=(), kwargs=None, middleware_wraps=None) +descriptors.CHARSET_RE?7 +descriptors.SCHEME_RE?7 +descriptors._not_given?8 +descriptors._rx_auth_param?8 +descriptors._rx_etag?8 +descriptors.converter?4(prop, parse, serialize, convert_name=None) +descriptors.converter_date?4(prop) +descriptors.date_header?4(header, rfc_section) +descriptors.deprecated_property?4(attr, name, text, version) +descriptors.environ_decoder?4(key, default=_not_given, rfc_section=None, encattr=None) +descriptors.environ_getter?4(key, default=_not_given, rfc_section=None) +descriptors.fdel?4(r) +descriptors.fdel?4(req) +descriptors.fdel?4(self) +descriptors.fget?4(r) +descriptors.fget?4(req) +descriptors.fget?4(self) +descriptors.fset?4(r, val) +descriptors.fset?4(r, value) +descriptors.fset?4(req, val) +descriptors.fset?4(self, val) +descriptors.header_getter?4(header, rfc_section) +descriptors.known_auth_schemes?7 +descriptors.list_header?4(header, rfc_section) +descriptors.parse_auth?4(val) +descriptors.parse_auth_params?4(params) +descriptors.parse_content_range?4(value) +descriptors.parse_etag_response?4(value, strong=False) +descriptors.parse_int?4(value) +descriptors.parse_int_safe?4(value) +descriptors.parse_list?4(value) +descriptors.parse_range?4(value) +descriptors.serialize_auth?4(val) +descriptors.serialize_content_range?4(value) +descriptors.serialize_etag_response?4(value) +descriptors.serialize_if_range?4(value) +descriptors.serialize_int?7 +descriptors.serialize_list?4(value) +descriptors.serialize_range?4(value) +descriptors.upath_property?4(key) +descriptors.warn?4() +etag.AnyETag?7 +etag.ETagMatcher.parse?4(value, strong=True) +etag.ETagMatcher.weak_match?4(other) +etag.ETagMatcher?1(etags) +etag.IfRange.match?7 +etag.IfRange.parse?4(value) +etag.IfRange?1(etag) +etag.IfRangeDate.match?7 +etag.IfRangeDate?1(date) +etag.NoETag?7 +etag._AnyETag.weak_match?4(other) +etag._NoETag.weak_match?4(other) +etag._warn_if_range_match_deprecated?5(*args, **kw) +etag._warn_weak_match_deprecated?5() +etag.etag_property?4(key, default, rfc_section, strong=True) +etag.fdel?4(req) +etag.fget?4(req) +etag.fset?4(req, val) +exc.HTTPAccepted.code?7 +exc.HTTPAccepted.explanation?7 +exc.HTTPAccepted.title?7 +exc.HTTPBadGateway.code?7 +exc.HTTPBadGateway.explanation?7 +exc.HTTPBadGateway.title?7 +exc.HTTPClientError.code?7 +exc.HTTPClientError.explanation?7 +exc.HTTPClientError.title?7 +exc.HTTPConflict.code?7 +exc.HTTPConflict.explanation?7 +exc.HTTPConflict.title?7 +exc.HTTPCreated.code?7 +exc.HTTPCreated.title?7 +exc.HTTPException.exception?4() +exc.HTTPException?1(message, wsgi_response) +exc.HTTPExceptionMiddleware.repl_start_response?4(headers, exc_info=None) +exc.HTTPExceptionMiddleware?1(application) +exc.HTTPExpectationFailed.code?7 +exc.HTTPExpectationFailed.explanation?7 +exc.HTTPExpectationFailed.title?7 +exc.HTTPFailedDependency.code?7 +exc.HTTPFailedDependency.explanation?7 +exc.HTTPFailedDependency.title?7 +exc.HTTPForbidden.code?7 +exc.HTTPForbidden.explanation?7 +exc.HTTPForbidden.title?7 +exc.HTTPFound.code?7 +exc.HTTPFound.explanation?7 +exc.HTTPFound.title?7 +exc.HTTPGatewayTimeout.code?7 +exc.HTTPGatewayTimeout.explanation?7 +exc.HTTPGatewayTimeout.title?7 +exc.HTTPGone.code?7 +exc.HTTPGone.explanation?7 +exc.HTTPGone.title?7 +exc.HTTPInsufficientStorage.code?7 +exc.HTTPInsufficientStorage.explanation?7 +exc.HTTPInsufficientStorage.title?7 +exc.HTTPLengthRequired.code?7 +exc.HTTPLengthRequired.explanation?7 +exc.HTTPLengthRequired.title?7 +exc.HTTPLocked.code?7 +exc.HTTPLocked.explanation?7 +exc.HTTPLocked.title?7 +exc.HTTPMethodNotAllowed.body_template_obj?7 +exc.HTTPMethodNotAllowed.code?7 +exc.HTTPMethodNotAllowed.title?7 +exc.HTTPMovedPermanently.code?7 +exc.HTTPMovedPermanently.title?7 +exc.HTTPMultipleChoices.code?7 +exc.HTTPMultipleChoices.title?7 +exc.HTTPNetworkAuthenticationRequired.code?7 +exc.HTTPNetworkAuthenticationRequired.explanation?7 +exc.HTTPNetworkAuthenticationRequired.title?7 +exc.HTTPNoContent.code?7 +exc.HTTPNoContent.empty_body?7 +exc.HTTPNoContent.title?7 +exc.HTTPNonAuthoritativeInformation.code?7 +exc.HTTPNonAuthoritativeInformation.title?7 +exc.HTTPNotAcceptable.code?7 +exc.HTTPNotAcceptable.template?7 +exc.HTTPNotAcceptable.title?7 +exc.HTTPNotFound.code?7 +exc.HTTPNotFound.explanation?7 +exc.HTTPNotFound.title?7 +exc.HTTPNotImplemented.code?7 +exc.HTTPNotImplemented.template?7 +exc.HTTPNotImplemented.title?7 +exc.HTTPNotModified.code?7 +exc.HTTPNotModified.empty_body?7 +exc.HTTPNotModified.title?7 +exc.HTTPOk.code?7 +exc.HTTPOk.title?7 +exc.HTTPPartialContent.code?7 +exc.HTTPPartialContent.title?7 +exc.HTTPPaymentRequired.code?7 +exc.HTTPPaymentRequired.explanation?7 +exc.HTTPPaymentRequired.title?7 +exc.HTTPPreconditionFailed.code?7 +exc.HTTPPreconditionFailed.explanation?7 +exc.HTTPPreconditionFailed.title?7 +exc.HTTPPreconditionRequired.code?7 +exc.HTTPPreconditionRequired.explanation?7 +exc.HTTPPreconditionRequired.title?7 +exc.HTTPProxyAuthenticationRequired.code?7 +exc.HTTPProxyAuthenticationRequired.explanation?7 +exc.HTTPProxyAuthenticationRequired.title?7 +exc.HTTPRequestEntityTooLarge.code?7 +exc.HTTPRequestEntityTooLarge.explanation?7 +exc.HTTPRequestEntityTooLarge.title?7 +exc.HTTPRequestHeaderFieldsTooLarge.code?7 +exc.HTTPRequestHeaderFieldsTooLarge.explanation?7 +exc.HTTPRequestHeaderFieldsTooLarge.title?7 +exc.HTTPRequestRangeNotSatisfiable.code?7 +exc.HTTPRequestRangeNotSatisfiable.explanation?7 +exc.HTTPRequestRangeNotSatisfiable.title?7 +exc.HTTPRequestTimeout.code?7 +exc.HTTPRequestTimeout.explanation?7 +exc.HTTPRequestTimeout.title?7 +exc.HTTPRequestURITooLong.code?7 +exc.HTTPRequestURITooLong.explanation?7 +exc.HTTPRequestURITooLong.title?7 +exc.HTTPResetContent.code?7 +exc.HTTPResetContent.empty_body?7 +exc.HTTPResetContent.title?7 +exc.HTTPSeeOther.code?7 +exc.HTTPSeeOther.title?7 +exc.HTTPServerError.code?7 +exc.HTTPServerError.explanation?7 +exc.HTTPServerError.title?7 +exc.HTTPServiceUnavailable.code?7 +exc.HTTPServiceUnavailable.explanation?7 +exc.HTTPServiceUnavailable.title?7 +exc.HTTPTemporaryRedirect.code?7 +exc.HTTPTemporaryRedirect.title?7 +exc.HTTPTooManyRequests.code?7 +exc.HTTPTooManyRequests.explanation?7 +exc.HTTPTooManyRequests.title?7 +exc.HTTPUnauthorized.code?7 +exc.HTTPUnauthorized.explanation?7 +exc.HTTPUnauthorized.title?7 +exc.HTTPUnprocessableEntity.code?7 +exc.HTTPUnprocessableEntity.explanation?7 +exc.HTTPUnprocessableEntity.title?7 +exc.HTTPUnsupportedMediaType.code?7 +exc.HTTPUnsupportedMediaType.template_obj?7 +exc.HTTPUnsupportedMediaType.title?7 +exc.HTTPUseProxy.code?7 +exc.HTTPUseProxy.explanation?7 +exc.HTTPUseProxy.title?7 +exc.HTTPVersionNotSupported.code?7 +exc.HTTPVersionNotSupported.explanation?7 +exc.HTTPVersionNotSupported.title?7 +exc.WSGIHTTPException._make_body?5(environ, escape) +exc.WSGIHTTPException.body_template_obj?7 +exc.WSGIHTTPException.code?7 +exc.WSGIHTTPException.empty_body?7 +exc.WSGIHTTPException.explanation?7 +exc.WSGIHTTPException.generate_response?4(environ, start_response) +exc.WSGIHTTPException.html_body?4(environ) +exc.WSGIHTTPException.html_template_obj?7 +exc.WSGIHTTPException.plain_body?4(environ) +exc.WSGIHTTPException.plain_template_obj?7 +exc.WSGIHTTPException.title?7 +exc.WSGIHTTPException.wsgi_response?4() +exc.WSGIHTTPException?1(detail=None, headers=None, comment=None, body_template=None, **kw) +exc._HTTPMove.body_template_obj?7 +exc._HTTPMove.explanation?7 +exc._HTTPMove?2(detail=None, headers=None, comment=None, body_template=None, location=None, add_slash=False) +exc.br_re?7 +exc.comment_re?7 +exc.no_escape?4(value) +exc.status_map?7 +exc.strip_tags?4(value) +exc.tag_re?7 +headers.EnvironHeaders.keys?4() +headers.EnvironHeaders?1(environ) +headers.ResponseHeaders.dict_of_lists?4() +headers.ResponseHeaders.getall?4(key) +headers.ResponseHeaders.has_key?7 +headers.ResponseHeaders.mixed?4() +headers.ResponseHeaders.pop?4(key, *args) +headers.ResponseHeaders.setdefault?4(key, default=None) +headers._trans_key?5(key) +headers._trans_name?5(name) +headers.header2key?7 +headers.key2header?7 +multidict.GetDict.add?4(key, value) +multidict.GetDict.clear?4() +multidict.GetDict.copy?4() +multidict.GetDict.on_change?4() +multidict.GetDict.pop?4(key, *args) +multidict.GetDict.popitem?4() +multidict.GetDict.setdefault?4(key, default=None) +multidict.GetDict.update?4(*args, **kwargs) +multidict.GetDict?1(data, env) +multidict.MultiDict.add?4(key, value) +multidict.MultiDict.clear?4() +multidict.MultiDict.copy?4() +multidict.MultiDict.dict_of_lists?4() +multidict.MultiDict.extend?4(other=None, **kwargs) +multidict.MultiDict.from_fieldstorage?4(fs) +multidict.MultiDict.getall?4(key) +multidict.MultiDict.getone?4(key) +multidict.MultiDict.has_key?7 +multidict.MultiDict.items?4() +multidict.MultiDict.iteritems?4() +multidict.MultiDict.iterkeys?4() +multidict.MultiDict.itervalues?4() +multidict.MultiDict.keys?4() +multidict.MultiDict.mixed?4() +multidict.MultiDict.pop?4(key, *args) +multidict.MultiDict.popitem?4() +multidict.MultiDict.setdefault?4(key, default=None) +multidict.MultiDict.update?4(*args, **kw) +multidict.MultiDict.values?4() +multidict.MultiDict.view_list?4(lst) +multidict.MultiDict?1(*args, **kw) +multidict.NestedMultiDict._readonly?5(*args, **kw) +multidict.NestedMultiDict.add?7 +multidict.NestedMultiDict.clear?7 +multidict.NestedMultiDict.copy?4() +multidict.NestedMultiDict.getall?4(key) +multidict.NestedMultiDict.has_key?7 +multidict.NestedMultiDict.items?4() +multidict.NestedMultiDict.iteritems?4() +multidict.NestedMultiDict.iterkeys?7 +multidict.NestedMultiDict.itervalues?4() +multidict.NestedMultiDict.keys?4() +multidict.NestedMultiDict.pop?7 +multidict.NestedMultiDict.popitem?7 +multidict.NestedMultiDict.setdefault?7 +multidict.NestedMultiDict.update?7 +multidict.NestedMultiDict.values?4() +multidict.NestedMultiDict?1(*dicts) +multidict.NoVars.add?7 +multidict.NoVars.clear?7 +multidict.NoVars.copy?4() +multidict.NoVars.dict_of_lists?7 +multidict.NoVars.get?4(key, default=None) +multidict.NoVars.getall?4(key) +multidict.NoVars.getone?4(key) +multidict.NoVars.has_key?7 +multidict.NoVars.iterkeys?4() +multidict.NoVars.keys?4() +multidict.NoVars.mixed?4() +multidict.NoVars.pop?7 +multidict.NoVars.popitem?7 +multidict.NoVars.setdefault?7 +multidict.NoVars.update?7 +multidict.NoVars?1(reason=None) +multidict._dummy?8 +multidict._hide_passwd?5(items) +request.AdhocAttrMixin._setattr_stacklevel?8 +request.BaseRequest.GET?4() +request.BaseRequest.POST?4() +request.BaseRequest.ResponseClass?7 +request.BaseRequest._body__del?5() +request.BaseRequest._body__get?5() +request.BaseRequest._body__set?5(value) +request.BaseRequest._body_file__del?5() +request.BaseRequest._body_file__get?5() +request.BaseRequest._body_file__set?5(value) +request.BaseRequest._cache_control__del?5() +request.BaseRequest._cache_control__get?5() +request.BaseRequest._cache_control__set?5(value) +request.BaseRequest._charset?8 +request.BaseRequest._check_charset?5() +request.BaseRequest._content_type__get?5() +request.BaseRequest._content_type__set?5(value=None) +request.BaseRequest._content_type_raw?8 +request.BaseRequest._copy_body_tempfile?5() +request.BaseRequest._headers?8 +request.BaseRequest._headers__get?5() +request.BaseRequest._headers__set?5(value) +request.BaseRequest._host__del?5() +request.BaseRequest._host__get?5() +request.BaseRequest._host__set?5(value) +request.BaseRequest._is_body_readable__get?5() +request.BaseRequest._is_body_readable__set?5(flag) +request.BaseRequest._json_body__del?5() +request.BaseRequest._json_body__get?5() +request.BaseRequest._json_body__set?5(value) +request.BaseRequest._setattr_stacklevel?8 +request.BaseRequest._text__del?5() +request.BaseRequest._text__get?5() +request.BaseRequest._text__set?5(value) +request.BaseRequest._update_cache_control?5(prop_dict) +request.BaseRequest._urlargs__del?5() +request.BaseRequest._urlargs__get?5() +request.BaseRequest._urlargs__set?5(value) +request.BaseRequest._urlvars__del?5() +request.BaseRequest._urlvars__get?5() +request.BaseRequest._urlvars__set?5(value) +request.BaseRequest.accept?7 +request.BaseRequest.accept_charset?7 +request.BaseRequest.accept_encoding?7 +request.BaseRequest.accept_language?7 +request.BaseRequest.application_url?4() +request.BaseRequest.as_bytes?4(skip_body=False) +request.BaseRequest.as_string?4(skip_body=False) +request.BaseRequest.as_text?4() +request.BaseRequest.authorization?7 +request.BaseRequest.blank?4(path, environ=None, base_url=None, headers=None, POST=None, **kw) +request.BaseRequest.body?7 +request.BaseRequest.body_file?7 +request.BaseRequest.body_file_raw?7 +request.BaseRequest.body_file_seekable?4() +request.BaseRequest.cache_control?7 +request.BaseRequest.call_application?4(application, catch_exc_info=False) +request.BaseRequest.charset?4(charset) +request.BaseRequest.client_addr?4() +request.BaseRequest.content_length?7 +request.BaseRequest.content_type?7 +request.BaseRequest.cookies?4(val) +request.BaseRequest.copy?4() +request.BaseRequest.copy_body?4() +request.BaseRequest.copy_get?4() +request.BaseRequest.date?7 +request.BaseRequest.decode?4(charset=None, errors='strict') +request.BaseRequest.encget?4(key, default=NoDefault, encattr=None) +request.BaseRequest.encset?4(key, val, encattr=None) +request.BaseRequest.from_bytes?4(b) +request.BaseRequest.from_file?4(fp) +request.BaseRequest.from_string?4(b) +request.BaseRequest.from_text?4(s) +request.BaseRequest.get_response?7 +request.BaseRequest.headers?7 +request.BaseRequest.host?7 +request.BaseRequest.host_port?4() +request.BaseRequest.host_url?4() +request.BaseRequest.http_version?7 +request.BaseRequest.if_match?7 +request.BaseRequest.if_modified_since?7 +request.BaseRequest.if_none_match?7 +request.BaseRequest.if_range?7 +request.BaseRequest.if_unmodified_since?7 +request.BaseRequest.is_body_readable?7 +request.BaseRequest.is_body_seekable?7 +request.BaseRequest.is_xhr?4() +request.BaseRequest.json?7 +request.BaseRequest.make_body_seekable?4() +request.BaseRequest.make_default_send_app?4() +request.BaseRequest.make_tempfile?4() +request.BaseRequest.max_forwards?7 +request.BaseRequest.method?7 +request.BaseRequest.params?4() +request.BaseRequest.path?4() +request.BaseRequest.path_info?7 +request.BaseRequest.path_info_peek?4() +request.BaseRequest.path_info_pop?4(pattern=None) +request.BaseRequest.path_qs?4() +request.BaseRequest.path_url?4() +request.BaseRequest.pragma?7 +request.BaseRequest.query_string?7 +request.BaseRequest.range?7 +request.BaseRequest.referer?7 +request.BaseRequest.referrer?7 +request.BaseRequest.relative_url?4(other_url, to_application=False) +request.BaseRequest.remote_addr?7 +request.BaseRequest.remote_user?7 +request.BaseRequest.remove_conditional_headers?4(remove_encoding=True, remove_range=True, remove_match=True, remove_modified=True) +request.BaseRequest.request_body_tempfile_limit?7 +request.BaseRequest.scheme?7 +request.BaseRequest.script_name?7 +request.BaseRequest.send?4(application=None, catch_exc_info=False) +request.BaseRequest.server_name?7 +request.BaseRequest.server_port?7 +request.BaseRequest.start_response?4(headers, exc_info=None) +request.BaseRequest.text?7 +request.BaseRequest.upath_info?7 +request.BaseRequest.url?4() +request.BaseRequest.url_encoding?7 +request.BaseRequest.urlargs?7 +request.BaseRequest.urlvars?7 +request.BaseRequest.uscript_name?7 +request.BaseRequest.user_agent?7 +request.BaseRequest?1(environ, charset=None, unicode_errors=None, decode_param_names=None, **kw) +request.FakeCGIBody.fileno?4() +request.FakeCGIBody.readable?4() +request.FakeCGIBody.readinto?4(buff) +request.FakeCGIBody?1(vars, content_type) +request.LegacyRequest.encget?4(key, default=NoDefault, encattr=None) +request.LegacyRequest.upath_info?7 +request.LegacyRequest.uscript_name?7 +request.LimitedLengthFile.fileno?4() +request.LimitedLengthFile.readable?4() +request.LimitedLengthFile.readinto?4(buff) +request.LimitedLengthFile?1(file, maxlen) +request.NoDefault?7 +request.PATH_SAFE?7 +request.Transcoder._prop?8 +request.Transcoder._str_name?8 +request.Transcoder.transcode_fs?4(fs, content_type) +request.Transcoder.transcode_query?4(q) +request.Transcoder?1(charset, errors='strict') +request._LATIN_ENCODINGS?8 +request._cgi_FieldStorage__repr__patch?5(self) +request._encode_multipart?5(vars, content_type, fout=None) +request._get_multipart_boundary?5(ctype) +request._is_utf8?5(charset) +request.detect_charset?4(ctype) +request.environ_add_POST?4(env, data, content_type=None) +request.environ_from_url?4(path) +request.http_method_probably_has_body?7 +response.AppIterRange._skip_start?5() +response.AppIterRange.close?4() +response.AppIterRange.next?4() +response.AppIterRange?1(app_iter, start, stop) +response.EmptyResponse.next?4() +response.EmptyResponse?1(app_iter=None) +response.Response._abs_headerlist?5(environ) +response.Response._app_iter__del?5() +response.Response._app_iter__get?5() +response.Response._app_iter__set?5(value) +response.Response._body__get?5() +response.Response._body__set?5(value=b'') +response.Response._body_file__del?5() +response.Response._body_file__get?5() +response.Response._body_file__set?5(file) +response.Response._cache_control__del?5() +response.Response._cache_control__get?5() +response.Response._cache_control__set?5(value) +response.Response._cache_control_obj?8 +response.Response._cache_expires?5(seconds=0, **kw) +response.Response._charset__del?5() +response.Response._charset__get?5() +response.Response._charset__set?5(charset) +response.Response._content_type__del?5() +response.Response._content_type__get?5() +response.Response._content_type__set?5(value) +response.Response._content_type_params__del?5() +response.Response._content_type_params__get?5() +response.Response._content_type_params__set?5(value_dict) +response.Response._etag_raw?8 +response.Response._headerlist__del?5() +response.Response._headerlist__get?5() +response.Response._headerlist__set?5(value) +response.Response._headers__get?5() +response.Response._headers__set?5(value) +response.Response._json_body__del?5() +response.Response._json_body__get?5() +response.Response._json_body__set?5(value) +response.Response._safe_methods?8 +response.Response._status__get?5() +response.Response._status__set?5(value) +response.Response._status_code__get?5() +response.Response._status_code__set?5(code) +response.Response._text__del?5() +response.Response._text__get?5() +response.Response._text__set?5(value) +response.Response._update_cache_control?5(prop_dict) +response.Response.accept_ranges?7 +response.Response.age?7 +response.Response.allow?7 +response.Response.app_iter?7 +response.Response.app_iter_range?4(start, stop) +response.Response.body?7 +response.Response.body_file?7 +response.Response.cache_control?7 +response.Response.cache_expires?7 +response.Response.charset?7 +response.Response.conditional_response_app?4(environ, start_response) +response.Response.content_disposition?7 +response.Response.content_encoding?7 +response.Response.content_language?7 +response.Response.content_length?7 +response.Response.content_location?7 +response.Response.content_md5?7 +response.Response.content_range?7 +response.Response.content_type?7 +response.Response.content_type_params?7 +response.Response.copy?4() +response.Response.date?7 +response.Response.decode_content?4() +response.Response.default_charset?7 +response.Response.default_conditional_response?7 +response.Response.default_content_type?7 +response.Response.delete_cookie?4(key, path='/', domain=None) +response.Response.encode_content?4(encoding='gzip', lazy=False) +response.Response.environ?7 +response.Response.etag?7 +response.Response.etag_strong?4() +response.Response.expires?7 +response.Response.from_file?4(fp) +response.Response.headerlist?7 +response.Response.headers?7 +response.Response.json?7 +response.Response.last_modified?7 +response.Response.location?7 +response.Response.md5_etag?4(body=None, set_content_md5=False) +response.Response.merge_cookies?4(resp) +response.Response.pragma?7 +response.Response.repl_app?4(start_response) +response.Response.repl_start_response?4(headers, exc_info=None) +response.Response.request?7 +response.Response.retry_after?7 +response.Response.server?7 +response.Response.set_cookie?4(key, value='', max_age=None, path='/', domain=None, secure=False, httponly=False, comment=None, expires=None, overwrite=False) +response.Response.status?7 +response.Response.status_code?7 +response.Response.text?7 +response.Response.unicode_body?7 +response.Response.unicode_errors?7 +response.Response.unset_cookie?4(key, strict=True) +response.Response.vary?7 +response.Response.write?4(text) +response.Response.www_authenticate?7 +response.Response?1(body=None, status=None, headerlist=None, app_iter=None, content_type=None, conditional_response=None, **kw) +response.ResponseBodyFile.close?4() +response.ResponseBodyFile.closed?7 +response.ResponseBodyFile.encoding?7 +response.ResponseBodyFile.flush?4() +response.ResponseBodyFile.mode?7 +response.ResponseBodyFile.writelines?4(seq) +response.ResponseBodyFile?1(response) +response._OK_PARAM_RE?8 +response._PARAM_RE?8 +response._error_unicode_in_app_iter?5(app_iter, body) +response._gzip_header?8 +response._request_uri?5(environ) +response.filter_headers?4(hlist, remove_headers=('content-length', 'content-type')) +response.gzip_app_iter?4(app_iter) +response.iter_close?4(iter) +response.iter_file?4(file, block_size=1<<18) +static.BLOCK_SIZE?7 +static.DirectoryApp.index?4(req, path) +static.DirectoryApp.make_fileapp?4(path) +static.DirectoryApp?1(path, index_page='index.html', hide_index_with_redirect=False, **kw) +static.FileApp?1(filename, **kw) +static.FileIter.app_iter_range?4(seek=None, limit=None, block_size=None) +static.FileIter?1(file) +util.header_docstring?4(header, rfc_section) +util.html_escape?4(s) +util.status_generic_reasons?7 +util.status_reasons?7 +util.warn_deprecation?4(text, version, stacklevel)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/APIs/WebOb-1.2.bas Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,73 @@ +AcceptCharset Accept +AcceptLanguage Accept +Cookie dict +DisconnectionError IOError +EnvironHeaders MutableMapping +FakeCGIBody io.RawIOBase +GetDict MultiDict +HTTPAccepted HTTPOk +HTTPBadGateway HTTPServerError +HTTPBadRequest HTTPClientError +HTTPClientError HTTPError +HTTPConflict HTTPClientError +HTTPCreated HTTPOk +HTTPError WSGIHTTPException +HTTPException Exception +HTTPExpectationFailed HTTPClientError +HTTPFailedDependency HTTPClientError +HTTPForbidden HTTPClientError +HTTPFound _HTTPMove +HTTPGatewayTimeout HTTPServerError +HTTPGone HTTPClientError +HTTPInsufficientStorage HTTPServerError +HTTPInternalServerError HTTPServerError +HTTPLengthRequired HTTPClientError +HTTPLocked HTTPClientError +HTTPMethodNotAllowed HTTPClientError +HTTPMovedPermanently _HTTPMove +HTTPMultipleChoices _HTTPMove +HTTPNetworkAuthenticationRequired HTTPServerError +HTTPNoContent HTTPOk +HTTPNonAuthoritativeInformation HTTPOk +HTTPNotAcceptable HTTPClientError +HTTPNotFound HTTPClientError +HTTPNotImplemented HTTPServerError +HTTPNotModified HTTPRedirection +HTTPOk WSGIHTTPException +HTTPPartialContent HTTPOk +HTTPPaymentRequired HTTPClientError +HTTPPreconditionFailed HTTPClientError +HTTPPreconditionRequired HTTPClientError +HTTPProxyAuthenticationRequired HTTPClientError +HTTPRedirection WSGIHTTPException +HTTPRequestEntityTooLarge HTTPClientError +HTTPRequestHeaderFieldsTooLarge HTTPClientError +HTTPRequestRangeNotSatisfiable HTTPClientError +HTTPRequestTimeout HTTPClientError +HTTPRequestURITooLong HTTPClientError +HTTPResetContent HTTPOk +HTTPSeeOther _HTTPMove +HTTPServerError HTTPError +HTTPServiceUnavailable HTTPServerError +HTTPTemporaryRedirect _HTTPMove +HTTPTooManyRequests HTTPClientError +HTTPUnauthorized HTTPClientError +HTTPUnprocessableEntity HTTPClientError +HTTPUnsupportedMediaType HTTPClientError +HTTPUseProxy _HTTPMove +HTTPVersionNotSupported HTTPServerError +LegacyRequest BaseRequest +LimitedLengthFile io.RawIOBase +MIMEAccept Accept +MIMENilAccept NilAccept +Morsel dict +MultiDict MutableMapping +NestedMultiDict MultiDict +NoAccept NilAccept +Request AdhocAttrMixin BaseRequest +RequestCookies collections.MutableMapping +ResponseHeaders MultiDict +UpdateDict dict +WSGIHTTPException HTTPException Response +_HTTPMove HTTPRedirection +_UTC tzinfo
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/ConfigurationPage/PyramidPage.py Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,157 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Pyramid configuration page. +""" + +from PyQt4.QtCore import pyqtSlot + +from E5Gui.E5Completers import E5DirCompleter +from E5Gui import E5FileDialog + +from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase +from .Ui_PyramidPage import Ui_PyramidPage + +import Utilities + +from Globals import isWindowsPlatform, isMacPlatform + + +class PyramidPage(ConfigurationPageBase, Ui_PyramidPage): + """ + Class implementing the Pyramid configuration page. + """ + def __init__(self, plugin): + """ + Constructor + + @param plugin reference to the plugin object + """ + super().__init__() + self.setupUi(self) + self.setObjectName("PyramidPage") + + self.__plugin = plugin + + consoleList = [] + if isWindowsPlatform(): + consoleList.append("cmd.exe /c") + elif isMacPlatform(): + consoleList.append("xterm -e") + else: + consoleList.append("konsole -e") + consoleList.append("@konsole --workdir . -e") + # KDE4 konsole spawns + consoleList.append("gnome-terminal -x") + consoleList.append("xterm -e") + + consoleNoCloseList = [] + if isWindowsPlatform(): + consoleNoCloseList.append("cmd.exe /k") + elif isMacPlatform(): + consoleNoCloseList.append("xterm -hold -e") + else: + consoleNoCloseList.append("konsole --noclose -e") + consoleNoCloseList.append("@konsole --noclose --workdir . -e") + # KDE4 konsole spawns + consoleNoCloseList.append("xterm -hold -e") + + self.consoleCommandCombo.addItems(consoleList) + self.consoleCommandNoCloseCombo.addItems(consoleNoCloseList) + + self.virtualEnvPy2Completer = E5DirCompleter(self.virtualEnvPy2Edit) + self.virtualEnvPy3Completer = E5DirCompleter(self.virtualEnvPy3Edit) + + self.py2ShellCombo.addItem(self.trUtf8("Plain Python"), "python") + self.py2ShellCombo.addItem(self.trUtf8("IPython"), "ipython") + self.py2ShellCombo.addItem(self.trUtf8("bpython"), "bpython") + + self.py3ShellCombo.addItem(self.trUtf8("Plain Python"), "python") + self.py3ShellCombo.addItem(self.trUtf8("IPython"), "ipython") + self.py3ShellCombo.addItem(self.trUtf8("bpython"), "bpython") + + # set initial values + self.consoleCommandCombo.setEditText( + self.__plugin.getPreferences("ConsoleCommand")) + self.consoleCommandNoCloseCombo.setEditText( + self.__plugin.getPreferences("ConsoleCommandNoClose")) + + self.virtualEnvPy2Edit.setText( + self.__plugin.getPreferences("VirtualEnvironmentPy2")) + self.virtualEnvPy3Edit.setText( + self.__plugin.getPreferences("VirtualEnvironmentPy3")) + + self.portSpinBox.setValue( + self.__plugin.getPreferences("ServerPort")) + + self.py2ShellCombo.setCurrentIndex(self.py2ShellCombo.findData( + self.__plugin.getPreferences("Python2ConsoleType"))) + self.py3ShellCombo.setCurrentIndex(self.py3ShellCombo.findData( + self.__plugin.getPreferences("Python3ConsoleType"))) + + self.urlEdit.setText( + self.__plugin.getPreferences("PyramidDocUrl")) + + def save(self): + """ + Public slot to save the Pyramid configuration. + """ + self.__plugin.setPreferences("ConsoleCommand", + self.consoleCommandCombo.currentText()) + self.__plugin.setPreferences("ConsoleCommandNoClose", + self.consoleCommandNoCloseCombo.currentText()) + + self.__plugin.setPreferences("VirtualEnvironmentPy2", + self.virtualEnvPy2Edit.text()) + self.__plugin.setPreferences("VirtualEnvironmentPy3", + self.virtualEnvPy3Edit.text()) + + self.__plugin.setPreferences("ServerPort", + self.portSpinBox.value()) + + self.__plugin.setPreferences("Python2ConsoleType", + self.py2ShellCombo.itemData(self.py2ShellCombo.currentIndex())) + self.__plugin.setPreferences("Python3ConsoleType", + self.py3ShellCombo.itemData(self.py3ShellCombo.currentIndex())) + + self.__plugin.setPreferences("PyramidDocUrl", + self.urlEdit.text()) + + @pyqtSlot() + def on_virtualEnvPy3Button_clicked(self): + """ + Private slot to select the virtual environment for Python 3 via a + directory selection dialog. + """ + vDir = self.virtualEnvPy3Edit.text() + if not vDir: + vDir = Utilities.getHomeDir() + virtualEnv = E5FileDialog.getExistingDirectory( + self, + self.trUtf8("Select Virtual Environment for Python 3"), + vDir, + E5FileDialog.Options(E5FileDialog.Option(0))) + + if virtualEnv: + self.virtualEnvPy3Edit.setText(Utilities.toNativeSeparators(virtualEnv)) + + @pyqtSlot() + def on_virtualEnvPy2Button_clicked(self): + """ + Private slot to select the virtual environment for Python 2 via a + directory selection dialog. + """ + vDir = self.virtualEnvPy2Edit.text() + if not vDir: + vDir = Utilities.getHomeDir() + virtualEnv = E5FileDialog.getExistingDirectory( + self, + self.trUtf8("Select Virtual Environment for Python 2"), + vDir, + E5FileDialog.Options(E5FileDialog.Option(0))) + + if virtualEnv: + self.virtualEnvPy2Edit.setText(Utilities.toNativeSeparators(virtualEnv))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/ConfigurationPage/PyramidPage.ui Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,315 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PyramidPage</class> + <widget class="QWidget" name="PyramidPage"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>528</width> + <height>868</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLabel" name="headerLabel"> + <property name="text"> + <string><b>Configure Pyramid</b></string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line15"> + <property name="frameShape"> + <enum>QFrame::HLine</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Sunken</enum> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QGroupBox" name="pyramidConsoleGroup"> + <property name="title"> + <string>Console Commands</string> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Console Command:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QComboBox" name="consoleCommandCombo"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Enter the console command</string> + </property> + <property name="editable"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Console Command (non-closing):</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QComboBox" name="consoleCommandNoCloseCombo"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Enter the console command for a non-closing console</string> + </property> + <property name="editable"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string><b>Note:</b> The console command for a console, that is spawning (i.e. exits before the console window is closed), should be prefixed by an '@' character.</string> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="python3Group"> + <property name="title"> + <string>Python 3</string> + </property> + <layout class="QGridLayout" name="gridLayout_5"> + <item row="0" column="0" colspan="2"> + <widget class="QGroupBox" name="pyramidVirtualEnvPy3Group"> + <property name="title"> + <string>Pyramid Virtual Environment</string> + </property> + <layout class="QGridLayout" name="gridLayout_4"> + <item row="0" column="0" colspan="2"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Enter the path of the Pyramid virtual environment. Leave empty to not use a virtual environment setup.</string> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLineEdit" name="virtualEnvPy3Edit"/> + </item> + <item row="1" column="1"> + <widget class="QPushButton" name="virtualEnvPy3Button"> + <property name="toolTip"> + <string>Select the virtual environment directory via a selection dialog</string> + </property> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_9"> + <property name="text"> + <string>Pyramid Python Console:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QComboBox" name="py3ShellCombo"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Select the Python console type</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="python2Group"> + <property name="title"> + <string>Python 2</string> + </property> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0" colspan="2"> + <widget class="QGroupBox" name="pyramidVirtualEnvPy2Group"> + <property name="title"> + <string>Pyramid Virtual Environment</string> + </property> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0" colspan="2"> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>Enter the path of the Pyramid virtual environment. Leave empty to not use a virtual environment setup.</string> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLineEdit" name="virtualEnvPy2Edit"/> + </item> + <item row="1" column="1"> + <widget class="QPushButton" name="virtualEnvPy2Button"> + <property name="toolTip"> + <string>Select the virtual environment directory via a selection dialog</string> + </property> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_8"> + <property name="text"> + <string>Pyramid Python Console:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QComboBox" name="py2ShellCombo"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Select the Python console type</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="pyramidServerGroup"> + <property name="title"> + <string>Server</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Server Port:</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="portSpinBox"> + <property name="toolTip"> + <string>Enter the port number of the server (0 for default)</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="maximum"> + <number>65535</number> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>351</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="pyramidDocumenattionGroup"> + <property name="title"> + <string>Pyramid Documentation</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>URL:</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="urlEdit"> + <property name="toolTip"> + <string>Enter the URL of the Pyramid documentation</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>274</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <tabstops> + <tabstop>consoleCommandCombo</tabstop> + <tabstop>consoleCommandNoCloseCombo</tabstop> + <tabstop>virtualEnvPy3Edit</tabstop> + <tabstop>virtualEnvPy3Button</tabstop> + <tabstop>py3ShellCombo</tabstop> + <tabstop>virtualEnvPy2Edit</tabstop> + <tabstop>virtualEnvPy2Button</tabstop> + <tabstop>py2ShellCombo</tabstop> + <tabstop>portSpinBox</tabstop> + <tabstop>urlEdit</tabstop> + </tabstops> + <resources/> + <connections/> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/ConfigurationPage/__init__.py Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Package implementing the Pyramid page of the configuration dialog. +"""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/CreateParametersDialog.py Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a dialog for entering the create parameters. +""" + +from PyQt4.QtCore import pyqtSlot, QProcess +from PyQt4.QtGui import QDialog, QDialogButtonBox + +from E5Gui import E5MessageBox + +from .Ui_CreateParametersDialog import Ui_CreateParametersDialog + +import Preferences + + +class CreateParametersDialog(QDialog, Ui_CreateParametersDialog): + """ + Class implementing a dialog for entering the create parameters. + """ + def __init__(self, project, parent=None): + """ + Constructor + + @param project reference to the project object (Project) + @param parent reference to the parent widget (QWidget) + """ + super().__init__(parent) + self.setupUi(self) + + self.__okButton = self.buttonBox.button(QDialogButtonBox.Ok) + self.__okButton.setEnabled(False) + + errMsg = "" + proc = QProcess() + args = [] + args.append(project.getPyramidCommand("pcreate")) + args.append("--list") + proc.start(args[0], args[1:]) + procStarted = proc.waitForStarted() + if procStarted: + finished = proc.waitForFinished(30000) + if finished and proc.exitCode() == 0: + output = \ + str(proc.readAllStandardOutput(), + Preferences.getSystem("IOEncoding"), + 'replace') + else: + if not finished: + errMsg = self.trUtf8( + "The pcreate command did not finish within 30s.") + else: + errMsg = self.trUtf8("Could not start the pcreate executable.") + if not errMsg: + scaffolds = output.splitlines() + self.scaffoldCombo.addItem("") + for scaffold in sorted(scaffolds[1:]): + self.scaffoldCombo.addItem(scaffold.strip()) + self.scaffoldCombo.setCurrentIndex(0) + else: + E5MessageBox.critical(None, + self.trUtf8('Process Generation Error'), + errMsg) + + @pyqtSlot(str) + def on_nameEdit_textChanged(self, text): + """ + Private slot to handle changes of the site name. + + @param text text of the site entry (string) + """ + self.__updateUi() + + @pyqtSlot(str) + def on_scaffoldCombo_currentIndexChanged(self, text): + """ + Private slot to handle changes of the selected scaffold. + + @param text text of the combo box (string) + """ + self.__updateUi() + + def __updateUi(self): + """ + Private slot to update the dialog. + """ + self.__okButton.setEnabled( + bool(self.scaffoldCombo.currentText()) and \ + bool(self.nameEdit.text()) + ) + + def getData(self): + """ + Public method to get the data. + + @return tuple giving the scaffold (string), the project name (string), + a flag indicating to overwrite existing files (boolean) and a flag + indicating to simulate the creation (boolean) + """ + return ( + self.scaffoldCombo.currentText().split(":")[0], + self.nameEdit.text(), + self.overwriteCheckBox.isChecked(), + self.simulateCheckBox.isChecked() + )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/CreateParametersDialog.ui Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>CreateParametersDialog</class> + <widget class="QDialog" name="CreateParametersDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>450</width> + <height>160</height> + </rect> + </property> + <property name="windowTitle"> + <string>Create Parameters</string> + </property> + <property name="sizeGripEnabled"> + <bool>true</bool> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Project &Name:</string> + </property> + <property name="buddy"> + <cstring>nameEdit</cstring> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="nameEdit"> + <property name="toolTip"> + <string>Enter the name of the Pyramid project to create</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>&Scaffold:</string> + </property> + <property name="buddy"> + <cstring>scaffoldCombo</cstring> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QComboBox" name="scaffoldCombo"> + <property name="toolTip"> + <string>Select the scaffold to be used</string> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QCheckBox" name="overwriteCheckBox"> + <property name="toolTip"> + <string>Select to overwrite existing files</string> + </property> + <property name="text"> + <string>Overwrite existing files</string> + </property> + </widget> + </item> + <item row="3" column="0" colspan="2"> + <widget class="QCheckBox" name="simulateCheckBox"> + <property name="toolTip"> + <string>Select to simulate the creation</string> + </property> + <property name="text"> + <string>Simulate Pyramid project creation</string> + </property> + </widget> + </item> + <item row="4" column="0" colspan="2"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <tabstops> + <tabstop>nameEdit</tabstop> + <tabstop>scaffoldCombo</tabstop> + <tabstop>overwriteCheckBox</tabstop> + <tabstop>simulateCheckBox</tabstop> + <tabstop>buttonBox</tabstop> + </tabstops> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>CreateParametersDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>248</x> + <y>254</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>CreateParametersDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>316</x> + <y>260</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/DistributionTypeSelectionDialog.py Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a dialog to select the distribution file formats. +""" + +from PyQt4.QtCore import Qt, QProcess +from PyQt4.QtGui import QDialog, QListWidgetItem + +from E5Gui import E5MessageBox + +from .Ui_DistributionTypeSelectionDialog import Ui_DistributionTypeSelectionDialog + +import Preferences + + +class DistributionTypeSelectionDialog(QDialog, Ui_DistributionTypeSelectionDialog): + """ + Class implementing a dialog to select the distribution file formats. + """ + def __init__(self, project, projectPath, parent=None): + """ + Constructor + + @param project reference to the project object (ProjectPyramid.Project.Project) + @param projectPath path of the Pyramid project (string) + @param parent reference to the parent widget (QWidget) + """ + super().__init__(parent) + self.setupUi(self) + + errMsg = "" + proc = QProcess() + cmd = project.getPythonCommand() + args = [] + args.append("setup.py") + args.append("sdist") + args.append("--help-formats") + proc.setWorkingDirectory(projectPath) + proc.start(cmd, args) + procStarted = proc.waitForStarted() + if procStarted: + finished = proc.waitForFinished(30000) + if finished and proc.exitCode() == 0: + output = \ + str(proc.readAllStandardOutput(), + Preferences.getSystem("IOEncoding"), + 'replace') + else: + if not finished: + errMsg = self.trUtf8( + "The python setup.py command did not finish within 30s.") + else: + errMsg = self.trUtf8("Could not start the pcreate executable.") + if not errMsg: + for line in output.splitlines(): + line = line.strip() + if line.startswith("--formats="): + format, description = line.replace("--formats=", "").split(None, 1) + itm = QListWidgetItem("{0} ({1})".format(format, description), + self.formatsList) + itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable) + itm.setCheckState(Qt.Unchecked) + else: + E5MessageBox.critical(None, + self.trUtf8('Process Generation Error'), + errMsg) + + def getFormats(self): + """ + Public method to retrieve the checked formats. + + @return list of selected formats (list of string) + """ + formats = [] + for row in range(self.formatsList.count()): + itm = self.formatsList.item(row) + if itm.checkState() == Qt.Checked: + format = itm.text().split(None, 1)[0].strip() + if format: + formats.append(format) + + return formats
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/DistributionTypeSelectionDialog.ui Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>DistributionTypeSelectionDialog</class> + <widget class="QDialog" name="DistributionTypeSelectionDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Distribution Type</string> + </property> + <property name="sizeGripEnabled"> + <bool>true</bool> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Select the distribution file formats below:</string> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="formatsList"> + <property name="toolTip"> + <string>Check the distribution file formats that should be generated</string> + </property> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::NoSelection</enum> + </property> + </widget> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <tabstops> + <tabstop>formatsList</tabstop> + <tabstop>buttonBox</tabstop> + </tabstops> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>DistributionTypeSelectionDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>224</x> + <y>278</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>DistributionTypeSelectionDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>292</x> + <y>284</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/FormSelectionDialog.py Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,104 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a dialog to select the template type. +""" + +from PyQt4.QtCore import pyqtSlot +from PyQt4.QtGui import QDialog, QDialogButtonBox + +from .Ui_FormSelectionDialog import Ui_FormSelectionDialog + + +class FormSelectionDialog(QDialog, Ui_FormSelectionDialog): + """ + Class implementing a dialog to select the template type. + """ + def __init__(self, parent = None): + """ + Constructor + + @param parent reference to the parent widget (QWidget) + """ + super().__init__(parent) + self.setupUi(self) + + self.__templates = { + "html5" : [self.trUtf8("Standard HTML 5 template"), + '''<!DOCTYPE html>\n''' + ''' <head>\n''' + ''' <title></title>\n''' + ''' <style>\n''' + ''' </style>\n''' + ''' </head>\n''' + '''\n''' + ''' <body>\n''' + ''' </body>\n''' + '''</html>\n''' + ], + "sections" : [self.trUtf8("Mako template with sections"), + '''## -*- coding: utf-8 -*-\n''' + '''\n''' + '''<!DOCTYPE HTML>\n''' + '''<html>\n''' + '''<head>\n''' + ''' <title>${self.title()}</title>\n''' + ''' ${self.head()}\n''' + '''</head>\n''' + '''<body>\n''' + ''' ${self.header()}\n''' + ''' ${self.tabs()}\n''' + ''' ${self.menu()}\n''' + ''' ${self.heading()}\n''' + ''' ${self.breadcrumbs()}\n''' + ''' ${next.body()}\n''' + ''' ${self.footer()}\n''' + '''</body>\n''' + '''</html>\n''' + '''\n''' + '''<%def name="title()">SimpleSite</%def>\n''' + '''<%def name="head()"></%def>\n''' + '''<%def name="header()"><a name="top"></a></%def>\n''' + '''<%def name="tabs()"></%def>\n''' + '''<%def name="menu()"></%def>\n''' + '''<%def name="heading()"><h1>${c.heading or 'No Title'}</h1></%def>\n''' + '''<%def name="breadcrumbs()"></%def>\n''' + '''<%def name="footer()"><p><a href="#top">Top ^</a></p></%def>\n''' + ], + } + + self.__okButton = self.buttonBox.button(QDialogButtonBox.Ok) + self.__okButton.setEnabled(False) + + self.typeCombo.addItem("") + for templateType in self.templates: + self.typeCombo.addItem(self.templates[templateType][0], + templateType) + self.typeCombo.setCurrentIndex(0) + + @pyqtSlot(int) + def on_typeCombo_currentIndexChanged(self, index): + """ + Private slot to act upon a change of the selected template type. + + @param index selected index (integer) + """ + templateType = self.typeCombo.itemData(index) + if templateType: + self.preview.setPlainText(self.templates[templateType][1]) + self.__okButton.setEnabled(True) + else: + self.preview.clear() + self.__okButton.setEnabled(False) + + def getTemplateText(self): + """ + Public method to get the template text. + + @return text of the template (string) + """ + templateType = self.typeCombo.itemData(self.typeCombo.currentIndex()) + return self.templates[templateType][1]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/FormSelectionDialog.ui Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>FormSelectionDialog</class> + <widget class="QDialog" name="FormSelectionDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>600</width> + <height>450</height> + </rect> + </property> + <property name="windowTitle"> + <string>Template Type Selection</string> + </property> + <property name="sizeGripEnabled"> + <bool>true</bool> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Template &Type:</string> + </property> + <property name="buddy"> + <cstring>typeCombo</cstring> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QComboBox" name="typeCombo"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Select the template type</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Preview:</string> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QTextEdit" name="preview"> + <property name="toolTip"> + <string>Shows the text of the selected template</string> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="3" column="0" colspan="2"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <tabstops> + <tabstop>typeCombo</tabstop> + <tabstop>preview</tabstop> + <tabstop>buttonBox</tabstop> + </tabstops> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>FormSelectionDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>248</x> + <y>254</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>FormSelectionDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>316</x> + <y>260</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/Project.py Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,796 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Pyramid project support. +""" + +import os +import configparser + +from PyQt4.QtCore import QObject, QFileInfo, QProcess, QTimer, QUrl +from PyQt4.QtGui import QMenu, QDialog, QInputDialog, QDesktopServices + +from E5Gui.E5Application import e5App +from E5Gui import E5MessageBox, E5FileDialog +from E5Gui.E5Action import E5Action + +from .FormSelectionDialog import FormSelectionDialog +from .CreateParametersDialog import CreateParametersDialog +from .PyramidDialog import PyramidDialog +from .DistributionTypeSelectionDialog import DistributionTypeSelectionDialog + +import Utilities +from Globals import isWindowsPlatform +import UI.PixmapCache + + +class PyramidNoProjectSelectedException(Exception): + """ + Exception thrown to signal, that there is no current Pyramid project. + """ + pass + + +class Project(QObject): + """ + Class implementing the Pyramid project support. + """ + def __init__(self, plugin, parent = None): + """ + Constructor + + @param plugin reference to the plugin object + @param parent parent (QObject) + """ + super().__init__(parent) + + self.__plugin = plugin + self.__ui = parent + self.__e5project = e5App().getObject("Project") + self.__hooksInstalled = False + + self.__mainMenu = None + + self.__serverProc = None + + def initActions(self): + """ + Public method to define the Pyramid actions. + """ + self.actions = [] + + self.selectProjectAct = E5Action(self.trUtf8('Current Pyramid Project'), + "", + 0, 0, + self,'pyramid_current_project') + self.selectProjectAct.setStatusTip(self.trUtf8( + 'Selects the current Pyramid project')) + self.selectProjectAct.setWhatsThis(self.trUtf8( + """<b>Current Pyramid Project</b>""" + """<p>Selects the Pyramid project. Used for multi-project """ + """Pyramid projects to switch between the projects.</p>""" + )) + self.selectProjectAct.triggered[()].connect(self.__selectProject) + self.actions.append(self.selectProjectAct) + self.__setCurrentProject(None) + + ############################### + ## create actions below ## + ############################### + + self.createProjectAct = E5Action(self.trUtf8('Create Pyramid Project'), + self.trUtf8('Create Pyramid &Project'), + 0, 0, + self,'pyramid_create_project') + self.createProjectAct.setStatusTip(self.trUtf8( + 'Creates a new Pyramid project')) + self.createProjectAct.setWhatsThis(self.trUtf8( + """<b>Create Pyramid Project</b>""" + """<p>Creates a new Pyramid project using "pcreate".</p>""" + )) + self.createProjectAct.triggered[()].connect(self.__createProject) + self.actions.append(self.createProjectAct) + + ############################## + ## run actions below ## + ############################## + + self.runServerAct = E5Action(self.trUtf8('Run Server'), + self.trUtf8('Run &Server'), + 0, 0, + self,'pyramid_run_server') + self.runServerAct.setStatusTip(self.trUtf8( + 'Starts the Pyramid Web server')) + self.runServerAct.setWhatsThis(self.trUtf8( + """<b>Run Server</b>""" + """<p>Starts the Pyramid Web server using""" + """ "pserve --reload development.ini".</p>""" + )) + self.runServerAct.triggered[()].connect(self.__runServer) + self.actions.append(self.runServerAct) + + self.runLoggingServerAct = E5Action(self.trUtf8('Run Server with Logging'), + self.trUtf8('Run Server with &Logging'), + 0, 0, + self,'pyramid_run_logging_server') + self.runLoggingServerAct.setStatusTip(self.trUtf8( + 'Starts the Pyramid Web server with logging')) + self.runLoggingServerAct.setWhatsThis(self.trUtf8( + """<b>Run Server with Logging</b>""" + """<p>Starts the Pyramid Web server with logging using""" + """ "pserve --log-file=server.log --reload development.ini".</p>""" + )) + self.runLoggingServerAct.triggered[()].connect(self.__runLoggingServer) + self.actions.append(self.runLoggingServerAct) + + self.runBrowserAct = E5Action(self.trUtf8('Run Web-Browser'), + self.trUtf8('Run &Web-Browser'), + 0, 0, + self,'pyramid_run_browser') + self.runBrowserAct.setStatusTip(self.trUtf8( + 'Starts the default Web-Browser with the URL of the Pyramid Web server')) + self.runBrowserAct.setWhatsThis(self.trUtf8( + """<b>Run Web-Browser</b>""" + """<p>Starts the default Web-Browser with the URL of the """ + """Pyramid Web server.</p>""" + )) + self.runBrowserAct.triggered[()].connect(self.__runBrowser) + self.actions.append(self.runBrowserAct) + + self.runPythonShellAct = E5Action(self.trUtf8('Start Pyramid Python Console'), + self.trUtf8('Start Pyramid &Python Console'), + 0, 0, + self,'pyramid_python_console') + self.runPythonShellAct.setStatusTip(self.trUtf8( + 'Starts an interactive Python interpreter')) + self.runPythonShellAct.setWhatsThis(self.trUtf8( + """<b>Start Pyramid Python Console</b>""" + """<p>Starts an interactive Python interpreter.</p>""" + )) + self.runPythonShellAct.triggered[()].connect(self.__runPythonShell) + self.actions.append(self.runPythonShellAct) + + ############################## + ## setup actions below ## + ############################## + + self.setupDevelopAct = E5Action(self.trUtf8('Setup Development Environment'), + self.trUtf8('Setup &Development Environment'), + 0, 0, + self,'pyramid_setup_development') + self.setupDevelopAct.setStatusTip(self.trUtf8( + 'Setup the Pyramid project in development mode')) + self.setupDevelopAct.setWhatsThis(self.trUtf8( + """<b>Setup Development Environment</b>""" + """<p>Setup the Pyramid project in development mode using""" + """ "python setup.py develop".</p>""" + )) + self.setupDevelopAct.triggered[()].connect(self.__setupDevelop) + self.actions.append(self.setupDevelopAct) + + ################################## + ## distribution actions below ## + ################################## + + self.buildDistroAct = E5Action(self.trUtf8('Build Distribution'), + self.trUtf8('Build &Distribution'), + 0, 0, + self,'pyramid_build_distribution') + self.buildDistroAct.setStatusTip(self.trUtf8( + 'Builds a distribution file for the Pyramid project')) + self.buildDistroAct.setWhatsThis(self.trUtf8( + """<b>Build Distribution</b>""" + """<p>Builds a distribution file for the Pyramid project using""" + """ "python setup.py sdist".</p>""" + )) + self.buildDistroAct.triggered[()].connect(self.__buildDistribution) + self.actions.append(self.buildDistroAct) + + ################################## + ## documentation action below ## + ################################## + + self.documentationAct = E5Action(self.trUtf8('Documentation'), + self.trUtf8('D&ocumentation'), + 0, 0, + self,'pyramid_documentation') + self.documentationAct.setStatusTip(self.trUtf8( + 'Shows the help viewer with the Pyramid documentation')) + self.documentationAct.setWhatsThis(self.trUtf8( + """<b>Documentation</b>""" + """<p>Shows the help viewer with the Pyramid documentation.</p>""" + )) + self.documentationAct.triggered[()].connect(self.__showDocumentation) + self.actions.append(self.documentationAct) + + ############################## + ## about action below ## + ############################## + + self.aboutPyramidAct = E5Action(self.trUtf8('About Pyramid'), + self.trUtf8('About P&yramid'), + 0, 0, + self,'pyramid_about') + self.aboutPyramidAct.setStatusTip(self.trUtf8( + 'Shows some information about Pyramid')) + self.aboutPyramidAct.setWhatsThis(self.trUtf8( + """<b>About Pyramid</b>""" + """<p>Shows some information about Pyramid.</p>""" + )) + self.aboutPyramidAct.triggered[()].connect(self.__pyramidInfo) + self.actions.append(self.aboutPyramidAct) + + def initMenu(self): + """ + Public slot to initialize the Pyramid menu. + + @return the menu generated (QMenu) + """ + menu = QMenu(self.trUtf8('P&yramid'), self.__ui) + menu.setTearOffEnabled(True) + + menu.addAction(self.selectProjectAct) + menu.addSeparator() + menu.addAction(self.runServerAct) + menu.addAction(self.runLoggingServerAct) + menu.addAction(self.runBrowserAct) + menu.addSeparator() + menu.addAction(self.createProjectAct) + menu.addSeparator() + menu.addAction(self.setupDevelopAct) + menu.addSeparator() + menu.addAction(self.runPythonShellAct) + menu.addSeparator() + menu.addAction(self.buildDistroAct) + menu.addSeparator() + menu.addAction(self.documentationAct) + menu.addSeparator() + menu.addAction(self.aboutPyramidAct) + + self.__mainMenu = menu + return menu + + def projectOpenedHooks(self): + """ + Public method to add our hook methods. + """ + if self.__e5project.getProjectType() == "Pyramid": + self.__formsBrowser = \ + e5App().getObject("ProjectBrowser").getProjectBrowser("forms") + self.__formsBrowser.addHookMethodAndMenuEntry("newForm", + self.newForm, self.trUtf8("New template...")) + +## self.__e5project.projectLanguageAddedByCode.connect( +## self.__projectLanguageAdded) +## self.__translationsBrowser = \ +## e5App().getObject("ProjectBrowser").getProjectBrowser("translations") +## self.__translationsBrowser.addHookMethodAndMenuEntry("extractMessages", +## self.extractMessages, self.trUtf8("Extract messages")) +## self.__translationsBrowser.addHookMethodAndMenuEntry("releaseAll", +## self.compileCatalogs, self.trUtf8("Compile all catalogs")) +## self.__translationsBrowser.addHookMethodAndMenuEntry("releaseSelected", +## self.compileSelectedCatalogs, +## self.trUtf8("Compile selected catalogs")) +## self.__translationsBrowser.addHookMethodAndMenuEntry("generateAll", +## self.updateCatalogs, self.trUtf8("Update all catalogs")) +## self.__translationsBrowser.addHookMethodAndMenuEntry("generateSelected", +## self.updateSelectedCatalogs, self.trUtf8("Update selected catalogs")) + + self.__hooksInstalled = True + + def projectClosedHooks(self): + """ + Public method to remove our hook methods. + """ + if self.__hooksInstalled: + self.__formsBrowser.removeHookMethod("newForm") + self.__formsBrowser = None + +## self.__e5project.projectLanguageAddedByCode.disconnect( +## self.__projectLanguageAdded) +## self.__translationsBrowser.removeHookMethod("extractMessages") +## self.__translationsBrowser.removeHookMethod("releaseAll") +## self.__translationsBrowser.removeHookMethod("releaseSelected") +## self.__translationsBrowser.removeHookMethod("generateAll") +## self.__translationsBrowser.removeHookMethod("generateSelected") +## self.__translationsBrowser = None + + self.__hooksInstalled = False + + def newForm(self, path): + """ + Public method to create a new form. + + @param path full directory path for the new form file (string) + """ + dlg = FormSelectionDialog() + if dlg.exec_() == QDialog.Accepted: + template = dlg.getTemplateText() + + filter = self.trUtf8( + "Chameleon Templates (*.pt);;" + "Chameleon Text Templates (*.txt);;" + "Mako Templates (*.mako);;" + "Mako Templates (*.mak);;" + "HTML Files (*.html);;" + "HTML Files (*.htm);;" + "All Files (*)") + fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( + self.__ui, + self.trUtf8("New Form"), + path, + filter, + None, + E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) + if fname: + ext = QFileInfo(fname).suffix() + if not ext: + ex = selectedFilter.split("(*")[1].split(")")[0] + if ex: + fname += ex + + if os.path.exists(fname): + res = E5MessageBox.yesNo(self.__ui, + self.trUtf8("New Form"), + self.trUtf8("""The file already exists! Overwrite it?"""), + icon = E5MessageBox.Warning) + if not res: + # user selected to not overwrite + return + + try: + f = open(fname, "w", encoding="utf-8") + f.write(template) + f.close() + except IOError as e: + E5MessageBox.critical(self, + self.trUtf8("New Form"), + self.trUtf8("<p>The new form file <b>{0}</b> could not be" + " created.<br/>" + "Problem: {1}</p>").format(fname, e)) + return + + self.__e5project.appendFile(fname) + self.__formsBrowser.sourceFile.emit(fname) + + ################################################################## + ## methods below implement general functionality + ################################################################## + + def projectClosed(self): + """ + Public method to handle the closing of a project. + """ + if self.__serverProc is not None: + self.__serverProcFinished() + self.__setCurrentProject(None) + + def __getVirtualEnvironment(self): + """ + Private method to get the path of the virtual environment. + + @return path of the virtual environment (string) + """ + language = self.__e5project.getProjectLanguage() + if language == "Python3": + virtEnv = self.__plugin.getPreferences("VirtualEnvironmentPy3") + elif language == "Python2": + virtEnv = self.__plugin.getPreferences("VirtualEnvironmentPy2") + else: + virtEnv = "" + if virtEnv and not os.path.exists(virtEnv): + virtEnv = "" + return virtEnv + + def getPyramidCommand(self, cmd): + """ + Public method to build a Pyramid command. + + @param cmd command (string) + @return full pyramid command (string) + """ + virtualEnv = self.__getVirtualEnvironment() + if virtualEnv: + if isWindowsPlatform(): + cmd = os.path.join(virtualEnv, "Scripts", cmd) + else: + cmd = os.path.join(virtualEnv, "bin", cmd) + return cmd + + def getPythonCommand(self): + """ + Public method to build the Python command. + + @return python command (string) + """ + python = "python" + if isWindowsPlatform(): + python += ".exe" + virtualEnv = self.__getVirtualEnvironment() + if virtualEnv: + if isWindowsPlatform(): + python = os.path.join(virtualEnv, "Scripts", python) + else: + python = os.path.join(virtualEnv, "bin", python) + return python + + def __pyramidInfo(self): + """ + Private slot to show some info about Pyramid. + """ + url = "http://www.pylonsproject.org/projects/pyramid/about" + msgBox = E5MessageBox.E5MessageBox(E5MessageBox.Question, + self.trUtf8("About Pyramid"), + self.trUtf8( + "<p>Pyramid is a high-level Python Web framework that encourages rapid " + "development and clean, pragmatic design.</p>" + "<p>URL: <a href=\"{0}\">{0}</a></p>" + ).format(url), + modal=True, + buttons=E5MessageBox.Ok) + msgBox.setIconPixmap(UI.PixmapCache.getPixmap( + os.path.join("ProjectPyramid", "icons", "pyramid64.png"))) + msgBox.exec_() + + def isSpawningConsole(self, consoleCmd): + """ + Public method to check, if the given console is a spawning console. + + @param consoleCmd console command (string) + @return tuple of two entries giving an indication, if the console + is spawning (boolean) and the (possibly) cleaned console command + (string) + """ + if consoleCmd and consoleCmd[0] == '@': + return (True, consoleCmd[1:]) + else: + return (False, consoleCmd) + + ################################################################## + ## slots below implement creation functions + ################################################################## + + def __createProject(self): + """ + Private slot to create a new Pyramid project. + """ + dlg = CreateParametersDialog(self) + if dlg.exec_() == QDialog.Accepted: + scaffold, project, overwrite, simulate = dlg.getData() + + cmd = self.getPyramidCommand("pcreate") + args = [] + if overwrite: + args.append("--overwrite") + else: + args.append("--interactive") + if simulate: + args.append("--simulate") + args.append("--scaffold={0}".format(scaffold)) + args.append(project) + dlg = PyramidDialog(self.trUtf8("Create Pyramid Project"), + linewrap=False, parent=self.__ui) + if dlg.startProcess(cmd, args, self.__e5project.getProjectPath()): + dlg.exec_() + if dlg.normalExit() and not simulate: + # search for files created by pcreate and add them to the project + projectPath = os.path.join(self.__e5project.getProjectPath(), project) + for entry in os.walk(projectPath): + for fileName in entry[2]: + fullName = os.path.join(entry[0], fileName) + self.__e5project.appendFile(fullName) + + # create the base directory for translations + i18nPath = os.path.join(projectPath, project.lower(), "i18n") + if not os.path.exists(i18nPath): + os.makedirs(i18nPath) + self.__e5project.setDirty(True) + + self.__setCurrentProject(project) + + ################################################################## + ## methods below implement site related functions + ################################################################## + + def __findProjects(self): + """ + Private method to determine the relative path of all Pyramid + projects (= top level dirs). + + @return list of projects (list of string) + """ + projects = [] + ppath = self.__e5project.getProjectPath() + for entry in os.listdir(ppath): + if entry[0] not in "._" and \ + os.path.isdir(os.path.join(ppath, entry)): + projects.append(entry) + return projects + + def __selectProject(self): + """ + Private method to select a Pyramid project to work with. + + @return selected project (string) + """ + projects = self.__findProjects() + if len(projects) == 0: + project = None + elif len(projects) == 1: + project = projects[0] + else: + if self.__currentProject is not None: + try: + cur = projects.index(self.__currentProject) + except ValueError: + cur = 0 + else: + cur = 0 + project, ok = QInputDialog.getItem( + self.__ui, + self.trUtf8("Select Pyramid Project"), + self.trUtf8("Select the Pyramid project to work with."), + projects, + cur, False) + if not ok: + projects = None + self.__setCurrentProject(project) + + def __projectPath(self): + """ + Private method to calculate the full path of the Pyramid project. + + @exception PyramidNoProjectSelectedException raised, if no project is selected + @return path of the project (string) + """ + if self.__currentProject is None: + self.__selectProject() + + if self.__currentProject is None: + raise PyramidNoProjectSelectedException + else: + return os.path.join(self.__e5project.getProjectPath(), + self.__currentProject) + + def __setCurrentProject(self, project): + """ + Private slot to set the current project. + + @param project name of the project (string) + """ + if project is not None and len(project) == 0: + self.__currentProject = None + else: + self.__currentProject = project + + if self.__currentProject is None: + curProject = self.trUtf8("None") + else: + curProject = self.__currentProject + self.selectProjectAct.setText( + self.trUtf8('&Current Pyramid Project ({0})').format(curProject)) + + if self.__currentProject is None: + self.__e5project.pdata["TRANSLATIONPATTERN"] = [] + else: + # TODO: adjust this to the Pyramid docu + self.__e5project.pdata["TRANSLATIONPATTERN"] = [ + os.path.join(project, project.lower(), "i18n", "%language%", + "LC_MESSAGES", "%s.po" % project.lower()) + ] + + def __project(self): + """ + Private method to get the name of the current Pyramid project. + + @exception PyramidNoProjectSelectedException raised, if no project is selected + @return name of the project (string) + """ + if self.__currentProject is None: + self.__selectProject() + + if self.__currentProject is None: + raise PyramidNoProjectSelectedException + else: + return self.__currentProject + + ################################################################## + ## slots below implement run functions + ################################################################## + + def __runServer(self, logging = False): + """ + Private slot to start the Pyramid Web server. + + @param logging flag indicating to enable logging (boolean) + """ + consoleCmd = self.isSpawningConsole( + self.__plugin.getPreferences("ConsoleCommand"))[1] + if consoleCmd: + try: + projectPath = self.__projectPath() + except PyramidNoProjectSelectedException: + E5MessageBox.warning(self.__ui, + self.trUtf8('Run Server'), + self.trUtf8('No current Pyramid project selected or no Pyramid ' + 'project created yet. Aborting...')) + return + + args = Utilities.parseOptionString(consoleCmd) + args[0] = Utilities.getExecutablePath(args[0]) + args.append(self.getPyramidCommand("pserve")) + if logging: + args.append("--log-file=server.log") + args.append("--reload") + args.append(os.path.join(projectPath, "development.ini")) + + if isWindowsPlatform(): + serverProcStarted, pid = \ + QProcess.startDetached(args[0], args[1:], projectPath) + else: + if self.__serverProc is not None: + self.__serverProcFinished() + + self.__serverProc = QProcess() + self.__serverProc.finished.connect(self.__serverProcFinished) + self.__serverProc.setWorkingDirectory(projectPath) + self.__serverProc.start(args[0], args[1:]) + serverProcStarted = self.__serverProc.waitForStarted() + if not serverProcStarted: + E5MessageBox.critical(self.__ui, + self.trUtf8('Process Generation Error'), + self.trUtf8('The Pyramid server could not be started.')) + + def __runLoggingServer(self): + """ + Private slot to start the Pyramid Web server with logging. + """ + self.__runServer(True) + + def __serverProcFinished(self): + """ + Private slot connected to the finished signal. + """ + if self.__serverProc is not None and \ + self.__serverProc.state() != QProcess.NotRunning: + self.__serverProc.terminate() + QTimer.singleShot(2000, self.__serverProc.kill) + self.__serverProc.waitForFinished(3000) + self.__serverProc = None + + def __runBrowser(self): + """ + Private slot to start the default web browser with the server URL. + """ + try: + projectPath = self.__projectPath() + except PyramidNoProjectSelectedException: + E5MessageBox.warning(self.__ui, + self.trUtf8('Run Web-Browser'), + self.trUtf8('No current Pyramid project selected or no Pyramid project' + ' created yet. Aborting...')) + return + + config = configparser.ConfigParser() + config.read(os.path.join(projectPath, "development.ini")) + port = config.get("server:main", "port", fallback="6543") + url = QUrl("http://localhost:{0}".format(port)) + res = QDesktopServices.openUrl(url) + if not res: + E5MessageBox.critical(self.__ui, + self.trUtf8('Run Web-Browser'), + self.trUtf8('Could not start the web-browser for the URL "{0}".')\ + .format(url.toString())) + + def __runPythonShell(self): + """ + Private slot to start a Python console for a Pyramid project. + """ + consoleCmd = self.isSpawningConsole( + self.__plugin.getPreferences("ConsoleCommand"))[1] + if consoleCmd: + try: + projectPath = self.__projectPath() + except PyramidNoProjectSelectedException: + E5MessageBox.warning(self.__ui, + self.trUtf8('Start Pyramid Python Console'), + self.trUtf8('No current Pyramid project selected or no Pyramid ' + 'project created yet. Aborting...')) + return + + args = Utilities.parseOptionString(consoleCmd) + args[0] = Utilities.getExecutablePath(args[0]) + args.append(self.getPyramidCommand("pshell")) + language = self.__e5project.getProjectLanguage() + if language == "Python2": + consoleType = self.__plugin.getPreferences("Python2ConsoleType") + else: + consoleType = self.__plugin.getPreferences("Python3ConsoleType") + args.append("--python-shell={0}".format(consoleType)) + args.append(os.path.join(projectPath, "development.ini")) + + started, pid = QProcess.startDetached(args[0], args[1:], projectPath) + if not started: + E5MessageBox.critical(self.__ui, + self.trUtf8('Process Generation Error'), + self.trUtf8('The Pyramid Shell process could not be started.')) + + ################################################################## + ## slots below implement setup functions + ################################################################## + + def __setupDevelop(self): + """ + Private slot to set up the development environment for the current project. + """ + title = self.trUtf8("Setup Development Environment") + + cmd = self.getPythonCommand() + args = [] + args.append("setup.py") + args.append("develop") + + try: + wd = self.__projectPath() + except PyramidNoProjectSelectedException: + E5MessageBox.warning(self.__ui, + title, + self.trUtf8('No current Pyramid project selected or no Pyramid project' + ' created yet. Aborting...')) + return + + dia = PyramidDialog(title, + msgSuccess = \ + self.trUtf8("Pyramid development environment setup successfully.")) + res = dia.startProcess(cmd, args, wd) + if res: + dia.exec_() + + ################################################################## + ## slots below implement distribution functions + ################################################################## + + def __buildDistribution(self): + """ + Private slot to build a distribution file for the current Pyramid project. + """ + title = self.trUtf8("Build Distribution File") + try: + projectPath = self.__projectPath() + except PyramidNoProjectSelectedException: + E5MessageBox.warning(self.__ui, + title, + self.trUtf8('No current Pyramid project selected or no Pyramid project' + ' created yet. Aborting...')) + return + + dlg = DistributionTypeSelectionDialog(self, projectPath, self.__ui) + if dlg.exec_() == QDialog.Accepted: + formats = dlg.getFormats() + cmd = self.getPythonCommand() + args = [] + args.append("setup.py") + args.append("sdist") + if formats: + args.append("--formats={0}".format(','.join(formats))) + + dia = PyramidDialog(title, + msgSuccess = \ + self.trUtf8("Python distribution file built successfully.")) + res = dia.startProcess(cmd, args, projectPath) + if res: + dia.exec_() + + ################################################################## + ## slots below implement documentation functions + ################################################################## + + def __showDocumentation(self): + """ + Private slot to show the helpviewer with the Pylons documentation. + """ + page = self.__plugin.getPreferences("PyramidDocUrl") + self.__ui.launchHelpViewer(page)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/PyramidDialog.py Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,290 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a dialog starting a process and showing its output. +""" + +import os + +from PyQt4.QtCore import QProcess, QTimer, pyqtSlot, Qt, QCoreApplication +from PyQt4.QtGui import QDialog, QDialogButtonBox, QLineEdit, QTextEdit + +from E5Gui import E5MessageBox + +from .Ui_PyramidDialog import Ui_PyramidDialog + +import Preferences +from Globals import isWindowsPlatform + + +class PyramidDialog(QDialog, Ui_PyramidDialog): + """ + Class implementing a dialog starting a process and showing its output. + + It starts a QProcess and displays a dialog that + shows the output of the process. The dialog is modal, + which causes a synchronized execution of the process. + """ + def __init__(self, text, fixed = False, linewrap = True, + msgSuccess = None, msgError = None, + parent = None): + """ + Constructor + + @param text text to be shown by the label (string or QString) + @keyparam fixed flag indicating a fixed font should be used (boolean) + @keyparam linewrap flag indicating to wrap long lines (boolean) + @keyparam msgSuccess optional string to show upon successful execution + (string or QString) + @keyparam msgError optional string to show upon unsuccessful execution + (string or QString) + @keyparam parent parent widget (QWidget) + """ + super().__init__(parent) + self.setupUi(self) + + self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) + self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + + self.proc = None + self.argsLists = [] + self.workingDir = None + self.msgSuccess = msgSuccess + self.msgError = msgError + + self.outputGroup.setTitle(text) + + if fixed: + if isWindowsPlatform(): + self.resultbox.setFontFamily("Lucida Console") + else: + self.resultbox.setFontFamily("Monospace") + + if not linewrap: + self.resultbox.setLineWrapMode(QTextEdit.NoWrap) + + self.show() + QCoreApplication.processEvents() + + def finish(self): + """ + Public slot called when the process finished or the user pressed the button. + """ + if self.proc is not None and \ + self.proc.state() != QProcess.NotRunning: + self.proc.terminate() + QTimer.singleShot(2000, self.proc.kill) + self.proc.waitForFinished(3000) + + self.inputGroup.setEnabled(False) + self.inputGroup.hide() + + self.proc = None + + self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) + self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) + self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) + self.buttonBox.button(QDialogButtonBox.Close).setFocus(Qt.OtherFocusReason) + + if self.argsLists: + args = self.argsLists[0][:] + del self.argsLists[0] + self.startProcess(args, self.workingDir) + + def on_buttonBox_clicked(self, button): + """ + Private slot called by a button of the button box clicked. + + @param button button that was clicked (QAbstractButton) + """ + if button == self.buttonBox.button(QDialogButtonBox.Close): + self.close() + elif button == self.buttonBox.button(QDialogButtonBox.Cancel): + self.finish() + + def __procFinished(self, exitCode, exitStatus): + """ + Private slot connected to the finished signal. + + @param exitCode exit code of the process (integer) + @param exitStatus exit status of the process (QProcess.ExitStatus) + """ + self.normal = (exitStatus == QProcess.NormalExit) and (exitCode == 0) + self.finish() + + if self.normal and self.msgSuccess: + self.resultbox.insertPlainText(self.msgSuccess) + elif not self.normal and self.msgError: + self.resultbox.insertPlainText(self.msgError) + self.resultbox.ensureCursorVisible() + + def startProcess(self, command, args, workingDir=None, showArgs=True): + """ + Public slot used to start the process. + + @param command command to start (string) + @param args list of arguments for the process (list of strings) + @keyparam workingDir working directory for the process (string) + @keyparam showArgs flag indicating to show the arguments (boolean) + @return flag indicating a successful start of the process + """ + self.errorGroup.hide() + self.normal = False + self.intercept = False + + self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) + self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) + self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + self.buttonBox.button(QDialogButtonBox.Cancel).setFocus(Qt.OtherFocusReason) + + if showArgs: + self.resultbox.append(command + ' ' + ' '.join(args)) + self.resultbox.append('') + + self.proc = QProcess() + + self.proc.finished.connect(self.__procFinished) + self.proc.readyReadStandardOutput.connect(self.__readStdout) + self.proc.readyReadStandardError.connect(self.__readStderr) + + if workingDir: + self.proc.setWorkingDirectory(workingDir) + self.proc.start(command, args) + procStarted = self.proc.waitForStarted() + if not procStarted: + self.buttonBox.setFocus() + self.inputGroup.setEnabled(False) + E5MessageBox.critical(self, + self.trUtf8('Process Generation Error'), + self.trUtf8( + 'The process {0} could not be started. ' + 'Ensure, that it is in the search path.' + ).format(command)) + else: + self.inputGroup.setEnabled(True) + self.inputGroup.show() + return procStarted + + def startBatchProcesses(self, argsLists, workingDir = None): + """ + Public slot used to start a batch of processes. + + @param argsLists list of lists of arguments for the processes + (list of list of string) + @param workingDir working directory for the process (string) + @return flag indicating a successful start of the first process (boolean) + """ + self.argsLists = argsLists[:] + self.workingDir = workingDir + + # start the first process + args = self.argsLists[0][:] + del self.argsLists[0] + res = self.startProcess(args, self.workingDir) + if not res: + self.argsLists = [] + + return res + + def normalExit(self): + """ + Public method to check for a normal process termination. + + @return flag indicating normal process termination (boolean) + """ + return self.normal + + def normalExitWithoutErrors(self): + """ + Public method to check for a normal process termination without + error messages. + + @return flag indicating normal process termination (boolean) + """ + return self.normal and self.errors.toPlainText() == "" + + def __readStdout(self): + """ + Private slot to handle the readyReadStandardOutput signal. + + It reads the output of the process, formats it and inserts it into + the contents pane. + """ + if self.proc is not None: + out = str(self.proc.readAllStandardOutput(), + Preferences.getSystem("IOEncoding"), + 'replace') + self.resultbox.insertPlainText(out) + self.resultbox.ensureCursorVisible() + + QCoreApplication.processEvents() + + def __readStderr(self): + """ + Private slot to handle the readyReadStandardError signal. + + It reads the error output of the process and inserts it into the + error pane. + """ + if self.proc is not None: + err = str(self.proc.readAllStandardError(), + Preferences.getSystem("IOEncoding"), + 'replace') + self.errorGroup.show() + self.errors.insertPlainText(err) + self.errors.ensureCursorVisible() + + QCoreApplication.processEvents() + + def on_passwordCheckBox_toggled(self, isOn): + """ + Private slot to handle the password checkbox toggled. + + @param isOn flag indicating the status of the check box (boolean) + """ + if isOn: + self.input.setEchoMode(QLineEdit.Password) + else: + self.input.setEchoMode(QLineEdit.Normal) + + @pyqtSlot() + def on_sendButton_clicked(self): + """ + Private slot to send the input to the subversion process. + """ + input = self.input.text() + input += os.linesep + + if self.passwordCheckBox.isChecked(): + self.errors.insertPlainText(os.linesep) + self.errors.ensureCursorVisible() + else: + self.resultbox.insertPlainText(input) + self.resultbox.ensureCursorVisible() + + self.proc.write(input) + + self.passwordCheckBox.setChecked(False) + self.input.clear() + + def on_input_returnPressed(self): + """ + Private slot to handle the press of the return key in the input field. + """ + self.intercept = True + self.on_sendButton_clicked() + + def keyPressEvent(self, evt): + """ + Protected slot to handle a key press event. + + @param evt the key press event (QKeyEvent) + """ + if self.intercept: + self.intercept = False + evt.accept() + return + super().keyPressEvent(evt)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/PyramidDialog.ui Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,152 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PyramidDialog</class> + <widget class="QDialog" name="PyramidDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>650</width> + <height>550</height> + </rect> + </property> + <property name="windowTitle"> + <string>Pyramid</string> + </property> + <property name="sizeGripEnabled"> + <bool>true</bool> + </property> + <layout class="QVBoxLayout"> + <item> + <widget class="QGroupBox" name="outputGroup"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>2</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Output</string> + </property> + <layout class="QVBoxLayout"> + <item> + <widget class="QTextEdit" name="resultbox"> + <property name="readOnly"> + <bool>true</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="errorGroup"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>1</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Errors</string> + </property> + <layout class="QVBoxLayout"> + <item> + <widget class="QTextEdit" name="errors"> + <property name="readOnly"> + <bool>true</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="inputGroup"> + <property name="title"> + <string>Input</string> + </property> + <layout class="QGridLayout"> + <item row="1" column="1"> + <spacer> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Expanding</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>327</width> + <height>29</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="2"> + <widget class="QPushButton" name="sendButton"> + <property name="toolTip"> + <string>Press to send the input to the Pyramid process</string> + </property> + <property name="text"> + <string>&Send</string> + </property> + <property name="shortcut"> + <string>Alt+S</string> + </property> + </widget> + </item> + <item row="0" column="0" colspan="3"> + <widget class="QLineEdit" name="input"> + <property name="toolTip"> + <string>Enter data to be sent to the Pyramid process</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QCheckBox" name="passwordCheckBox"> + <property name="toolTip"> + <string>Select to switch the input field to password mode</string> + </property> + <property name="text"> + <string>&Password Mode</string> + </property> + <property name="shortcut"> + <string>Alt+P</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Close</set> + </property> + </widget> + </item> + </layout> + </widget> + <layoutdefault spacing="6" margin="11"/> + <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> + <tabstops> + <tabstop>resultbox</tabstop> + <tabstop>errors</tabstop> + <tabstop>input</tabstop> + <tabstop>passwordCheckBox</tabstop> + <tabstop>sendButton</tabstop> + <tabstop>buttonBox</tabstop> + </tabstops> + <resources/> + <connections/> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectPyramid/i18n/pyramid_de.ts Tue Aug 28 17:15:21 2012 +0200 @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="de_DE"> +<context> + <name>ProjectPyramidPlugin</name> + <message> + <location filename="PluginProjectPyramid.py" line="181"/> + <source>Pyramid</source> + <translation>Pyramid</translation> + </message> + <message> + <location filename="PluginProjectPyramid.py" line="157"/> + <source>eric5 version is too old, {0}, {1} or newer needed.</source> + <translation>Die eric5 Version ist zu alt; {0}, {1} oder neuer wird benötigt.</translation> + </message> +</context> +</TS>