summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple/Reaktor
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2021-10-23 15:15:54 +0200
committerlassulus <lassulus@lassul.us>2021-10-23 15:15:54 +0200
commit679922a7831176089fe9e3ad62346b0e0bd4dcdd (patch)
treea6ab4cce1956c7c315106f94fd1d4c0b4e686496 /krebs/5pkgs/simple/Reaktor
parent0564414a3184960555a8146f78b36120e6ef0c21 (diff)
Revert "rip Reaktor"
This reverts commit 55b137ba525f075f4619de4676d3e66f782b1a12.
Diffstat (limited to 'krebs/5pkgs/simple/Reaktor')
-rwxr-xr-xkrebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh6
-rwxr-xr-xkrebs/5pkgs/simple/Reaktor/scripts/random-issue.sh20
-rwxr-xr-xkrebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py58
-rwxr-xr-xkrebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh6
4 files changed, 90 insertions, 0 deletions
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh b/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh
new file mode 100755
index 000000000..6f3dd4a3f
--- /dev/null
+++ b/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+curl -sS http://emojicons.com/random | \
+ grep data-text | \
+ sed -n 's/.*>\(.*\)<\/textarea>/\1/p' | \
+ head -n 1 | \
+ xmlstarlet unesc
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh b/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh
new file mode 100755
index 000000000..5c47c6156
--- /dev/null
+++ b/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh
@@ -0,0 +1,20 @@
+#! /bin/sh
+set -eu
+# requires env:
+# $state_dir
+# $origin
+
+# in PATH: git,lentil,coreutils
+subdir=`echo "$1" | tr -dc "[:alnum:]"`
+name=`echo "$origin" | tr -dc "[:alnum:]"`
+track="$state_dir/$name-checkout"
+(if test -e "$track" ;then
+ cd "$track"
+ git fetch origin master
+ git reset --hard origin/master
+else
+ git clone "$origin" "$track"
+fi) >&2
+
+cd "$track"
+lentil "${subdir:-.}" -f csv | sed 1d | shuf | head -1
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py
new file mode 100755
index 000000000..4925b25bb
--- /dev/null
+++ b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python3
+
+# Usage:
+# _from=krebs state_dir=. python sed-plugin.py 'dick butt'
+# _from=krebs state_dir=. python sed-plugin.py 's/t/l/g'
+# > dick bull
+import shelve
+from os import environ
+from os.path import join
+from sys import argv
+from time import sleep
+import re
+
+# try to open the shelve file until it succeeds
+while True:
+ try:
+ d = shelve.open(
+ join(environ['state_dir'], 'sed-plugin.shelve'),
+ writeback=True
+ )
+ break
+ except: # noqa: E722
+ sleep(0.2)
+usr = environ['_from']
+
+
+def is_regex(line):
+ myre = re.compile(r'^s/(?:\\/|[^/])+/(?:\\/|[^/])*/[ig]?$')
+ return myre.match(line)
+
+
+line = argv[1]
+
+if is_regex(line):
+ last = d.get(usr, None)
+ if last:
+ from subprocess import Popen, PIPE
+ p = Popen(['sed', line], stdin=PIPE, stdout=PIPE, stderr=PIPE)
+ so, se = p.communicate(bytes("{}\n".format(last), "UTF-8"))
+ if p.returncode:
+ print("something went wrong when trying to process your regex: {}".format(line.strip()))
+ ret = so.decode()
+ if len(ret) > 512:
+ print('message to long, skipped')
+ elif len(ret.split('\n')) > 5:
+ print('to many lines, skipped')
+ else:
+ if last.strip() != ret.strip():
+ print("\x02{}\x02 meant: {}".format(usr, ret.strip()))
+ if ret:
+ d[usr] = ret
+
+ else:
+ print("no last message")
+else:
+ d[usr] = line
+
+d.close()
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh b/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh
new file mode 100755
index 000000000..d500b3cb3
--- /dev/null
+++ b/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh
@@ -0,0 +1,6 @@
+#! /bin/sh
+set -eu
+printf "Sie meinten wohl \""
+echo -n $@ | sed 's/Shack/shack/g'
+echo "\" check out https://wiki.shackspace.de/project/logo_and_ci#name_ci"
+echo "${_from}--"