Utilisateur:Legrostdg/Pastealacon
Ce script permet de ne pas reprendre la souris pour coller des données sur le site pastealacon.com.
Il prend le texte à coller sur l'entrée standard et il renvoie l'url associée. Il colle aussi cette url dans le buffer du clic scroll à l'aide de xclip.
Exemple d'utilisation :
toto@charcuterie ~% cat je_m_appelle_toto_et_je_suis_rigolo.txt | pastebin.pl http://pastealacon.com/2281
On peut retrouver l'url à l'aide de "xclip -o".
toto@charcuterie ~% xclip -o http://pastealacon.com/2281
Il nécessite perl, le module perl WWW::Mechanize et xclip
Les options disponibles sont:
- -nick (votre pseudo (Anonymous par défaut, éventuellement à adapter dans le script))
- -lang (le langage dans lequel sont codées les lignes que vous avez "pastées" (défaut: texte): utile pour la coloration syntaxique)
voir la liste des languages de programmation supportés par pastealacon.com.
en général il vous faut noter le nom du langage sans espace et en minuscule.
- -time (durée de vie du "paste": d = un jour (défaut), m = un mois, f = à jamais)
#!/usr/bin/perl -w # # pastealacon.pl # # Faire des pastes en ligne de commande sur pastealacon.com. # Colle l'entrée standard sur pastealacon.com, renvoie l'url # et la met dans le buffer du clic scroll. # # Distribué sous les termes de la # Licence Publique Rien À Branler (LPRAB) version 1 my $url = "http://pastealacon.com/"; my $nick = "Anonymous"; my $format = "text"; my $time = "d"; use WWW::Mechanize; use Getopt::Long; my %CONF = ( lang => $format, nick => $nick, time => $time, text => '', ); GetOptions( \%CONF, "lang=s", "nick=s", "time=s", "text=s" ) or die "Bad Options."; my $m = WWW::Mechanize->new; $m->get($url); die $m->res->status_line unless $m->success; unless ( $CONF{text} ) { $CONF{text} = join "", <>; }; $m->set_fields( format => $CONF{lang}, code2 => $CONF{text}, poster => $CONF{nick}, expiry => $CONF{time}, ); $m->click; die $m->res->status_line unless $m->success; my $response = $m->response->request->uri->as_string; system( "echo $response | xclip -i" ); print $response, "\n";