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/04 22:05] 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 +
-# -*- coding: utf-8 -*- +
-+
-#  dda.py+
  
-import sys+    def read(self, vlaninheader): 
 +        print("read(): <-", self._full_fn) 
 +         
 +        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))
  
  
-# 
-# Eingabe 
-# 
  
-print ("""Welche(r) Rechner/Drucker soll(en) modifiziert werden. +</code>
-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: 
-    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) +<code python>
-#print("Die dazugehörigen MAC-Adressen:", macadr) +
-#print("für das VLAN:", vlan)+
  
 +if __name__ == "__main__":
 +    ''' zum TESTEN der Klasse '''
 +    
 +    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 = [] 
  
-# 
-# Lesen 
-# 
  
-vlan_fn = 'vlans/vlan{}.in'.format(vlan)+<code python> 
 +if __name__ == "__main__": 
 +    ''' zum TESTEN der Klasse ''' 
 +     
 +    from glob import glob 
 +    from VLAN import VLAN 
 +     
 +    l_headers = glob("headers/*") 
 +     
 +    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) 
 +         
 +    for vlansinheader in l_vlansinheader: 
 +        vlan = VLAN(vlansinheader) 
 +        vlan.read()
  
-with open(vlan_fn, 'r') as vlanconf: +</code> 
- for line in vlanconf: +
- #print(line.split(),"\n\n\n"+
-  +
- l_elems = line.split() +
-  +
- lines.append(line) +
- lines_ip.append(l_elems[2])+
  
-#print(lines_ip) 
-#sys.exit(0) 
- 
- 
-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) 
  
 +<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