Benutzer-Werkzeuge

Webseiten-Werkzeuge


programme:dhcpdnsadmin:dda

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
wiki:skripte:dda [2018/04/05 22:30] pulsarprogramme:dhcpdnsadmin:dda [2020/11/13 13:54] (aktuell) – ↷ Seite von programme:dda:dda nach programme:dhcpdnsadmin:dda verschoben pulsar
Zeile 1: Zeile 1:
 ==== DHCP-/DNS-Admin ==== ==== DHCP-/DNS-Admin ====
  
-<code python dda_20180405.py>+<code python>
  
-#!/usr/bin/env python3 +    def read(self, vlaninheader): 
-# -*- codingutf-8 -*+        print("read()<-", self._full_fn) 
-+         
-#  dda.py+        with open(self._full_fn) as file: 
 +            self._lines = file.read().splitlines() 
 +            self._lines = file.readlines()    # behält '\n' 
 +            self._lines = file.readlines() 
 +         
 +        vlaninheader = None 
 +        if vlaninheader in self._full_fn: 
 +            print("das VLAN '{vlaninheader}' wurde in '{self._full_fn}' gefunden".format(vlaninheader,  self._full_fn) ) 
 +             
 +        if not self._lines: 
 +            raise OSError("'{}' ist leer!".format(self._full_fn))
  
-import sys 
-from glob import glob 
  
  
-+</code>
-# Eingabe +
-#+
  
-print ("""Welche(r) Rechner/Drucker soll(en) modifiziert werden. 
-Mehrere Rechner mit Leerzeichen trennen. \n\n """) 
  
-devices = input("Eingabe der Geräte Namen: ").lower() 
-macadr = input("Optional Eingabe der MAC Adresse in der dazugehörigen Reihenfolge: ").upper() 
  
-while True: +<code python>
-    try: +
-        vlan = input("Eingabe der VLAN Nr.: ") +
-        vlan = int(vlan) +
-        break +
-    except ValueError: +
-        print("Keine Nummer! Bitte nur Zahlen eingeben ...")+
  
-#print("Eingegeben wurden folgende Geräte:", devices+if __name__ == "__main__": 
-#print("Die dazugehörigen MAC-Adressen:", macadr+    ''' zum TESTEN der Klasse ''' 
-#print("für das VLAN:"vlan)+     
 +    from glob import glob 
 +    from DnsHeader import DnsHeader 
 +    from VLAN import VLAN 
 +     
 +    l_headers = glob("headers/*") 
 +     
 +    for hfile in l_headers: 
 +        dnsheader = DnsHeader(hfile) 
 +        print(dnsheader.name
 +        dnsheader.read() 
 +        dnsheader.update_serial() 
 +        dnsheader.print_lines() 
 +        print(
 +     
 +    vlaninheader = "vlan0100.in" 
 +    vlan = VLAN(vlaninheader) 
 +    vlan.read() 
 +</code>  
  
  
-lines = [] 
-""" 
-lines = [  [], [], [], ...  ] 
-""" 
-lines_ip = [] 
  
- +<code python> 
-# +if __name__ == "__main__": 
-# Lesen +    ''' zum TESTEN der Klasse ''' 
-# +     
- +    from glob import glob 
-vlan_fn = 'vlans/vlan0{}.in'.format(vlan) +    from VLAN import VLAN 
- +     
-with open(vlan_fn, 'r'as vlanconf: +    l_headers = glob("headers/*") 
-    for line in vlanconf+     
-        #print(line.split(),"\n\n\n"+    for hfile in l_headers
-        l_elems = line.split() +        dnsheader = DnsHeader(hfile) 
-        #print(l_elems+        print(dnsheader.name
-        #lines_ip.append(l_elems[2]+        dnsheader.read()    # lines[] belegt 
-        #print(lines_ip+        dnsheader.update_serial() 
-        #sys.exit(0+        #dnsheader.write() 
-        lines.append(line+        #dnsheader.print_lines() 
-        lines_ip.append(l_elems[2])+        dnsheader.print_vlansinheader() 
 +        print() 
 +        l_vlansinheader = dnsheader.vlansinheader 
 +        print(l_vlansinheader)
                  
-#print(lines_ip) +    for vlansinheader in l_vlansinheader
-#sys.exit(0) +        vlan VLAN(vlansinheader
- +        vlan.read()
- +
-zaehler = 1 +
-new_ips = False +
- +
-while zaehler < 254: +
- ip = "172.16.{[0]}.{}".format(str(vlan), zaehler) +
- #print(ip) +
- if ip not in lines_ip: +
- eingabeliste = "{} {} {}\n".format(devices, macadr, ip) +
- lines.append(eingabeliste) +
- new_ips = True +
- break +
-  +
- zaehler += 1 +
- +
- +
- +
-if new_ips: +
- with open(vlan_fn, 'w') as vlanconf: +
- for line in lines+
- vlanconf.write(line) +
- print("->", vlan_fn) +
- +
- +
-+
-# Remove - am beginn verschieben, erst alles alte rauslöschen dann neuer Eintrag +
-+
- +
-verzei glob("vlans/*") +
-print(verzei) +
- +
-for vlandat in verzei: +
-    with open((vlandat), 'r') as vlandatei: +
-        for line in vlandatei: +
-            #l_vlandatei = line.split() +
-            #del(line.startswith(devices)) +
-            if not line.startswith(devices): +
-                print(line) +
-                #entferntelines = "{}".format(line) +
-                #print(entferntelines) +
-                #print(line, end=""+
-                #entferntelines = "{}".format(line).rstrip() +
-                #print(entferntelines)+
  
-              +</code> 
-#for vlandat in verzei: +
-# with open((vlandat), 'w') as vlandatei: +
-# vlandatei.write(entferntelines) +
-          +
  
  
 +<code python>
 +    elif sys.argv[1] == "-update":
 +        print ("dda wurde mit der Option -update aufgerufen")
 +         
 +        for vlan in vlan_objs:
 +            vlan.read()
 +            vlan.print_lines()
 +            
 +        for hfile in l_headers:
 +            dnsheader = DnsHeader(hfile)
 +            dnsheader.read()
 +            dnsheader.update_serial()
 +            dnsheader.write()
 +            
 +        for hfile in l_headers:
 +            dnsheader = DnsHeader(hfile)
 +            print(dnsheader.name)
 +            dnsheader.read()    # lines[] belegt
 +            dnsheader.update_serial()
 +            #dnsheader.write()
 +            #dnsheader.print_lines()
 +            dnsheader.print_vlansinheader()
 +            print()
 +            l_vlansinheader = dnsheader.vlansinheader
 +            print(l_vlansinheader)
 +            
 +            vsinheader = [s.rstrip() for s in l_vlansinheader]
 +            print(vsinheader)
 +            
 +            for vlaninheader in vsinheader:
 +                vlan = VLAN(vlaninheader)
 +                vlan.read()
 +            
 +        sys.exit(0)
 +    
 </code> </code>
  
programme/dhcpdnsadmin/dda.1522960206.txt.gz · Zuletzt geändert: 2018/04/05 22:30 von pulsar