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/04 22:05] 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_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.1522872333.txt.gz · Zuletzt geändert: 2018/04/04 22:05 von pulsar