| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the XPath expression for the key value points on a non-existing XML
node, it would earlier abort pythonizing the XML data. Even though this
could look like the correct behaviour, it will not work out well in
reality.
For sections like 'bios', it might be that the DMI/SMBIOS data do not
describe or provide the BIOSLanguage section (type id 0x0D). Which
means calling dmidecode.bios() would fail completely instead of
reporting what it could find.
This patch fixes this issue and it will normally ignore not found key
values and just continue pythonizing the XML data and return what it
managed to translate into a Python dictionary.
If DEBUG is defined when compiling python-dmidecode, a warning message
will be printed directly to stderr when a key value is not found.
A warning is printed if dmidecode is compiled with DEBUG defined.
|
|
|
|
|
| |
Upper case hex string values is used in the pymap.xml file. This should be
improved so that type id is case insensitive.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Get libxml2 compile time info from xml2-config. Retrieve
version number from src/version.h
|
|
|
|
| |
Also undefined the NDEBUG when building this package
|
| |
|
|
|
|
|
|
| |
This function shadows the dmidecode.type() function. This is
to clarify more what the function does and to unify the API against
the dmidecodeXML API.
|
|
|
|
|
|
|
| |
This is a more dynamic function than the static functions like
dmidecode.bios(). The equivalent will be dmidecode.QuerySection('bios')
This is to unify the dmidecode API and the dmidecodeXML API
|
|
|
|
| |
<Description> tag
|
| |
|
|
|
|
|
| |
Also provide more useful information, both on unsupported types and
types not found on the hardware
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The shard library got renamed to dmidecodemodule.so, and this was not
clever. When you do 'import dmidecode' in Python, it will look for
files in this order:
dmidecode
dmidecode.so
dmidecodemodule.so
dmidecode.py
dmidecode.pyc
This is of course a problem when the wrapper introduced in commit
65c9384ec9b6e265aba11227ffa37ae7a6a787d1 is called dmidecode.py, and
Python attempts to load dmidecodemodule.so before dmidecode.py.
To solve this, dmidecodemodule.so is now renamed to dmidecodemod.so.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As we now include libxml2 and the required libxml2mod (which is used to wrap
xmlDoc and xmlNode data into Python objects), importing only dmidecode caused
a failure. If adding import libxml2 first, everything would work out fine.
To avoid this issue, due to backwards compatibility, a tiny dmidecode wrapper
is implemted as well. The dmidecode.so module is now renamed to dmidecodemodule.so,
and the wrapper is now called dmidecode.py.
To simplify things, the dmidecodeXML module introduced in commit b25b2ca548508cd2beb26f465b7bc5a296592461
is not merged into the new dmidecode.py
The constants mentioned are now called dmidecode.DMIXML_NODE and dmidecode.DMIXML_DOC
and to instantiate the dmidecodeXML class, dmidecode.dmidecodeXML() is used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To use this API, you need to import dmidecodeXML. This is a wrapper class for
the internal XML API which has been implemented. In addition, you might also
want to import libxml2 as well.
dmidecodeXML::QuerySection(<string>)
Valid section strings can be found in the pymap.xml file, in the <GroupMapping>
tag section.
dmidecodeXML::TypeId(<integer between 0-255>)
Valid values should match the DMI/SMBIOS specification.
dmidecodeXML::SetResultType(resultType)
Result type can be either dmidecodeXML.DMIXML_NODE or dmidecodeXML.DMIXML_DOC
----------------------------------------------------------
import libxml2
import dmidecodeXML
dmixml = dmidecodeXML.dmidecodeXML()
section_nodes = dmixml.QuerySection('processor')
dmixml.SetResultType(dmidecodeXML.DMIXML_DOC)
typeid_doc = dmixml.QueryTypeId(0x10)
dmixml.SetResultType(dmidecodeXML.DMIXML_NODE)
typeid_doc.saveFormatFileEnc("-", "UTF-8", 1)
----------------------------------------------------------
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This function will then convert the value to proper hex value for further
processing.
|
|
|
|
|
|
| |
Instead of building up an u8 array with 255 cells where we only use one
cell at the time now, just pass the type id value as an int the whole way
through.
|
|
|
|
| |
exported the function
|
|
|
|
|
| |
This resolves Ticket #7 (http://projects.autonomy.net.au/python-dmidecode/ticket/7)
(cherry picked from commit 39cbdfb56e80cabbd67754d8d77f781e14eaa3da)
|
| |
|
|
|
|
| |
Also cleaned up a little bit more, removed more unneeded stuff.
|
|
|
|
|
|
|
| |
Removed the `dmi_table_string' function, and `const struct
string_keyword *string' from the `options' struct. Also modified
the function calls that are now free of this, namely, `legacy_decode'
and `smbios_decode'.
|
| |
|
| |
|
|
|
|
|
| |
This got removed in commit 63e6c57e448d9dcc795cb14e89de6eb51f1033f6, but is
needed for the following struct in dmihelper.h, and in dmidecode.c::dmi_decode():3694
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
names
Also changed dmiMAP_ParseMappingXML(...) to dmiMAP_ParseMappingXML_GroupName(...). In the
dmidecode_get(...) function. This is just a quick fix for making it compile. It's also
needed to implement usage of dmiMAP_ParseMappingXML_TypeID(...) as well.
|
| |
|
| |
|
|
|
|
|
| |
This function did not work as expected and due to the rewrite of xmlpythonizer,
this function is not longer needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed the automagic in the dmiMAP_ParseMappingXML(...) function from
automatically decide what to parse (TypeMapping or GroupMapping). Introduced
two new functions instead:
- dmiMAP_ParseMappingXML_GroupName(xmlDoc *xmlmap, const char *name)
Parses the XML mapping document, using the GroupMapping tags and building
up a proper ptzMAP structure for all TypeMap defined in that group.
- dmiMAP_ParseMappingXML_TypeID(xmlDoc *xmlmap, const char *typeid)
Parses the XML mapping document, using only the TypeMapping section in th
mapping document.
Rewrote a lot of internal parts to reuse as much of the existing code as possible.
|