-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInventarBasisModul.py
More file actions
executable file
·103 lines (88 loc) · 2.76 KB
/
InventarBasisModul.py
File metadata and controls
executable file
·103 lines (88 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/usr/local/bin/python3
##############################################
#
# Name: InventarBasisModul.py
#
# Author: Peter Christen
#
# Version: 1.0
#
# Date: 10.06.2017
#
# Purpose: Server Inventar Script
# Basis Modul mit allen Funktionen
#
##############################################
import platform,os,time,argparse,json,xml.dom.minidom
####Variablen
server=''
####Classes
class Server:
#Class variable
timestamp=time.time()
#Constructor Methode
def __init__(self,name):
#Attribute
self.name=name
self.nrcpu=0
self.system=''
self.release=''
self.machine=''
#Weitere Methode
def showdata(self):
print ("Name:", self.name)
print ("Nr.CPU:", self.nrcpu)
print ("System:", self.system)
print ("Release:", self.release)
print ("Machine:", self.machine)
print ("Timestamp:", int(self.timestamp))
#Weitere Methode
def showcsv(self):
return (self.name+","+str(self.nrcpu)+","+self.system+","+self.release+","+self.machine+","+str(int(self.timestamp)))
def make_inventar(self):
self.inventar={}
self.inventar_liste=[]
self.inventar["name"]=self.name
self.inventar["nrcpu"]=self.nrcpu
self.inventar["system"]=self.system
self.inventar["release"]=self.release
self.inventar["machine"]=self.machine
self.inventar["timestamp"]=int(self.timestamp)
self.inventar_liste.append(self.inventar)
def show_json(self):
#Json-Ausgabe erstellen
self.make_inventar()
jsonData = json.dumps(self.inventar)
return (jsonData)
def write_json_file(self):
self.make_inventar()
with open('inventar.json', 'w') as outfile:
json.dump(self.inventar_liste, outfile)
def write_xml_file(self):
self.make_inventar()
###Variabeln
comment="Server Inventardaten"
###Erste Stuffe erstellen
doc = xml.dom.minidom.Document()
doc.appendChild(doc.createComment(comment))
erste_stuffe = doc.createElement("inventar")
doc.appendChild(erste_stuffe)
for i in self.inventar_liste:
###Zweite Stuffe erstellen
zweite_stuffe = doc.createElement("server")
zweite_stuffe.setAttribute( "name", i["name"])
erste_stuffe.appendChild(zweite_stuffe)
###Datenelemente erstellen
for name,value in i.items():
# Element erstellen
element_name = doc.createElement(name)
zweite_stuffe.appendChild(element_name)
# Element Wert hinzufügen
element_wert = doc.createTextNode(str(value))
element_name.appendChild(element_wert)
###Daten in File schreiben
doc.writexml( open('inventar.xml', 'w'),
indent=" ",
addindent=" ",
newl='\n')
doc.unlink()