Twitter – Formatage v2

Pour toutes les explications concernant ce script je vous ramène au premier post.
Ici je n’ai fait que rajouter les deux fonctionnalités que je désirais en plus et que j’avais évoqué dans ce premier post (une césure adaptive, et l’affichage des urls à la demande).
J’ai préféré ne pas modifier le premier post (du moins le script de celui ci) pour laisser aux novices un code décorticable assez facilement mais permettre d’avoir toutes les fonctionnalités par ici.

Trêve de blabla le script :

#!/usr/bin/perl
#impose de coder plus 'proprement' selon moi (my pr déclarer var)
use strict;

my $link = 0;

#Si l'argument -url est indiqué les url seront affichées par la mise de link à 1
if($ARGV[0] eq "-url"){
	$link = 1;
#Si ya un argument mais pas le correct on rappele l'usage
}elsif ($ARGV[0] ne ""){
	print "Usage: twitter.pl [-url]\n";
	exit;
}

#on recupère le résultat de la commande bti (on prend que 2 lignes)
my $string = `bti --action friends | head -n 2`;

#Si link est à 0 c'est qu'on veut pas des liens
if ($link == 0){
	#On remplace donc tout les liens par 'link'
	$string =~ s/(http:\/\/[a-z0-9-_.\/\?=&#%+:,~]*)/link/gi;
}

#On splitte sur les \n (séparer les 2 lignes de bti)
my @lines = split (/\n/,$string);
foreach my $line (@lines){
#pour chaque ligne, on splitte les mots
	my @mots = split (/ /,$line);
	my $recompose = '';
	foreach my $mot (@mots){

		#On backup la string précedente
		my $recomposeback = $recompose;
		#on rajoute chaque fois le mot a la ligne en replaçant un espace
		$recompose .= "$mot ";
		#Si la ligne dépasse 35 caractères on l'affiche et on vide le tampon
		if (length $recompose >= 35){

			#On determine si la césure se trouverait plus proche du début ou de la fin du mot
			my $lr = (length $recompose) - 35;
			my $lrb = 35 - (length $recomposeback);
			#Et selon on affiche la version complete du tampon et on le vide
			if ($lr > $lrb){
				print "$recompose\n";
				$recompose = '';
			}else{
				#Ou on affiche le tampon juste avant l'ajout du mot et on remet le mot en charge dans le tampon
				print "$recomposeback\n";
				$recompose = "$mot ";
			}
		}
	}
#On affiche ce qu'il pourrait rester du tampon
	print "$recompose\n\n";
}
Posted in Linux by El Gnap at August 13th, 2010.
Tags: , , , , ,

2 Responses to “Twitter – Formatage v2”

  1. […] This post was mentioned on Twitter by L Gnap ✔, L Gnap ✔. L Gnap ✔ said: Geekeries diverses » Twitter – Formatage v2 http://bit.ly/b1Ogpm […]

  2. Helpcomputer says:

    Helpcomputer…

    […] something about helpcomputer[…]…