programme:dhcpdnsadmin:dda
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungNächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
wiki:skripte:dda [2018/04/09 14:49] – pulsar | wiki:skripte:dda [2018/06/14 22:15] – 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 E-Nr. 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.txt · Zuletzt geändert: 2020/11/13 13:54 von pulsar