| Fri, 17 Dec 2021 16:06:49 +0100 |
Franz Glasner |
Instead of using u(str(v)) use specialized functions for PY2 and PY3
|
| Fri, 17 Dec 2021 15:56:33 +0100 |
Franz Glasner |
Use the new contant _EMPTY_STR where appropriate
|
| Fri, 17 Dec 2021 15:55:51 +0100 |
Franz Glasner |
Avoid repeaded string concatenations in .expand_variable(): use a list of string parts and proper indexes into the source string
|
| Fri, 17 Dec 2021 14:14:36 +0100 |
Franz Glasner |
Optimize .quote() by using str.translate() instead of repeatedly calling str.replace()
|
| Fri, 17 Dec 2021 13:53:25 +0100 |
Franz Glasner |
Remove unneeded __future__ import because we are on Python 2.6+
|
| Fri, 17 Dec 2021 13:12:19 +0100 |
Franz Glasner |
Use a quick-check for .quote() if no quoting is needed
|
| Fri, 17 Dec 2021 12:49:07 +0100 |
Franz Glasner |
Because we are Pytho 2.6+ remove some compatibility code for pre-Python 2.6
|
| Fri, 17 Dec 2021 11:52:56 +0100 |
Franz Glasner |
Optimize .unquote(): instead of doing string comparisone do this with characters
|
| Fri, 17 Dec 2021 11:46:36 +0100 |
Franz Glasner |
Avoid some repeated string/unicode conversions for constants used by quoting
|
| Fri, 17 Dec 2021 11:42:47 +0100 |
Franz Glasner |
Optimize .unquote() by aliasing some methods to locals and avoiding the first append call
|
| Fri, 17 Dec 2021 11:09:14 +0100 |
Franz Glasner |
Optimize ._split_filters() for the most common case of no-filters: use s.partition() first
|
| Fri, 17 Dec 2021 10:57:59 +0100 |
Franz Glasner |
Optimize ._split_ns(): use str.partition() if possible instead of str.split(n, 1)
|
| Thu, 16 Dec 2021 09:19:50 +0100 |
Franz Glasner |
Docs
|
| Thu, 16 Dec 2021 09:15:18 +0100 |
Franz Glasner |
Index list-access for jailed configurations: be more generic by calling also __getitem__ in the base
|
| Wed, 15 Dec 2021 22:59:05 +0100 |
Franz Glasner |
len-support for jailed configurations: implement a proper __len__() method
|
| Wed, 15 Dec 2021 09:10:01 +0100 |
Franz Glasner |
Proper boolean context for jailed configurations: __bool__()/__nonzero__()
|
| Wed, 15 Dec 2021 08:48:37 +0100 |
Franz Glasner |
Implement proper iteration support for jailed configurations
|
| Wed, 15 Dec 2021 00:17:27 +0100 |
Franz Glasner |
"yield" is only supported for older Python versions if "generators" are imported from __future__
|
| Tue, 14 Dec 2021 14:35:39 +0100 |
Franz Glasner |
Make exception formatting more robuts: pack all %-style formatting args explicitely into tuples
|
| Tue, 14 Dec 2021 14:28:10 +0100 |
Franz Glasner |
FIX: KeyError formatting.
|
| Sat, 11 Dec 2021 19:56:35 +0100 |
Franz Glasner |
Attribute-style access for jailed configurations
|
| Fri, 10 Dec 2021 09:27:47 +0100 |
Franz Glasner |
FIX: Merge properly when the configuration's __getitem__ do now interpolate: prohibit duplicate interpolation and interpolation while merging
|
| Fri, 10 Dec 2021 03:00:11 +0100 |
Franz Glasner |
Add proper .get() support for jailed and unjailed configurations
|
| Fri, 10 Dec 2021 02:20:54 +0100 |
Franz Glasner |
FIX: Handle "list"-type keys in __contains__ and __getitem__ properly: convert to tuples for contatenation with tuple
|
| Fri, 10 Dec 2021 02:18:16 +0100 |
Franz Glasner |
Optimize __getitem__() in jailed configurations: call base directly
|
| Fri, 10 Dec 2021 02:15:00 +0100 |
Franz Glasner |
Optimized __contains__() implementation for jailed and unjailed configurations
|
| Fri, 10 Dec 2021 01:44:12 +0100 |
Franz Glasner |
Style
|
| Fri, 10 Dec 2021 01:33:37 +0100 |
Franz Glasner |
- Dict-level access to a configuration key now does variable interpolation.
|
| Thu, 09 Dec 2021 22:51:10 +0100 |
Franz Glasner |
Proper "repr()" for a jailed configuration: put the root path into the output
|
| Thu, 09 Dec 2021 13:02:17 +0100 |
Franz Glasner |
FIX: Allow jailed configurations to use correctly use base configurations that use a different "default" marker object.
|
| Tue, 07 Dec 2021 09:38:33 +0100 |
Franz Glasner |
Docs: more on jails and sub-jails
|
| Thu, 02 Dec 2021 09:22:22 +0100 |
Franz Glasner |
Allow the empty variable name to retrieve the root configuration object
|
| Thu, 02 Dec 2021 01:24:53 +0100 |
Franz Glasner |
Implement .getkeysl() and .getkeys() for configuration objects that iterate over all the keys of a configuration value
|
| Wed, 01 Dec 2021 23:10:20 +0100 |
Franz Glasner |
Implement sub-jails: allow to get a jailed configuration from a jail
|
| Wed, 01 Dec 2021 23:09:00 +0100 |
Franz Glasner |
FIX: Handle .jailed() with an empty "root" properly
|
| Sat, 20 Nov 2021 13:52:08 +0100 |
Franz Glasner |
Provide coercing methods for the jailed configuration: getintXXX(), getboolXXX(), getfloatXXX() and friends.
|
| Fri, 19 Nov 2021 15:52:01 +0100 |
Franz Glasner |
Optimize the creation of a jailed config.
|
| Fri, 19 Nov 2021 13:27:41 +0100 |
Franz Glasner |
Allow a jailed configuration to return its base configuration via a property
|
| Fri, 19 Nov 2021 13:26:53 +0100 |
Franz Glasner |
Allow to rebind a jailed configuration to another "similar" base
|
| Fri, 19 Nov 2021 12:40:23 +0100 |
Franz Glasner |
Implement a ".is_jail" flag for configuration objects: to test/assert whether we expect a jail configuration
|
| Fri, 19 Nov 2021 09:28:49 +0100 |
Franz Glasner |
Docs
|
| Fri, 19 Nov 2021 01:59:42 +0100 |
Franz Glasner |
Docs
|
| Fri, 19 Nov 2021 01:39:18 +0100 |
Franz Glasner |
Jailed configuration: implement more methods: getfirstvarl, getfirstvarl_s, getfirstvar and getfirstvar_s
|
| Thu, 18 Nov 2021 22:29:05 +0100 |
Franz Glasner |
Docs
|
| Thu, 18 Nov 2021 22:14:34 +0100 |
Franz Glasner |
Style
|
| Thu, 18 Nov 2021 18:30:59 +0100 |
Franz Glasner |
Begin a jailed configuration with access to a sub-tree of the original configuration
|
| Wed, 10 Nov 2021 09:37:44 +0100 |
Franz Glasner |
Docs
|
| Wed, 10 Nov 2021 02:43:23 +0100 |
Franz Glasner |
Docs: document Configuration.getfirstvarl_s()
|
| Wed, 10 Nov 2021 02:11:12 +0100 |
Franz Glasner |
First documentation of getfirstvarl()
|
| Wed, 10 Nov 2021 01:53:50 +0100 |
Franz Glasner |
Implemented Configuration.getfirstintvarl_s(), .getfirstboolvar_s() and .getfirstfloatvarl_s()
|
| Wed, 10 Nov 2021 01:53:23 +0100 |
Franz Glasner |
Implemented Configuration.getfirstfloatvar_s().
|
| Wed, 10 Nov 2021 01:42:15 +0100 |
Franz Glasner |
Renamed "names" arguments into the more proper "path"
|
| Wed, 10 Nov 2021 01:37:36 +0100 |
Franz Glasner |
Implemented Configuration.getfirstvarl() and Configuration.getfirstvarl_s()
|
| Tue, 09 Nov 2021 21:58:05 +0100 |
Franz Glasner |
Docu: "namespace" in getvarl() is a keyword argument
|
| Sun, 11 Jul 2021 17:28:01 +0200 |
Franz Glasner |
FIX: Doc strings
|
| Sun, 11 Jul 2021 17:08:06 +0200 |
Franz Glasner |
Implement ".getfirstintvar_s()" and ".getfirstboolvar_s()" with unittests
|
| Fri, 09 Jul 2021 09:40:49 +0200 |
Franz Glasner |
Implement ".getfirstvar()" and ".getfirstvar_s()".
|
| Fri, 09 Jul 2021 08:53:30 +0200 |
Franz Glasner |
FIX: Handle a "default" keyword parameter in ".getvar()" properly.
|
| Thu, 24 Jun 2021 21:20:37 +0200 |
Franz Glasner |
Use constants for the names of the "None" and "Empty" filters
|
| Thu, 24 Jun 2021 19:26:53 +0200 |
Franz Glasner |
Implement the "Empty" filter.
|
| Thu, 24 Jun 2021 19:22:53 +0200 |
Franz Glasner |
FIX: Do not apply the type convertion None -> "" if the expansions comprises the whole expression
|
| Thu, 24 Jun 2021 09:33:22 +0200 |
Franz Glasner |
Implement a special filter named "None" that suppresses "KeyErrors" from interpolation lookups and returns a Python "None" instead
|
| Fri, 07 May 2021 10:35:21 +0200 |
Franz Glasner |
By default quote also the characters "{", "}", "[" and "]" because they are special in YAML
|
| Fri, 07 May 2021 09:31:22 +0200 |
Franz Glasner |
Docs: quoting
|
| Fri, 07 May 2021 09:18:41 +0200 |
Franz Glasner |
FIX: Handle the unquoting of namespaces within Configuration.getvar() properly.
|
| Thu, 06 May 2021 22:16:56 +0200 |
Franz Glasner |
By default quote '"' and "'" also
|
| Thu, 06 May 2021 20:55:43 +0200 |
Franz Glasner |
By default quote the "#" character also because it is typically a comment in all the configuration file formats.
|
| Thu, 06 May 2021 11:17:56 +0200 |
Franz Glasner |
Comment: typo
|
| Thu, 06 May 2021 11:06:50 +0200 |
Franz Glasner |
FIX: Python2 compatibility: keyword arguments after *args not allowed: use **kwds and manual retrieval with .pop() instead
|
| Thu, 06 May 2021 09:45:51 +0200 |
Franz Glasner |
Allow variable name quoting to be used in .getvar() and .getvar_s() and references
|
| Wed, 05 May 2021 01:32:07 +0200 |
Franz Glasner |
Implemented new access methods .getvarl() and .getvarl_s
|
| Wed, 28 Apr 2021 09:23:14 +0200 |
Franz Glasner |
Docu
|
| Wed, 28 Apr 2021 09:19:55 +0200 |
Franz Glasner |
FIX: Docu
|
| Mon, 26 Apr 2021 09:42:42 +0200 |
Franz Glasner |
Implemented the "ref" namespace to get configuration tree references.
|
| Sun, 25 Apr 2021 18:05:26 +0200 |
Franz Glasner |
FIX: Map unicode strings to boolean values because this is the canonical texttype in confixmmix
|
| Sun, 25 Apr 2021 14:05:16 +0200 |
Franz Glasner |
Docu
|
| Wed, 10 Feb 2021 21:38:03 +0100 |
Franz Glasner |
Use SPDX license identifiers (either full or short) all over the package
|
| Tue, 07 Jul 2020 22:21:27 +0200 |
Franz Glasner |
Do not implicitely convert a configuration value to text if the value is the result of just a variable expansion.
|
| Tue, 07 Jul 2020 09:27:24 +0200 |
Franz Glasner |
Style: placement of "__all__"
|
| Tue, 07 Jul 2020 09:11:55 +0200 |
Franz Glasner |
Use explicit type conversion instead of an implicit one.
|
| Mon, 06 Jul 2020 23:38:04 +0200 |
Franz Glasner |
Do not use ".format()" but string concatenation or (when conversion to Unicode is needed) the faster %s method
|
| Wed, 13 May 2020 09:33:34 +0200 |
Franz Glasner |
Adjust copyright year to 2020
|
| Sun, 05 May 2019 18:40:03 +0200 |
Franz Glasner |
Handle flake8 E265 "block comment should start with '# ': use '# :-' instead of '#-' to mark copyright and license comments
|
| Sun, 05 May 2019 18:29:47 +0200 |
Franz Glasner |
Handle most flake8 errors and warnings.
|
| Sun, 05 May 2019 12:07:27 +0200 |
Franz Glasner |
Docu: Ban "keyword expansion" -- use "variable interpolation" instead
|
| Thu, 21 Feb 2019 22:16:05 +0100 |
Franz Glasner |
Adjust copyright to year 2019
|
| Sun, 25 Mar 2018 16:45:15 +0200 |
Franz Glasner |
Begin the documentation of variables and its expansion
|
| Fri, 23 Mar 2018 17:25:21 +0100 |
Franz Glasner |
Make a better error message for "TypeError" exceptions when looking up variables.
|
| Thu, 15 Mar 2018 00:10:48 +0100 |
Franz Glasner |
Remove header markup from the Python files and put them into the doc .rst files
|
| Wed, 14 Mar 2018 23:58:47 +0100 |
Franz Glasner |
Put a copyright and license note into every source file of the configmix package
|
| Wed, 28 Feb 2018 00:36:11 +0100 |
Franz Glasner |
Optimize the documentation: make references working with Sphinx using :role:`target`
|
| Tue, 27 Feb 2018 23:42:11 +0100 |
Franz Glasner |
Generate readable HTML documentation and an API documentation
|
| Thu, 07 Apr 2016 23:19:51 +0200 |
Franz Glasner |
Comment about exceptions when filters are missing.
|
| Thu, 07 Apr 2016 23:12:12 +0200 |
Franz Glasner |
Print a warning if a variable cannot be expanded.
|
| Thu, 31 Mar 2016 19:04:41 +0200 |
Franz Glasner |
Implement methods to convert text to other types when getting configuration variables.
|
| Fri, 18 Mar 2016 09:13:06 +0100 |
Franz Glasner |
FIX: Renaming a class was not really complete
|
| Thu, 10 Mar 2016 16:24:45 +0100 |
Franz Glasner |
Handle "None" variable values when substituting
|
| Thu, 10 Mar 2016 16:18:41 +0100 |
Franz Glasner |
FIX: Typo in comment
|
| Thu, 10 Mar 2016 15:41:46 +0100 |
Franz Glasner |
FIX: Handle non-str types in variable substitutions properly
|
| Thu, 10 Mar 2016 10:45:09 +0100 |
Franz Glasner |
Doc
|
| Thu, 10 Mar 2016 10:42:55 +0100 |
Franz Glasner |
Make the AttributeDict "private" (-> "_AttributeDict")
|
| Thu, 10 Mar 2016 09:39:35 +0100 |
Franz Glasner |
Implemented the real configuration dictionary with attribute access or
|