Platform eldöntése linux alól

0 votes
asked Apr 13, 2013 in IRF tantárgy by anonymous  

Sziasztok!
Linux alól kell elérnem windows-t és linux-ot, és ahhoz, hogy megtudjam az oprendszer típusát lekérdezem a CIM_OperatingSystem -et a kiszolgálóról. Az eredmény egy XML feilba kerül, ahonnan sikerül is ki parseolnom, de minden cimke elé odatesz egy os specifikus linket :
pl ( {http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/Win32_OperatingSystem}OSType )
Tehát amikor az elementtree parserrel bejárom a fát , csak ilyenre tudok egyezést találni :
for ostype in root.iter('{http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/Win32_OperatingSystem}OSType'):
for ostype in root.iter('{http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/Linux_OperatingSystem}OSType'):
Simán for ostype in root.iter('OSType') -ra nem működik.

Arra gondoltam, hátha létezik valami beállítás wsman-nál ami leszedi a tagek elől a linkeket, de nem találtam. Regex kifejezéssel pedig szintén nem tudtam megoldani, Fontos lenne, mert nincs nagyon ötletem, hogy hogyan tudnám eldönteni, hogy melyik platform lekérdezésével haladjak tovább.

1 Answer

0 votes
answered Apr 14, 2013 by anonymous  

Ki kell választani azt a csomópontot , ami az attribútumokat tartalmazza, pl Name, DeviceID,..
A válasz xml-ek formájára eddig illik ez a meghatározás. Legalább is nekem a CIMOperatingSystem és a CIMNetworkPort válaszokból sikerült ezzel kinyernem az infót:

xml.etree.ElementTree kell hozzá, kiválasztot a root csomópontot
a root[1][0] a root 2. gyerekének 1. gyereke és ezen belül is kiválasztjuk az 1.gyerek cspont 1.gyerekét. Meg lehet nézni az xml-t, az alatti csomópontra állunk így rá .
root->2.gyerek->1gyerekének->1gyerekének->1. gyereke :).
Ez alatt már közvetlen hivatkozhatsz az attribútum nevére.
Lehet, hogy megy egyszerűbben is.
Remélem segít.

tree=ET.parse('OSofPC-1.xml')
        root=tree.getroot()                      
        OSnode=(root[1][0])[0][0]
        for child in OSnode:
            if(re.search('OSType',child.tag)):
                OStype=child.text
commented Apr 14, 2013 by anonymous  
Meg lehet nézni az xml-t, az ITEMS alatti csomópontra
bocs a hibáért
...