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: 10.495
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 Offline
Anderes Zeigegerät

Beiträge: 12.219
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.

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
(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: 10.495
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 Offline
Anderes Zeigegerät

Beiträge: 12.219
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).

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
19.04.2018 13:37
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.219
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))

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
(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
mrshadowtux Offline
borsenrap

Beiträge: 558
Registriert seit: Jul 2019
Beitrag #777
RE: Der Code-Schnippsel-Thread
Nichts wildes, aber evtl für manche praktisch. Schnell nachschauen, wie viel man bei einer bestimmten Länge Tonband bei den üblichen Geschwindigkeiten aufnehmen kann:

Code:
#!/bin/bash
meter=${1}
precision=2 # How much after decimal point
c_b='\e[1m'
c_u='\e[4m'
c_y='\033[1;33m'
c_n='\033[0m'

if test -z "${meter}"
then
    echo -e "Please use the syntax ${c_b}$(basename ${0})${c_n} ${c_y}meter${c_n}"
    echo -e "Example: ${c_b}$(basename ${0})${c_n} ${c_y}549${c_n}"
    exit 1
fi

function calculate()
{
    echo "scale=${precision}; ${*}" | bc
}

function mins()
{
    speedcms="${1}"
    speedms=$(calculate "${speedcms}/100")
    minutes=$(calculate "${meter}/${speedms}/60")
    echo ${minutes}
}

echo -e "${c_b}${c_u}Your tape with ${c_y}${meter}${c_n}${c_b}${c_u} meters can store:${c_n}"
for speed in 4.75 9.50 19.00 38.00 76.00
do
    echo -e "On ${speed}:    ${c_b}$(mins ${speed})${c_n} minutes of audio"
done

[Bild: FJArQGy.png]
(Dieser Beitrag wurde zuletzt bearbeitet: 04.07.2019 23:09 von mrshadowtux.)
04.07.2019 23:07
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mrshadowtux Offline
borsenrap

Beiträge: 558
Registriert seit: Jul 2019
Beitrag #778
RE: Der Code-Schnippsel-Thread
Ich hatte hier einen Ordner mit 360 Bildern, wo jeweils die obersten 26 Pixel abgeschnitten werden sollten, sprich oben ein kleines Stück wegschneiden. Das ist wieder ein schönes Beispiel für Dinge, die auf der Kommandozeile viel viel komfortabler gehen als mit jeder GUI. Ein Befehl und beliebig viele Dateien werden abgearbeitet:
Code:
find . -iname "*.jpg" -print -exec mogrify -gravity North -chop 0x26 "{}" \;

Benötigt installiertes ImageMagick.
11.07.2019 08:50
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Fuexline Offline
Euer Gott und Mittelpunkt

Beiträge: 6.574
Registriert seit: Aug 2012
Beitrag #779
RE: Der Code-Schnippsel-Thread
mach ich per batch Verarbeitung in Paintshop auch in Sekunden

Meine Main Geräte

11.07.2019 12:50
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mrshadowtux Offline
borsenrap

Beiträge: 558
Registriert seit: Jul 2019
Beitrag #780
RE: Der Code-Schnippsel-Thread
Warum soll ich dafür so ein Koloss wie Photoshop installieren, wenn das wenige Kilobyte große Imagemagick das und alle möglichen anderen Bildbearbeitungssachen genauso gut kann? Wíll ja keine detaillierte Retusche machen, sondern nur was croppen, dafür brauche ich doch keine GUI.
11.07.2019 12:56
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


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