Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Der Code-Schnippsel-Thread
mrshadowtux
Unregistered

 
Beitrag #771
RE: Der Code-Schnippsel-Thread
Oder einfach den watch-Befehl aus den coreutils nutzen:
watch date
03.09.2017 10:20
Diese Nachricht in einer Antwort zitieren
winfreak Offline
アンゲシュテルタ

Beiträge: 9.950
Registriert seit: Aug 2008
Beitrag #772
RE: Der Code-Schnippsel-Thread
(03.03.2017 15:43)DosAmp schrieb:  D-Bus ist Krampf.

D-Bus ist verdammt easy und funzt ziemlich gut. Tipp: Nutze bitte weder Python-dbus noch python-NetworkManager, die nutzen intern libdbus und die ist verdammt buggy und ein einziger Krieg. Stattdessen kann ich pydbus sehr empfehlen.

[Bild: winfreak_32972_14.png]
03.09.2017 10:21
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Online
outrun

Beiträge: 11.869
Registriert seit: Jul 2008
Beitrag #773
RE: Der Code-Schnippsel-Thread
(03.09.2017 10:21)winfreak schrieb:  Stattdessen kann ich pydbus sehr empfehlen.

Danke, python-networkmanager ist sowieso nur ein sehr dünner Wrapper für letzteres, da kann ich gewissermaßen D-Bus gleich „roh“ bedienen bzw. in mein eigenes Modul verpacken.
Und bei der Gelegenheit den Teil „Auf Herstellung der WLAN-Verbindung warten“ sauber mit D-Bus-Signalen statt Polling implementieren.

Berühr die Kuh.
Mach es im Nu.

<~Vez> CloverOS would be perfect if you could change the wallpaper
(Dieser Beitrag wurde zuletzt bearbeitet: 03.09.2017 10:38 von DosAmp.)
03.09.2017 10:38
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
winfreak Offline
アンゲシュテルタ

Beiträge: 9.950
Registriert seit: Aug 2008
Beitrag #774
RE: Der Code-Schnippsel-Thread
Jap, das ist deutlich besser. Achte bei pydbus allerdings darauf, dass bei Eingabe von Dictionarys und co. evtl. mit pydbus.GVariant erst ein bisschen was drumrum verpacken musst. Da gilt es auf die Datentypen zu achten, die der NetworkManager hier vorsieht.
Im Zweifel erst mal krachen lassen und gucken, was er als Typ erwartet, und danach den GVariant bauen.

[Bild: winfreak_32972_14.png]
(Dieser Beitrag wurde zuletzt bearbeitet: 03.09.2017 12:26 von winfreak.)
03.09.2017 12:26
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Online
outrun

Beiträge: 11.869
Registriert seit: Jul 2008
Beitrag #775
RE: Der Code-Schnippsel-Thread
Code:
#!/bin/bash
set -e
ZONEFILE="/etc/nsd/zones/secure-cdn.zone"
ENDPOINTS="/etc/secure-cdn-endpoints.list"
MAX_DIRECT=20

today="$(date +%Y%m%d)"
[ -r "$ZONEFILE" ] && serialno="$(awk '/^@ IN SOA/ {print $6 + 1}' "$ZONEFILE")"
[[ "$serialno" =~ ^"$today" ]] || serialno="${today}01"

new_zone="$(mktemp)"
trap 'rm -f "$new_zone"' EXIT
echo ";; created by $0
"'$ORIGIN secure-cdn.dosamp.net.
$TTL 30m
'"@ IN SOA ceres.dosamp.net. maulwurfhuegel.dosamp.net. $serialno 6h 15m 7d 5m
"'@ IN NS ceres.dosamp.net.
@ IN MX 0 .' > "$new_zone"
nmap -n -p 443 --open -oG - -iL "$ENDPOINTS" | \
    awk '/open\/tcp/ { print $2 }' | shuf | \
    awk -v "total_hosts=$(wc -l < "$ENDPOINTS")" -v "max_direct=$MAX_DIRECT" \
    'NR<=max_direct { print "@ IN A " $1 }
    { printf("%x IN A %s\n", NR, $1) }
    END { print "_count IN TXT \"" NR "\""; print "_bad IN TXT \"" (total_hosts - NR) "\"" }' >> "$new_zone"
cp "$ZONEFILE" "${ZONEFILE}.old"
cp "$new_zone" "$ZONEFILE"

if systemctl is-active --quiet nsd.service; then
    kill -HUP "$(</run/nsd/nsd.pid)"
fi

Shell-/Awk-Skript für eine automatisch generierte DNS-Zone (mit DNSSEC müsste man an dieser Stelle noch signieren).

Berühr die Kuh.
Mach es im Nu.

<~Vez> CloverOS would be perfect if you could change the wallpaper
19.04.2018 13:37
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Online
outrun

Beiträge: 11.869
Registriert seit: Jul 2008
Beitrag #776
RE: Der Code-Schnippsel-Thread
VBScript, das einen Datums-Befehl in der Form date MMTThhmmJJJJ.ss plus ENTER ausgibt, wie dieser von den GNU coreutils erwartet wird. Anwendungsfall ist z. B. ein Raspberry Pi oder ähnlicher Einplatinencomputer ohne Echtzeituhr, der ohne Internetverbindung betrieben wird, aber von einem anderen Computer aus wenigstens ungefähr sekundengenau nachgestellt werden soll (das Konstrukt ⌈Timer⌉−Timer, wobei Timer für die verstrichenen Sekunden des Tages mit Nachkommastellen steht, sorgt in etwa dafür, dass bis zum Beginn einer vollen Sekunde gewartet wird).

Code:
Option Explicit

Function PositiveCeil(FloatNo)
  PositiveCeil = Int(FloatNo)
  If PositiveCeil < FloatNo Then
    PositiveCeil = PositiveCeil + 1
  End If
End Function

Dim WshShell, sleeptime, unixtime, unixstr, secondstr
Set WshShell = WScript.CreateObject("WScript.Shell")

sleeptime = Int(1000*(PositiveCeil(Timer())-Timer())-100)
If sleeptime > 0 Then
  WScript.Sleep sleeptime
End If
unixtime = Now()
Rem MMddHHmmyyyy.ss
unixstr = CStr(Year(unixtime) + 10000 * Minute(unixtime) + 1000000 * Hour(unixtime) + 100000000 * Day(unixtime) + 10000000000 * Month(unixtime))
If Month(unixtime) < 10 Then
  unixstr = "0" & unixstr
End If
If Second(unixtime) < 10 Then
  secondstr = "0" & Second(unixtime)
Else
  secondstr = CStr(Second(unixtime))
End If
unixstr = unixstr & "." & secondstr

WshShell.SendKeys "%{TAB}"
WScript.Sleep 100
WshShell.SendKeys "date " & unixstr & "~"

Ähnlich, aber nur in geänderter Reihenfolge verfährt man bei einem BSD-System, wo der Befehl das Datum in der mehr am internationalen Standard angelehnten Form JJJJMMTThhmm.ss akzeptiert.
Zeile 19 sollte dann wie folgt aussehen, Zeile 20-22 fallen dann weg:

Code:
unixstr = CStr(Minute(unixtime) + 100 * Hour(unixtime) + 10000 * Day(unixtime) + 1000000 * Month(unixtime) + 100000000 * Year(unixtime))

Berühr die Kuh.
Mach es im Nu.

<~Vez> CloverOS would be perfect if you could change the wallpaper
(Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2018 10:07 von DosAmp.)
08.11.2018 00:59
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste