55 lines
1.6 KiB
Python
55 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
AZA Aktivierungsschlüssel-Generator
|
|
====================================
|
|
Für den Entwickler: Erzeugt Freigabe-Schlüssel für beliebige Geräte.
|
|
|
|
Verwendung:
|
|
python generate_activation_key.py # Interaktiv
|
|
python generate_activation_key.py 2026-06-30 # Direkt mit Datum
|
|
python generate_activation_key.py 90 # 90 Tage ab heute
|
|
"""
|
|
|
|
import sys
|
|
from datetime import date, timedelta
|
|
from aza_activation import generate_key, validate_key
|
|
|
|
|
|
def main():
|
|
if len(sys.argv) > 1:
|
|
arg = sys.argv[1]
|
|
if arg.isdigit():
|
|
expiry = (date.today() + timedelta(days=int(arg))).isoformat()
|
|
else:
|
|
expiry = arg
|
|
else:
|
|
print("AZA Aktivierungsschlüssel-Generator")
|
|
print("=" * 40)
|
|
print()
|
|
print("Optionen:")
|
|
print(" 1) Ablaufdatum eingeben (YYYY-MM-DD)")
|
|
print(" 2) Tage ab heute eingeben")
|
|
print()
|
|
choice = input("Auswahl (1/2): ").strip()
|
|
if choice == "2":
|
|
days = int(input("Anzahl Tage: ").strip())
|
|
expiry = (date.today() + timedelta(days=days)).isoformat()
|
|
else:
|
|
expiry = input("Ablaufdatum (YYYY-MM-DD): ").strip()
|
|
|
|
key = generate_key(expiry)
|
|
ok, dt, msg = validate_key(key)
|
|
|
|
print()
|
|
print(f" Ablaufdatum: {expiry}")
|
|
print(f" Schlüssel: {key}")
|
|
print(f" Validierung: {'OK' if ok else 'FEHLER'} - {msg}")
|
|
print()
|
|
print("Diesen Schlüssel dem Nutzer mitteilen.")
|
|
print("Er gibt ihn in der App unter dem Schluessel-Symbol ein.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|