programme:dhcpdnsadmin:dda
                Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| wiki:skripte:dda [2018/04/09 14:51] – pulsar | programme:dhcpdnsadmin:dda [2020/11/13 13:54] (aktuell) – ↷ Seite von programme:dda:dda nach programme:dhcpdnsadmin:dda verschoben pulsar | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ==== DHCP-/ | ==== DHCP-/ | ||
| - | <code python | + | <code python> | 
| - | # | + | def read(self, vlaninheader): | 
| - | # -*- coding: utf-8 -*- | + |  | 
| - | # | + | |
| - | # | + | with open(self._full_fn) as file: | 
| + | # self._lines = file.read().splitlines() | ||
| + | # self._lines = file.readlines() | ||
| + | self._lines = file.readlines() | ||
| + | |||
| + | vlaninheader = None | ||
| + | if vlaninheader in self._full_fn: | ||
| + | print(" | ||
| + | |||
| + | if not self._lines: | ||
| + | raise OSError("' | ||
| - | import sys | ||
| - | from glob import glob | ||
| - | verzei = glob(" | ||
| + | </ | ||
| - | # | ||
| - | # Eingabe | ||
| - | # | ||
| - | print (""" | ||
| - | Mehrere Rechner mit Leerzeichen trennen. \n\n """ | ||
| - | devices = input(" | + | <code python> | 
| - | macadr = input(" | + | |
| - | vlan = input(" | + | |
| + | if __name__ == " | ||
| + | ''' | ||
| + |  | ||
| + | from glob import glob | ||
| + | from DnsHeader import DnsHeader | ||
| + | from VLAN import VLAN | ||
| + |  | ||
| + | l_headers = glob(" | ||
| + |  | ||
| + | for hfile in l_headers: | ||
| + | dnsheader = DnsHeader(hfile) | ||
| + | print(dnsheader.name) | ||
| + | dnsheader.read() | ||
| + | dnsheader.update_serial() | ||
| + | dnsheader.print_lines() | ||
| + | print() | ||
| + |  | ||
| + | vlaninheader = " | ||
| + | vlan = VLAN(vlaninheader) | ||
| + | vlan.read() | ||
| + | </ | ||
| - | def check_vlan_and_modify(vlandat): | + | <code python> | 
| - | ''' | + | if __name__ | 
| - | + | ''' | |
| - | lines | + | |
| - | + | from glob import glob | |
| - | with open((vlandat), | + | from VLAN import VLAN | 
| - | lines | + | |
| - | + |  | |
| - | + | ||
| - | contains_device = False | + | for hfile in l_headers: | 
| - | mac_adr = None | + |  | 
| - | index = None | + | print(dnsheader.name) | 
| - | + |  | |
| - | # Inhalt prüfen: | + |  | 
| - | for i, line in enumerate(lines): | + | #dnsheader.write() | 
| - | if line.startswith(devices): | + | #dnsheader.print_lines() | 
| - | contains_device = True | + |  | 
| - | print("Device ' | + | print() | 
| - | + |  | |
| - | mac_adr = line.split()[1] | + | print(l_vlansinheader) | 
| - | index = i | + | |
| - | + | for vlansinheader | |
| - | break | + | vlan = VLAN(vlansinheader) | 
| - | # for | + | vlan.read() | 
| - | + | ||
| - | + | ||
| - | if not contains_device: | + | |
| - | print(" | + | |
| - | return | + | |
| - | # An dieser Stelle wissen wir, dass 'device' | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | # Line mit dem gefundenen Device entfernen: | + | |
| - | del lines[index] | + | |
| - | + | ||
| - | # Neuen Inhalt in Datei schreiben: | + | |
| - | with open((vlandat), | + | |
| - | vlandatei.writelines(lines) | + | |
| - | print("->", vlandat) | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | # | + | |
| - | # Dateien einlesen | + | |
| - | # | + | |
| - | """ | + | |
| - | lines = [] | + | |
| - | lines_devices = [] | + | |
| - | lines_mac = [] | + | |
| - | lines_ip = [] | + | |
| - | + | ||
| - | + | ||
| - | for vlandat | + | |
| - | with open((vlandat), ' | + | |
| - | for line in vlandatei: | + | |
| - | l_elems = line.split() | + | |
| - | lines.append(line) | + | |
| - | lines_devices = [] | + | |
| - | lines_devices.append(l_elems[0]) | + | |
| - | lines_mac.append(l_elems[1]) | + | |
| - | lines_ip.append(l_elems[2]) | + | |
| - | + | ||
| - | ## Mengen wenig Sinnvoll, da diese alles durcheinander Würfeln. Zuordnung verloren | + | |
| - | ## zwischen Devices und MAC-Adr. | + | |
| - | + | ||
| - | m_devices = set(lines_devices) | + | |
| - | m_mac = set(lines_mac) | + | |
| - | m_ip = set(lines_ip) | + | |
| - | #print(" | + | |
| - | # | + | |
| - | #print(lines) | + | |
| - | print(m_devices) | + | |
| - | print(m_mac) | + | |
| - | print(m_ip) | + | |
| - | """ | + | |
| - | + | ||
| - | # | + | |
| - | # Dateien einlesen und bereinigen | + | |
| - | # | + | |
| - | + | ||
| - | for vlandat | + | |
| - | + | ||
| - | check_vlan_and_modify(vlandat) | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | """ | + | |
| - | # | + | |
| - | # IP generieren | + | |
| - | # | + | |
| - | zaehler = 1 | + | |
| - | + | ||
| - | while zaehler < 254: | + | |
| - | ip = " | + | |
| - | # | + | |
| - | if ip not in lines_ip: | + | |
| - | eingabeliste | + | |
| - | #lines.append(eingabeliste) | + | |
| - | break | + | |
| - | + | ||
| - | zaehler += 1 | + | |
| - | """ | + | |
| - | + | ||
| - | + | ||
| - | # | + | |
| - | # Eingabe-Liste erstellen | + | |
| - | # | + | |
| - | #print (ip) | + | |
| - | # | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | # | + | |
| - | # komplette Liste erstellen | + | |
| - | # | + | |
| - | # | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | # | + | |
| - | # Dateien schreiben | + | |
| - | # | + | |
| + | </ | ||
| + | <code python> | ||
| + | elif sys.argv[1] == " | ||
| + | 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() | ||
| + | dnsheader.update_serial() | ||
| + | # | ||
| + | # | ||
| + | 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) | ||
| + |  | ||
| </ | </ | ||
programme/dhcpdnsadmin/dda.1523278261.txt.gz · Zuletzt geändert: 2018/04/09 14:51 von pulsar
                
                