Comments (6)
Thanks, Fabio,
much appreciated ...
from python-benedict.
@catchthemonster thank you for reporting this, I will fix it as soon as possible.
from python-benedict.
Thanks, @fabiocaccamo !
It looks like that only thing that needs to be done in the wrapper should be something like this:
self.a = RawConfigParser()
def confMe(**kwargs):
for key, value in kwargs.items():
if key == 'optionxform':
setattr(a, key, value)
Regards,
from python-benedict.
@catchthemonster I'm wondering if keys should be case sensitive by default when reading .ini
files, what do you think?
from python-benedict.
@fabiocaccamo I think both ways, red and write in my opinion. INI is a simple but powerful template engine. Your projects are perfectly suited to be used to actually manipulate INI templates for requirements like change INI template across different working cloud environments.
I use configObj (nested sections) library to create modifications in templates ...
confObj allows me do something like this:
[iniTempalte1]
[[sec1]]
keySerer = abc
on original template, iniTemplate as:
[[sec1]]
keySerer = abc
with Benedict this becomes a piece of cake exercise of three to four line of code. The only missing part is keySensitivity and most senior devs like me, love camel case instead of Pep thing with _.
I think that overloading wrapper for configParser and allowing **kwargs to be used a vehicle to pass optionxform=str key = vaule pair and then setup by default on read and write would be a way to go and enhance this perfect work ...
btw. thank you for writing this lib...
from python-benedict.
You can upgrade to 0.30.0
version:
ini
serializer is case-sensitive by default- you can now pass an
optionxform
option viakwargs
.
from python-benedict.
Related Issues (20)
- keyattr dynamic or AttributeError HOT 5
- `from_ini()` returns a `str` instead of a `dict` HOT 21
- Support defining how input data is loaded (filepath, url or data-string) HOT 3
- Assigning benedict element to itself clears the element HOT 2
- Minimalize dependencies and define scope HOT 1
- Move some requirements to a new `parse` extra requirement.
- Exception when comparing with Protocol classes HOT 7
- Yaml serializer produces inconsistent results HOT 5
- Add `from_html` method. HOT 2
- iterating benedict_dictionary.items(), value is not benedict_type HOT 2
- Union with assignment operator produces inconsistent results compared to `dict`. HOT 2
- README Index links don't work on PyPI, only GitHub's markdown renderer HOT 2
- Bug: Passing `data_only=True` into `from_xls()` returns excel formulas instead of cell data values HOT 5
- RecursionError while initializing from existing dict HOT 3
- Optionally allow `keypath_separator` in input dict keys (`unflatten`). HOT 6
- Benedict with Realtime Sync accross Processes HOT 7
- utility method clean does not work for nested dicts HOT 3
- Add function SuperFlatten feature, Flatten multi-level dictionary to 1 HOT 3
- Allow keypaths to preserve order HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from python-benedict.