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
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
wiki:skripte:dda [2018/04/05 15:52] pulsarprogramme:dda:dda [2020/11/13 13:47] – ↷ Seite von wiki:skripte:dda nach programme:dda:dda verschoben pulsar
Zeile 1: Zeile 1:
 ==== DHCP-/DNS-Admin ==== ==== DHCP-/DNS-Admin ====
  
-<code python dda_20180404.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/*") +</code> 
-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): 
-                entferntelines = line,  end="" 
-                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.txt · Zuletzt geändert: 2020/11/13 13:54 von pulsar