[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-hackers] submission of Fépéter - sa vannah.nongnu.org
From: |
yhargla |
Subject: |
[Savannah-hackers] submission of Fépéter - sa vannah.nongnu.org |
Date: |
Sun, 04 Jan 2004 14:09:56 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.4) Gecko/20030630 Galeon/1.3.8 |
Un projet a été soumis à savannah.nongnu.org
Ce courriel a été envoyé à address@hidden, address@hidden
Yhargla <address@hidden> a décrit le projet comme suit :
Licence: gpl
Autre Licence:
Paquet: Fépéter
Nom système: fepeter
Type: non-GNU
Description:
Mon projet se nomme "Fépéter".
Il consiste en un script Perl permettant de lancer une application appropriée
au type de fichier passé en paramètre avec une simple commande.
Exemple:
$ fepeter un_film.mpg
Fépéter lancera alors une application de lecture de vidéo comme Xine ou Mplayer.
L'association entre type de fichier (basé sur la commande 'file' ou sur
l'extension du fichier) et application est paramétrable dans un fichier de
configuration.
Autre exemple:
$ fepeter image.jpeg video.mpg musique.mp3 *.txt
Fépéter lancera successivement les applications associées (par exemple gqview,
puis lorsque l'utilisateur fermera ce programme mplayer sera lancé, puis xmms
puis vi).
Ce projet a pour but de permettre à un utilisateur novice de lancer facilement
l'application adaptée sans avoir à connaître son nom et sa syntaxe, et à
l'utilisateur expérimenté de configurer finement un lanceur.
Il est actuellement fonctionnel sur un système GNU/Linux avec Perl.
Source du programme:
-------------8<-------------8<----------------
#!/usr/bin/perl -w
# Lance l'application associée au type de fichier
use strict;
my $DEBUG = 1;
my %ACTIONS;
my $CONFIG = "fepeter.conf";
my($fichier, $type, $regex, $action);
sub usage {
print "fepeter.pl fichier1 fichier2 ...\n";
print "lance le programme adapté au fichier\n";
exit
}
sub debug {
my $message = $_[0];
! $DEBUG && return;
print "debug: $message\n"
}
address@hidden && usage;
# init actions
my ($ligne, $key, $value);
open FH, $CONFIG or die $!;
while ($ligne = <FH>) {
chomp $ligne;
$ligne =~ /\#.*/ && next;
$ligne !~ /.*,.*/ && next;
($key,$value) = split(/,/, $ligne);
debug "clef: $key, valeur: $value";
$ACTIONS{$key} = $value;
}
# fichiers
foreach $fichier (@ARGV) {
debug "fichier: $fichier";
$type = `file -b $fichier`;
debug "type: $type";
foreach $regex (keys (%ACTIONS)) {
debug "regex: $regex";
if ( $type =~ $regex ) {
$action = $ACTIONS{$regex};
$action =~ s//$fichier/g;
debug "action: $action";
system($action);
debug "action: $action";
system($action);
last;
}
}
}
-------------8<-------------8<----------------
Étant donné qu'il est en Perl pur et qu'il n'a aucune autre dépendance je ne
pense pas qu'il y ait de problèmes légaux.
Dépendances logicielles:
Autres Commentaires:
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Savannah-hackers] submission of Fépéter - sa vannah.nongnu.org,
yhargla <=