Twidge, inverser l'odre d'affichage

Quand on passe une partie de sa journée devant un shell, on aime bien avoir accès à certaines choses sans booter un navigateurs graphique. Du coup, si on est un "twittos", on pourra installer Twidge, un client CLI pour Twitter.

Seulement, on notera deux "problèmes" : des commandes relativement longues et un ordre d'affiche non ergonomique à mon goût. En effet, il affiche les twitts du plus récent au plus ancien, mais quand on est dans un shell, ça oblige à scroller pour visualiser les nouveautés. Pour résoudre un des deux problèmes, il suffit de faire des alias. Pour l'autre, j'ai fais un script assez simple mais efficace.

#!/bin/sh
TMP=/tmp/twitter


if [ -f "$TMP" ]; then
	rm "$TMP"
fi

getRecent() {
	tweets=$(twidge lsrecent | sed 's/\s\s*/ /g;s/^\s\s*//')
	echo "$tweets" | while read line; do
		if [ $(echo "$line" | cut -c 1) = "<" ]; then
			echo -n "\n$line" >> "$TMP"
		else
			echo -n " $line\`" >> "$TMP"
		fi
	done

	F=
	IFS="\`"
	for i in `cat "$TMP"`; do
		if [ ! -z $i ]; then
			F="$i$F"
		fi
	done

	echo "$F" | awk '$O!=""{ print $O"\n"; }'
}

case "$1" in
	ls|lsrecent) getRecent;;
	up|update) twidge update "$2";;
	*) twidge "$1" "$2";;
esac

Pour l'utiliser :

# ici, le script s'exécute via "tw"
prompt> tw ls # affiche les derniers twitts
prompt> tw up <message> # ajoute un twitt
prompt> tw <une commande twidge>

Simon Vieille

Let's Encrypt - Comment se faciliter la vie ?

Let's Encrypt - Comment se faciliter la vie ?

Mon serveur web est composé d'un frontend nginx et d'un backend apache. L'ensemble de mes ce…

Capture, un reverse proxy pour analyser les requêtes de vos applications

Capture, un reverse proxy pour analyser les requêtes de vos applications

Capture est un reverse proxy HTTP qui se place entre votre application cliente et une API. C…

Un modèle pour démarrer un script shell

Un modèle pour démarrer un script shell

J'ai régulièrement le besoin d'écrire des scripts shell un peu évolués. Il y a quelques mois…


Ajouter un commentaire

Votre commentaire - Vous pouvez utiliser du markdown

Renouveler