[Python-modules-commits] [python-cement] 01/07: importing python-cement_2.8.2.orig.tar.gz

Michael Fladischer fladi at moszumanska.debian.org
Fri May 20 08:38:21 UTC 2016


This is an automated email from the git hooks/post-receive script.

fladi pushed a commit to branch master
in repository python-cement.

commit 71b6945457b2a54e3bbda057f92942fcadb82305
Author: Michael Fladischer <FladischerMichael at fladi.at>
Date:   Thu May 19 20:07:09 2016 +0200

    importing python-cement_2.8.2.orig.tar.gz
---
 .coveragerc                                        |    0
 .gitignore                                         |   67 +
 .pylintrc                                          |  249 ++++
 .travis.yml                                        |   14 +
 CONTRIBUTORS                                       |    9 +
 ChangeLog                                          |  507 ++++++++
 LICENSE                                            |   30 +
 README.md                                          |   61 +
 Vagrantfile                                        |   34 +
 cement/__init__.py                                 |    0
 cement/core/__init__.py                            |    0
 cement/core/arg.py                                 |  126 ++
 cement/core/backend.py                             |    7 +
 cement/core/cache.py                               |  133 ++
 cement/core/config.py                              |  236 ++++
 cement/core/controller.py                          |  531 ++++++++
 cement/core/exc.py                                 |   43 +
 cement/core/extension.py                           |  169 +++
 cement/core/foundation.py                          | 1337 ++++++++++++++++++++
 cement/core/handler.py                             |  674 ++++++++++
 cement/core/hook.py                                |  327 +++++
 cement/core/interface.py                           |   80 ++
 cement/core/log.py                                 |  144 +++
 cement/core/mail.py                                |  179 +++
 cement/core/meta.py                                |   48 +
 cement/core/output.py                              |  188 +++
 cement/core/plugin.py                              |  110 ++
 cement/ext/__init__.py                             |    0
 cement/ext/ext_alarm.py                            |  106 ++
 cement/ext/ext_argcomplete.py                      |  109 ++
 cement/ext/ext_argparse.py                         |  914 +++++++++++++
 cement/ext/ext_colorlog.py                         |  224 ++++
 cement/ext/ext_configobj.py                        |  206 +++
 cement/ext/ext_configparser.py                     |  170 +++
 cement/ext/ext_daemon.py                           |  411 ++++++
 cement/ext/ext_dummy.py                            |  259 ++++
 cement/ext/ext_genshi.py                           |  112 ++
 cement/ext/ext_json.py                             |  213 ++++
 cement/ext/ext_json_configobj.py                   |  110 ++
 cement/ext/ext_logging.py                          |  374 ++++++
 cement/ext/ext_memcached.py                        |  239 ++++
 cement/ext/ext_mustache.py                         |  159 +++
 cement/ext/ext_plugin.py                           |  292 +++++
 cement/ext/ext_reload_config.py                    |  283 +++++
 cement/ext/ext_smtp.py                             |  278 ++++
 cement/ext/ext_tabulate.py                         |  148 +++
 cement/ext/ext_yaml.py                             |  215 ++++
 cement/ext/ext_yaml_configobj.py                   |  108 ++
 cement/utils/__init__.py                           |    0
 cement/utils/fs.py                                 |   55 +
 cement/utils/misc.py                               |  210 +++
 cement/utils/shell.py                              |  378 ++++++
 cement/utils/test.py                               |   94 ++
 cement/utils/version.py                            |   92 ++
 doc/source/_static/.placeholder                    |    0
 doc/source/_templates/.placeholder                 |    0
 doc/source/_themes/.placeholder                    |    0
 doc/source/api/core/arg.rst                        |    9 +
 doc/source/api/core/backend.rst                    |    9 +
 doc/source/api/core/cache.rst                      |    9 +
 doc/source/api/core/config.rst                     |    9 +
 doc/source/api/core/controller.rst                 |    9 +
 doc/source/api/core/exc.rst                        |    9 +
 doc/source/api/core/extension.rst                  |    9 +
 doc/source/api/core/foundation.rst                 |    9 +
 doc/source/api/core/handler.rst                    |    9 +
 doc/source/api/core/hook.rst                       |    9 +
 doc/source/api/core/interface.rst                  |    9 +
 doc/source/api/core/log.rst                        |    9 +
 doc/source/api/core/mail.rst                       |    9 +
 doc/source/api/core/meta.rst                       |    9 +
 doc/source/api/core/output.rst                     |    9 +
 doc/source/api/core/plugin.rst                     |    9 +
 doc/source/api/ext/ext_alarm.rst                   |    9 +
 doc/source/api/ext/ext_argcomplete.rst             |    9 +
 doc/source/api/ext/ext_argparse.rst                |    9 +
 doc/source/api/ext/ext_colorlog.rst                |    9 +
 doc/source/api/ext/ext_configobj.rst               |    9 +
 doc/source/api/ext/ext_configparser.rst            |    9 +
 doc/source/api/ext/ext_daemon.rst                  |    9 +
 doc/source/api/ext/ext_dummy.rst                   |    9 +
 doc/source/api/ext/ext_genshi.rst                  |   99 ++
 doc/source/api/ext/ext_json.rst                    |    9 +
 doc/source/api/ext/ext_json_configobj.rst          |    9 +
 doc/source/api/ext/ext_logging.rst                 |    9 +
 doc/source/api/ext/ext_memcached.rst               |    9 +
 doc/source/api/ext/ext_mustache.rst                |    9 +
 doc/source/api/ext/ext_plugin.rst                  |    9 +
 doc/source/api/ext/ext_reload_config.rst           |    9 +
 doc/source/api/ext/ext_smtp.rst                    |    9 +
 doc/source/api/ext/ext_tabulate.rst                |    9 +
 doc/source/api/ext/ext_yaml.rst                    |    9 +
 doc/source/api/ext/ext_yaml_configobj.rst          |    9 +
 doc/source/api/index.rst                           |   69 +
 doc/source/api/utils/fs.rst                        |    9 +
 doc/source/api/utils/misc.rst                      |    9 +
 doc/source/api/utils/shell.rst                     |    9 +
 doc/source/api/utils/test.rst                      |   13 +
 doc/source/changes.rst                             |    1 +
 doc/source/conf.py                                 |  277 ++++
 doc/source/contributors.rst                        |    1 +
 doc/source/dev/application_design.rst              |  169 +++
 doc/source/dev/arguments.rst                       |  104 ++
 doc/source/dev/boss_templates.rst                  |   82 ++
 doc/source/dev/caching.rst                         |   61 +
 doc/source/dev/cleanup.rst                         |   81 ++
 doc/source/dev/configuration.rst                   |  339 +++++
 doc/source/dev/contributing.rst                    |  175 +++
 doc/source/dev/controllers.rst                     |  150 +++
 doc/source/dev/extending_cementapp.rst             |   82 ++
 doc/source/dev/extensions.rst                      |  243 ++++
 doc/source/dev/hooks.rst                           |  321 +++++
 doc/source/dev/index.rst                           |   31 +
 doc/source/dev/installation.rst                    |   56 +
 doc/source/dev/interfaces_and_handlers.rst         |  473 +++++++
 doc/source/dev/logging.rst                         |  251 ++++
 doc/source/dev/mail.rst                            |   66 +
 doc/source/dev/output.rst                          |  168 +++
 doc/source/dev/plugins.rst                         |  354 ++++++
 doc/source/dev/quickstart.rst                      |  281 ++++
 doc/source/dev/signal_handling.rst                 |  198 +++
 doc/source/dev/testing.rst                         |  125 ++
 doc/source/examples/abstract_base_controllers.rst  |  151 +++
 doc/source/examples/app_version.rst                |   55 +
 doc/source/examples/arbitrary_extra_arguments.rst  |   91 ++
 doc/source/examples/bash_auto_completion.rst       |  284 +++++
 .../examples/controllers_with_same_label.rst       |  137 ++
 doc/source/examples/index.rst                      |   19 +
 .../examples/managing_multiple_environments.rst    |  107 ++
 .../examples/multiple_stacked_controllers.rst      |  182 +++
 doc/source/examples/reload_config.rst              |   74 ++
 doc/source/examples/sighup_reload.rst              |  100 ++
 doc/source/examples/tabularized_output.rst         |   52 +
 doc/source/faq.rst                                 |   20 +
 doc/source/index.rst                               |  123 ++
 doc/source/license.rst                             |    1 +
 doc/source/projects_built_on_cement.rst            |   19 +
 doc/source/upgrading.rst                           |  485 +++++++
 doc/source/whats_new.rst                           |  176 +++
 examples/__init__.py                               |    0
 examples/append_config_path/my.config              |    4 +
 examples/bash_auto_completion/myapp.rc             |   66 +
 examples/load_extensions_via_config/myapp.conf     |    2 +
 examples/managing_multiple_environments/myapp.conf |   11 +
 requirements-dev-linux.txt                         |    5 +
 requirements-dev-py3-linux.txt                     |    4 +
 requirements-dev-py3.txt                           |   15 +
 requirements-dev-windows.txt                       |   17 +
 requirements-dev.txt                               |   18 +
 requirements.txt                                   |    1 +
 scripts/devtools.py                                |  166 +++
 scripts/travis.sh                                  |   25 +
 scripts/vagrant/up.sh                              |   45 +
 scripts/windows/bootstrap.ps1                      |   75 ++
 setup.cfg                                          |   16 +
 setup.py                                           |   52 +
 tests/00_tests.py                                  |    3 +
 tests/__init__.py                                  |    0
 tests/bootstrap.py                                 |    5 +
 tests/core/__init__.py                             |    0
 tests/core/backend_tests.py                        |    1 +
 tests/core/cache_tests.py                          |   37 +
 tests/core/config_tests.py                         |   89 ++
 tests/core/controller_tests.py                     |  373 ++++++
 tests/core/exc_tests.py                            |   35 +
 tests/core/extension_tests.py                      |   54 +
 tests/core/foundation_tests.py                     |  495 ++++++++
 tests/core/handler_tests.py                        |  318 +++++
 tests/core/hook_tests.py                           |  187 +++
 tests/core/interface_tests.py                      |   78 ++
 tests/core/log_tests.py                            |   64 +
 tests/core/meta_tests.py                           |   25 +
 tests/core/output_tests.py                         |   58 +
 tests/core/plugin_tests.py                         |  410 ++++++
 tests/ext/__init__.py                              |    0
 tests/ext/alarm_tests.py                           |   35 +
 tests/ext/argcomplete_tests.py                     |   36 +
 tests/ext/argparse_tests.py                        |  599 +++++++++
 tests/ext/colorlog_tests.py                        |  101 ++
 tests/ext/configobj_tests.py                       |   64 +
 tests/ext/configparser_tests.py                    |    8 +
 tests/ext/daemon_tests.py                          |  116 ++
 tests/ext/dummy_tests.py                           |   34 +
 tests/ext/genshi_tests.py                          |   54 +
 tests/ext/json_configobj_tests.py                  |   68 +
 tests/ext/json_tests.py                            |   84 ++
 tests/ext/logging_tests.py                         |  110 ++
 tests/ext/memcached_tests.py                       |   75 ++
 tests/ext/mustache_tests.py                        |   56 +
 tests/ext/reload_config_tests.py                   |   93 ++
 tests/ext/smtp_tests.py                            |  106 ++
 tests/ext/tabulate_tests.py                        |   21 +
 tests/ext/yaml_configobj_tests.py                  |   73 ++
 tests/ext/yaml_tests.py                            |   89 ++
 tests/templates/__init__.py                        |    0
 tests/templates/bad_template.genshi                |    0
 tests/templates/bad_template.mustache              |    0
 tests/templates/test_base_template.mustache        |    1 +
 tests/templates/test_partial_template.mustache     |    1 +
 tests/templates/test_template.genshi               |    1 +
 tests/templates/test_template.mustache             |    1 +
 tests/utils/__init__.py                            |    0
 tests/utils/fs_tests.py                            |   30 +
 tests/utils/misc_tests.py                          |   83 ++
 tests/utils/shell_tests.py                         |  179 +++
 tests/utils/version_tests.py                       |   22 +
 206 files changed, 22644 insertions(+)

diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 0000000..e69de29
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f1675f3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,67 @@
+*egg*
+env/
+var/
+log/
+tmp/
+dist
+__pycache__/
+
+# Gitignores from https://github.com/github/gitignore
+
+# Vi
+*.swp
+*.swo
+
+
+# Vim
+.*.sw[a-z]
+*.un~
+
+
+# OSX
+.DS_Store?
+Icon?
+
+# Thumbnails
+._*
+
+# Files that might appear on external disk
+.Spotlight-V100
+.Trashes
+
+
+# Python
+*.py[co]
+
+# Packages
+*.egg
+*.egg-info
+dist
+build
+eggs
+parts
+bin
+develop-eggs
+.installed.cfg
+
+# Installer logs
+pip-log.txt
+
+# Unit test / coverage reports
+.coverage
+htmlcov
+coverage_report
+.tox
+
+# TextMate
+*.tmproj
+*.tmproject
+tmtags
+
+test.log
+
+example.py
+extensions
+.env
+.vagrant
+myapp*.py
diff --git a/.pylintrc b/.pylintrc
new file mode 100644
index 0000000..b020a37
--- /dev/null
+++ b/.pylintrc
@@ -0,0 +1,249 @@
+[MASTER]
+
+# Specify a configuration file.
+#rcfile=
+
+# Python code to execute, usually for sys.path manipulation such as
+# pygtk.require().
+#init-hook=
+
+# Profiled execution.
+profile=no
+
+# Add files or directories to the blacklist. They should be base names, not
+# paths.
+ignore=CVS
+
+# Pickle collected data for later comparisons.
+persistent=yes
+
+# List of plugins (as comma separated values of python modules names) to load,
+# usually to register additional checkers.
+load-plugins=
+
+
+[MESSAGES CONTROL]
+
+# Enable the message, report, category or checker with the given id(s). You can
+# either give multiple identifier separated by comma (,) or put this option
+# multiple time.
+#enable=
+
+# Disable the message, report, category or checker with the given id(s). You
+# can either give multiple identifier separated by comma (,) or put this option
+# multiple time (only on the command line, not in the configuration file where
+# it should appear only once).
+disable=W0105,W0232,W0232,R0903,E0213,R0923,E0211
+
+
+[REPORTS]
+
+# Set the output format. Available formats are text, parseable, colorized, msvs
+# (visual studio) and html
+output-format=colorized
+
+# Include message's id in output
+include-ids=yes
+
+# Put messages in a separate file for each module / package specified on the
+# command line instead of printing them on stdout. Reports (if any) will be
+# written in a file name "pylint_global.[txt|html]".
+files-output=no
+
+# Tells whether to display a full report or only the messages
+reports=yes
+
+# Python expression which should return a note less than 10 (10 is the highest
+# note). You have access to the variables errors warning, statement which
+# respectively contain the number of errors / warnings messages and the total
+# number of statements analyzed. This is used by the global evaluation report
+# (RP0004).
+evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
+
+# Add a comment according to your evaluation note. This is used by the global
+# evaluation report (RP0004).
+comment=no
+
+
+[BASIC]
+
+# Required attributes for module, separated by a comma
+required-attributes=
+
+# List of builtins function names that should not be used, separated by a comma
+bad-functions=map,filter,apply,input
+
+# Regular expression which should only match correct module names
+module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
+
+# Regular expression which should only match correct module level names
+const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
+
+# Regular expression which should only match correct class names
+class-rgx=[A-Z_][a-zA-Z0-9]+$
+
+# Regular expression which should only match correct function names
+function-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct method names
+method-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct instance attribute names
+attr-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct argument names
+argument-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct variable names
+variable-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct list comprehension /
+# generator expression variable names
+inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
+
+# Good variable names which should always be accepted, separated by a comma
+good-names=i,j,k,ex,Run,_
+
+# Bad variable names which should always be refused, separated by a comma
+bad-names=foo,bar,baz,toto,tutu,tata
+
+# Regular expression which should only match functions or classes name which do
+# not require a docstring
+no-docstring-rgx=__.*__
+
+
+[FORMAT]
+
+# Maximum number of characters on a single line.
+max-line-length=80
+
+# Maximum number of lines in a module
+max-module-lines=1000
+
+# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
+# tab).
+indent-string='    '
+
+
+[MISCELLANEOUS]
+
+# List of note tags to take in consideration, separated by a comma.
+notes=FIXME,XXX,TODO
+
+
+[SIMILARITIES]
+
+# Minimum lines number of a similarity.
+min-similarity-lines=4
+
+# Ignore comments when computing similarities.
+ignore-comments=yes
+
+# Ignore docstrings when computing similarities.
+ignore-docstrings=yes
+
+
+[TYPECHECK]
+
+# Tells whether missing members accessed in mixin class should be ignored. A
+# mixin class is detected if its name ends with "mixin" (case insensitive).
+ignore-mixin-members=yes
+
+# List of classes names for which member attributes should not be checked
+# (useful for classes with attributes dynamically set).
+ignored-classes=SQLObject
+
+# When zope mode is activated, add a predefined set of Zope acquired attributes
+# to generated-members.
+zope=no
+
+# List of members which are set dynamically and missed by pylint inference
+# system, and so shouldn't trigger E0201 when accessed. Python regular
+# expressions are accepted.
+generated-members=REQUEST,acl_users,aq_parent
+
+
+[VARIABLES]
+
+# Tells whether we should check for unused import in __init__ files.
+init-import=no
+
+# A regular expression matching the beginning of the name of dummy variables
+# (i.e. not used).
+dummy-variables-rgx=_|dummy|klass
+
+# List of additional names supposed to be defined in builtins. Remember that
+# you should avoid to define new builtins when possible.
+additional-builtins=
+
+
+[CLASSES]
+
+# List of interface methods to ignore, separated by a comma. This is used for
+# instance to not check methods defines in Zope's Interface base class.
+ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
+
+# List of method names used to declare (i.e. assign) instance attributes.
+defining-attr-methods=__init__,__new__,setUp
+
+# List of valid names for the first argument in a class method.
+valid-classmethod-first-arg=cls
+
+
+[DESIGN]
+
+# Maximum number of arguments for function / method
+max-args=5
+
+# Argument names that match this expression will be ignored. Default to name
+# with leading underscore
+ignored-argument-names=_.*
+
+# Maximum number of locals for function / method body
+max-locals=15
+
+# Maximum number of return / yield for function / method body
+max-returns=6
+
+# Maximum number of branch for function / method body
+max-branchs=12
+
+# Maximum number of statements in function / method body
+max-statements=50
+
+# Maximum number of parents for a class (see R0901).
+max-parents=7
+
+# Maximum number of attributes for a class (see R0902).
+max-attributes=7
+
+# Minimum number of public methods for a class (see R0903).
+min-public-methods=2
+
+# Maximum number of public methods for a class (see R0904).
+max-public-methods=20
+
+
+[IMPORTS]
+
+# Deprecated modules which should not be used, separated by a comma
+deprecated-modules=regsub,string,TERMIOS,Bastion,rexec
+
+# Create a graph of every (i.e. internal and external) dependencies in the
+# given file (report RP0402 must not be disabled)
+import-graph=
+
+# Create a graph of external dependencies in the given file (report RP0402 must
+# not be disabled)
+ext-import-graph=
+
+# Create a graph of internal dependencies in the given file (report RP0402 must
+# not be disabled)
+int-import-graph=
+
+
+[EXCEPTIONS]
+
+# Exceptions that will emit a warning when being caught. Defaults to
+# "Exception"
+overgeneral-exceptions=Exception
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..1b179aa
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,14 @@
+language: python
+sudo: false
+script: ./scripts/travis.sh
+os:
+  - linux
+python:
+  - 2.6
+  - 2.7
+  - 3.2
+  - 3.3
+  - 3.4
+  - 3.5
+services:
+  - memcached
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
new file mode 100644
index 0000000..6479cba
--- /dev/null
+++ b/CONTRIBUTORS
@@ -0,0 +1,9 @@
+Contributors
+============
+
+The following people have contributed to Cement, either by way of source code,
+documentation, or testing.
+
+    * BJ Dierkes (derks) - Creator, Primary Maintainer
+    * Kyle Rockman (rocktavious)
+    * Tomasz Czyż (spinus)
diff --git a/ChangeLog b/ChangeLog
new file mode 100755
index 0000000..3362442
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,507 @@
+.. _changelog:
+
+ChangeLog
+==============================================================================
+
+All bugs/feature details can be found at:
+
+   https://github.com/datafolklabs/cement/issues/XXXXX
+
+
+Where XXXXX is the 'Issue #' referenced below.  Additionally, this change log
+is available online at:
+
+    http://builtoncement.com/2.8/changes/
+
+
+See the :ref:`upgrading` section for more information related to
+any incompatible changes, and how to update your application to fix them.
+Also check out the :ref:`whats_new` section for details on new features.
+
+
+2.8.2 - Fri Feb 26, 2016
+------------------------------------------------------------------------------
+
+Bugs:
+
+    * :issue:`346` - AttributeError: 'module' object has no attribute 'SIGHUP'
+      on Windows
+
+
+Features:
+
+    * None
+
+Refactoring;
+
+    * None
+
+Incompatible:
+
+    * None
+
+
+2.8.0 - Wed Feb 24, 2016
+------------------------------------------------------------------------------
+
+Bugs:
+
+    * :issue:`310` - Resolved issue where console/file logs had duplicate
+      entries under certain circumstances.
+    * :issue:`314` - Resolved inconsistent behavor in ``colorlog`` extension.
+    * :issue:`316` - Running Nose tests with ``-s`` option causes traceback
+    * :issue:`317` - Calling ``CementApp.run()`` should return results from
+      ``Controller._dispatch()``
+    * :issue:`320` - Partials not rendering with Mustache templates
+    * :issue:`325` - Wrap Utility Doesn't Support Unicode 
+    * :issue:`328` - Post Run Hook Not Executing
+    * :issue:`331` - KeyError: 'USER' When Running Nose Tests
+    * :issue:`338` - Support non-ascii encoding for email subject and body
+
+Features:
+
+    * :issue:`205` - Added new ``ArgparseController`` and ``expose`` decorator
+      in ``ext_argparse`` to eventually replace ``CementBaseController``.
+    * :issue:`299` - Added Argcomplete Framework Extension
+    * :issue:`322` - Added Tabulate Framework Extension (tabulatized output)
+    * :issue:`336` - Added Support for ``CementApp.reload()`` (SIGHUP)
+    * :issue:`337` - Added ``app.run_forever()`` alternative run method.
+    * :issue:`342` - Added Alarm/Timeout Support
+    * :issue:`343` - Memcached Extension/Pylibmc Now Supports Python 3
+
+Refactoring:
+
+    * :issue:`311` - Refactor Hooks/Handlers into CementApp
+    * :issue:`319` - Use ``os.devnull`` instead of internal ``NullOut`` hack.
+    
+Incompatible:
+
+    * :issue:`311` - Hook ``signal`` now requires ``app`` argument.
+    * :issue:`313` - Default ``Cement.Meta.exit_on_close`` to ``False``.
+      Calls to ``sys.exit()`` should be explicit by the app developer, and 
+      not implied by the framework.
+    * :issue:`332` - Output Handler Interface Must Support Keyword Arguments 
+    
+
+2.6.0 - Thu May 14, 2015
+------------------------------------------------------------------------------
+
+Bugs:
+
+    * :issue:`294` - Added work-around for scenario where an app wants to 
+      support arbitrary positional argument with a value of ``default``.  
+      By default, this will attempt to explicitly call the ``default`` command
+      rather than using ``default`` as the argument.  This fix adds
+      ``CementBaseController.Meta.default_func`` allowing the developer to
+      override the name of the default function that is called if no matching
+      sub-command is passed.
+
+Features:
+
+    * :issue:`197` - Added support for colorized logging.
+    * :issue:`281` - Added support for Python `with` statement.
+    * :issue:`282` - Added support to define/register hooks and handlers via
+      ``CementApp.Meta``.
+    * :issue:`290` - Added ability to disable Cement framework logging via
+      ``CementApp.Meta.framework_logging = False``.
+    * :issue:`297` - Added **experimental** support for reloading 
+      configurations anytime config files and/or plugin config files are
+      modified.  Optional extension `ext_reload_config`.
+
+Incompatible:
+
+    * :issue:`308` - No longer require explicit 
+      ``CementApp.Meta.base_controller`` if a controller with the label of 
+      ``base`` is registered.  This is potentially backward in-compatible in
+      that previously ``CementBaseController.Meta.label`` defaulted to 
+      ``base``.  It now defaults to ``None``, which makes more sense but will
+      break for any controllers that have not explicitly set a ``label`` of 
+      ``base``.
+
+
+2.4.0 - Wed Sep 17, 2014
+------------------------------------------------------------------------------
+
+Bugs:
+
+    * :issue:`211` - LoggingLogHandler namespace causes issues (regression)
+    * :issue:`235` - Duplicate Config Section when plugin already loaded
+    * :issue:`246` - Plugin extension does not disable after already being
+      enabled
+
+Features:
+
+    * :issue:`119` - Added cement.utils.shell.Prompt to quickly gather user
+      input in several different ways.
+    * :issue:`182` - Added a mail interface with basic implementations of
+      'dummy' (just prints message to console) and 'smtp'
+    * :issue:`229` - Ability to override handlers via command line options.
+      Also related: :issue:`225`.
+    * :issue:`248` - Added documentation for BASH Auto-Completion example.
+    * :issue:`249` - Allow utils.shell.exec_cmd* to accept additional.
+      parameters, passing all `args` and `kwargs` down to subprocess.Popen.
+      Allows features such as changing the current working directory, and
+      setting a timeout value, etc (everything that Popen supports).
+    * :issue:`257` - CementBaseController._dispatch() should return result
+      of controller function.
+    * :issue:`259` - Add yaml and yaml_configobj config handlers.
+    * :issue:`262` - Add json and json_configobj config handlers.
+    * :issue:`267` - Add support for multiple `plugin_dirs` and
+      `plugin_config_dirs`
+    * :issue:`269` - Allow app.close() to accept an exit code, and exit with
+      that code.
+    * :issue:`270` - Add support for multiple template_dirs
+    * :issue:`274` - Add cement.core.interface.list function
+    * :issue:`275` - Added `examples/` directory with working examples based
+      on Examples section of the documentation.
+
+Incompatible:
+
+    * :issue:`227` - Standardize handler config section naming conventions.
+      All handler config sections are now labeled after ``interface.handler``
+      (i.e. ``output.json``, or ``mail.sendgrid``, etc).
+    * :issue:`229` - Handler override options deprecate the use of ``--json``,
+      and ``--yaml`` output handler options.
+    * :issue:`260` - Extensions/Plugins/Bootstrap modules must accept `app`
+      argument in `load()` function.  See Upgrading doc for more information.
+
+
+2.2.0 - Wed Jan 29, 2014
+------------------------------------------------------------------------------
+
+Bugs:
+
+    * :issue:`211` - LoggingLogHandler namespace causes issues
+    * :issue:`215` - Epilog not printed on --help
+
+Features:
+
+    * :issue:`209` - Added app.debug property to allow developers to know if
+      `--debug` was passed at command line of via the config
+    * :issue:`219` - Merged ext.memcached into mainline
+    * :issue:`222` - Merged ext.configobj into mainline
+    * :issue:`223` - Merged ext.genshi into mainline
+    * :issue:`224` - Merged ext.yaml into mainline
+
+Incompatible:
+
+    * :issue:`202` - Deprecated namespace packaging for cement and cement.ext.
+      Resolves issues with certain IDE's and other situations where the lack
+      of a proper ``__init__.py`` causes issues.  This change means that
+      external extensions can no longer share the ``cement.ext`` module
+      namespace, and must have it's own unique module path.
+
+Misc:
+
+    * Official Git repo relocated to: http://github.com/datafolklabs/cement
+
+
+2.1.4 - Tue Oct 29, 2013
+------------------------------------------------------------------------------
+
+Bugs:
+
+    * :issue:`191` - KeyError when using minimal logger with --debug
+    * :issue:`199` - Moved post_argument_parsing hook down, after
+      arguments_override_config logic happens.
+    * :issue:`204` - utils.misc.wrap should handle None type
+    * :issue:`208` - LoggingLogHandler does not honor Meta.config_section
+
+
+Features:
+
+    * :issue:`190` - Merged daemon extension into core
+    * :issue:`194` - Added pre_argument_parsing/post_argument_parsing hooks
+    * :issue:`196` - Added utils.misc.wrap
+    * :issue:`200` - Merged ext.mustache into mainline.
+    * :issue:`203` - Added support for external template directory
+    * :issue:`207` - Added support for alternative 'display' name for stacked
+      controllers
+
+Incompatible:
+
+    * :issue:`163` - LoggingLogHandler.Meta.clear_loggers was changed from a
+      boolean option, to a list.  Additionally,
+      LoggingLogHandler.clear_loggers() now requires a `namespace` argument.
+      ILog interface no longer defines `clear_loggers()` as a required
+      function (though ILog interfaces are welcome to implement one if
+      necessary).
+    * :issue:`173` - Deprecated 'has_key()' from configparser extension
+    * :issue:`201` - Add Deprecation Warning for CementApp.get_last_rendered()
+
+
+2.1.2 - Thu Nov 1st, 2012
+------------------------------------------------------------------------------
+
+This is a branch off of the 2.0.x stable code base.  Maintenance releases for
+2.0.x will happen under the stable/2.0.x git branch, while forward feature
+development will happen here under as 2.1.x under the git master branch.
+
+Bugs:
+
+    * :issue:`162` - Unable to set log 'level' by config
+    * :issue:`167` - Non-stacked controllers not listed in --help
+    * :issue:`169` - Fixed tests.utils.shell_tests timeout issue
+    * :issue:`171` - No handlers could be found for logger
+    * :issue:`183` - os.environ['HOME'] does not exist on Windows
+
+Features:
+
+    * :issue:`161` - Ability to override `usage`
+    * :issue:`164` - Store previously rendered data as app._last_rendered, and
+      retrievable by app.get_last_rendered().
+    * :issue:`165` - Allow utils.fs.backup() to support a suffix kwarg
+    * :issue:`166` - Ability to set the 'app' for CementTestCase.make_app()
+    * :issue:`170` - Added support for `nested` and `embedded` controllers.
+
+Misc:
+
+    * :issue:`172` - 100% PEP8 Compliant
+    * :issue:`160` - Refactor CementApp._resolve_handler() as
+      handler.resolve()
+
+Deprecation Notices:
+
+    * :issue:`173` - ConfigParserConfigHandler.has_key() is now deprecated,
+      and will be removed in future versions.  Please use `if key in
+      app.config.keys(section)` instead.
+
+Incompatible Changes:
+
+    * :issue:`141` - Removed shortcuts from CementBaseController (such as
+      log, pargs, etc).  Use `self.app.<shortcut>` instead.
+    * :issue:`167` - Listed above, in order to fix this issue as well as
+      restrict future issues we implemented a hard requirement that all
+      base controllers have the label 'base'.  This should not be a major
+      change for anyone using Cement 2.0.x as it is a simple 1 line change
+      in any one application.  As all documentation encourages the use of the
+      label 'base' it should not be a wide spread incompatibility.
+    * :issue:`179` - CementBaseController `hidden`, `visible`, and `exposed`
+      have been removed, and replaced by other private means of managing
+      the dispatch of commands.
+    * CementBaseController no longer implements a `default` command.
+    * :issue:`177` - Renamed several cement.core.backend pieces including:
+      `handlers` -> `__handlers__`, `hooks` -> `__hooks__`, `SAVED_STDOUT`
+      -> `__saved_stdout__`, and `SAVED_STDERR` -> `__saved_stderr__`.
+    * :issue:`178` - Moved `backend.defaults()` to
+      `utils.misc.init_defaults()`, and `backend.minimal_logger()` to
+      `utils.misc.minimal_logger()`
+
+
+2.0.0 - Fri Aug 03, 2012
+------------------------------------------------------------------------------
+
+This is the initial stable release of the 2.0.x branch.  Future releases of
+this branch will include bug/security fixes and minor feature updates.
+Forward moving feature development will continue out of the 2.1.x branch.
+
+Bugs:
+
+    * :issue:`143` - Incorrect doc regarding logging.  The LoggingLogHandler
+      now supports an optional 'namespace' argument allowing the developer
+      to override the log prefix.
+    * :issue:`150` - foundation.CementApp.Meta.argv now defaults to None,
+      but is overridden in __init__() with sys.argv if no other argv is
+      passed as meta.
+
+Features:
+
+    * :issue:`138` - Added 'shell' argument to utils.shell.exec_cmd() and
+      utils.shell.exec_cmd2().
+    * :issue:`140` - Included ~/.myapp/config in default config search
+    * :issue:`144` - Added a note on Contributing, as well as a CONTRIBUTORS
+      file.
+    * :issue:`152` - Added 'argument_formatter' to ControllerBaseClass.Meta.
+    * :issue:`153` - Added spawn_process() and spawn_thread() to utils.shell.
+
+Incompatible Changes:
+
+    * :issue:`100` - Interfaces audit.
+        * ILog.level() redefined as ILog.get_level()
+        * IPlugin.loaded_plugins attribute redefined as
+          IPlugin.get_loaded_plugins()
+        * IPlugin.enable_plugins attribute redefined as
+          IPlugin.get_enabled_plugins()
+        * IPlugin.disabled_plugins attribute redefined as
+          IPlugin.get_disabled_plugins()
+    * :issue:`145` - The IArgument interface no longer specifies that the
+      `parsed_args` be maintained by the handler implementation.  This means
+      that `app.args.parsed_args` is no longer available, however
+      `app.pargs` functions just the same as it points to
+      `app._parsed_args`.
+    * :issue:`148` - The CementExtensionHandler.loaded_extensions property is
+        now a callable at CementExtensionHandler.get_loaded_extensions().
+    * :issue:`151` - Removed all previously deprecated code including:
+        * Removed CementApp.Meta.defaults, and CementBaseHandler.Meta.defaults.
+          Now use `config_defaults` instead.
+        * Removed cement.foundation.lay_cement().  Now use CementApp directly.
+        * Removed cement.handler.enabled().  Now use `handler.registered()`
+          instead.
+    * :issue:`154` - Validate for handler config_defaults and config_section
+      by default.  Only incompatible if not previously sub-classing from
+      handler.CementBaseHandler.
+    * :issue:`157` - CementRuntimeError renamed as FrameworkError
+    * :issue:`158` - CementSignalError renamed as CaughtSignal
+    * :issue:`159` - CementInterfaceError renamed as InterfaceError
+
+Misc:
+
+    * :issue:`155` - Removed unused CementArgumentError, and
+      CementConfigError.  These types of exceptions should be defined at
+      the application level.
+
+1.9.14 - Sun Jul 16, 2012
+------------------------------------------------------------------------------
+
+Bugs:
+
+    * :issue:`127` - Inherited positional arguments listed multiple times
+
+Feature Enhancements:
+
+    * :issue:`131` - Controller aliases
+    * :issue:`126` - Add a 'bootstrap' importer to CementApp
+    * Added cement.utils.test.CementTestCase for improved testing.
+
+Incompatible Changes:
+
+    * :issue:`129` - Simplify extensions/plugins/hooks/etc.
+        * Hooks renamed from 'cement_xxx_hook' to just 'xxx'.  For example, the
+          'cement_pre_setup_hook' is now simply 'pre_setup'.  Additionally, the
+          'cement_on_close_hook' is now broken out into 'pre_close', and
+          'post_close'.
+        * The cement.core.hooks.register decorator was replaced with a  simple
+          function of the same name.  New usage is:
+          register('hook_name', hook_func).
+        * Plugins, extensions, and the application bootstrap now attempt to
+          call a 'load()' function, meaning library code and loading code can
+          live in the same file (i.e. hooks won't be registered just because
+          you imported an extension to sub-class a handler, etc).
+    * cement.utils.test_helper moved to cement.utils.test.
+    * By default, command line arguments no longer override config settings.
+      This is now configurable by the CementApp.Meta.arguments_override_config
+      boolean.  Related: :issue:`136`.
+
+
+1.9.12 - Thu Jul 05, 2012
+------------------------------------------------------------------------------
+
+Bugs:
+
+    * Fixed version mis-hap in setup.py
+
+
+1.9.10 - Wed Jul 04, 2012
+------------------------------------------------------------------------------
+
+Feature Enhancements:
+
+    * :issue:`118` - Added utils.fs.backup() to safely backup files/dirs.
+
+Misc:
+
+    * :issue:`111` - Use relative imports (makes cement more portable as it
+      can be included and distributed with 3rd party sources).
+    * :issue:`120` - Use standard json rather than relying on jsonpickle
+
+Incompatible Changes:
+
+    * core.util.abspath moved to utils.fs.abspath
+    * core.util.is_true moved to utils.misc.is_true
+    * Namespace reverted from 'cement2' back to 'cement'.
+    * The following extensions have been removed from the cement source tree,
+      and are now available externally (see: http://github.com/cement): daemon,
+      memcached, configobj, yaml, genshi.
... 23069 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-cement.git



More information about the Python-modules-commits mailing list