Comments (2)
We agreed to determine from the pywbem code how often the functionality is used, grouped by (probably) pywbem client, mof compiler, mock support, test.
from nocasedict.
Here is the result of the investigation: The only place in pywbem where this capability used is in exactly 3 places in the unit test of the cim_obj.py module:
- tests/unittest/pywbem/test_cim_obj.py:6074: Initializing NocaseDict with iterable of CIMQualifier
qualifiers=NocaseDict([ - tests/unittest/pywbem/test_cim_obj.py:6096: Initializing NocaseDict with iterable of CIMQualifier
qualifiers=NocaseDict([ - tests/unittest/pywbem/test_cim_obj.py:6140: Initializing NocaseDict with iterable of CIMProperty
properties=NocaseDict([
In the pywbem code itself, the capability is not used at all.
Still, it is a quite convenient capability for users and I think we should somehow retain it. One idea on that would be to provide the capability as a mixin class (say Keyable
), so that users could easily construct a dict class with the capabilities they want:
class MyKeyableNocaseDict(NocaseDict, Keyable):
pass
One could probably even do it such that the key attribute name can be specified:
class MyKeyableNocaseDict(NocaseDict, Keyable(attr='name')):
pass
The same approach could be chosen for hashability:
class MyHashableNocaseDict(NocaseDict, Hashable):
pass
And of course one could mix the capabilities.
DISCUSSION
from nocasedict.
Related Issues (20)
- Consider using `casefold` instead of `lower` HOT 4
- Stronger typing HOT 6
- Byte-string keys no longer work HOT 3
- 2.0.1: pytest fails in almost all units with `TypeError: exceptions must be derived from Warning, not <class 'NoneType'>` HOT 5
- Remove support for stable branches in development description
- Convert README to MarkDown to fix badge formatting
- Add support for creating AUTHORS.md
- Replace format() and percent-style with f-strings
- Add pipdeptree to test workflow
- Add check_reqs make target
- Optimize pip backtracking in "make develop"
- Support for Python 3.12
- Release with GH Actions workflow
- Migrate to pyproject.toml
- Adjust to upgrade of macos-latest from macoS 12 to 14 (removed py36/37/
- Add new dict functionality since Python 3.9
- Remove Python 2 statements and add 3.9+ limitations in README file
- Add Python 3.12 to supported Python versions in setup.py
- Workflow based upload to Pypi HOT 1
- Split safety runs into dev / install
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 nocasedict.