Refactor service startup, make it modular. - annna - Annna the nice friendly bot.
(HTM) git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Tags
(DIR) README
---
(DIR) commit a9faa5e4eaee28562ff2de88d5f073fcaaaed503
(DIR) parent 3c8d08bf47e5486d78b3c1cf443df70a9c7ee57a
(HTM) Author: Annna Robert-Houdin <annna@bitreich.org>
Date: Mon, 20 Dec 2021 00:05:22 +0100
Refactor service startup, make it modular.
Diffstat:
M annna-channel-service | 2 +-
M annna-start-main | 7 +++----
A annna-start-service | 35 +++++++++++++++++++++++++++++++
D annna-start-services | 37 -------------------------------
4 files changed, 39 insertions(+), 42 deletions(-)
---
(DIR) diff --git a/annna-channel-service b/annna-channel-service
@@ -14,7 +14,7 @@ channel="$2"
iiroot="/home/annna/irc"
iibase="/home/annna/irc/${server}"
-ls "${iibase}/${channel}/out" | entr tail -n 1 "${iibase}/${channel}/out" \
+ls "${iibase}/${channel}/out" | entr tail -n 1 "${iibase}/${channel}/out" 2>/dev/null \
| sed -nu 's,[0-9]* <\([^ >]*\)> \(.*\),\1 \2,p' \
| {
while read -r user text;
(DIR) diff --git a/annna-start-main b/annna-start-main
@@ -45,7 +45,7 @@ iipid=$!
# services disappear.
while kill -0 $iipid >/dev/null 2>&1;
do
- sleep 1
+ sleep 10
done
rm -rf $HOME/irc/${server}
@@ -91,8 +91,7 @@ do
do
sleep 0.5
done
-done
-# Services
-annna-start-services
+ annna-start-service "${server}" "${chan}"
+done
(DIR) diff --git a/annna-start-service b/annna-start-service
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# Here follow scriplets to listen for commands in annna.
+#
+
+if [ $# -lt 2 ];
+then
+ printf "usage: %s server channel\n" "$(basename "$0")"
+ exit 1
+fi
+server="$1"
+channel="$2"
+
+export PATH="$PATH:/home/annna/bin"
+# plan9port
+export PATH="$PATH:/opt/plan9/bin"
+
+iiroot="/home/annna/irc"
+iibase="/home/annna/irc/${server}"
+
+# Permissions
+[ -d ${iiroot} ] && chmod o+rx ${iiroot}
+[ -d ${iibase} ] && chmod o+rx ${iibase}
+
+## Channel handlers
+[ -d "${iibase}/${channel}" ] \
+ && chmod o+rx "${iibase}/${channel}"
+[ -p "${iibase}/${channel}/in" ] \
+ && chmod o+w "${iibase}/${channel}/in"
+
+if [ -f "${iibase}/${channel}/out" ];
+then
+ annna-channel-service "${server}" "${channel}" &
+fi
+
(DIR) diff --git a/annna-start-services b/annna-start-services
@@ -1,37 +0,0 @@
-#!/bin/sh
-#
-# Here follow scriplets to listen for commands in annna.
-#
-
-export PATH="$PATH:/home/annna/bin"
-
-# plan9port
-export PATH="$PATH:/opt/plan9/bin"
-
-server="irc.bitreich.org"
-iiroot="/home/annna/irc"
-iibase="/home/annna/irc/${server}"
-channel_list="#bitreich #bitreich-en #bitreich-fr #bitreich-de #bitreich-nl #bitreich-it #bitreich-con #bitreich-scm #bitreich-cooking #bitreich-lawn #bitreich-tv #bitreich-meme #bitreich-radio #bitreich-books"
-
-#testing
-#channel_list="#bitreich-scm"
-
-# Permissions
-[ -d ${iiroot} ] && chmod o+rx ${iiroot}
-[ -d ${iibase} ] && chmod o+rx ${iibase}
-
-## Channel handlers
-for channel in $channel_list;
-do
- # Permissions
- [ -d "${iibase}/${channel}" ] \
- && chmod o+rx "${iibase}/${channel}"
- [ -p "${iibase}/${channel}/in" ] \
- && chmod o+w "${iibase}/${channel}/in"
-
- if [ -f "${iibase}/${channel}/out" ];
- then
- annna-channel-service "${server}" "${channel}" &
- fi
-done
-