Utilisateur:Legrostdg/Pastealacon

De Disposition de clavier bépo
< Utilisateur:Legrostdg
Version datée du 16 mars 2009 à 03:05 par Legrostdg (discussion | contributions) (Page créée avec « Ce script permet de ne pas reprendre la souris pour coller des données sur le site [http://pastealacon.com pastealacon.com]. Il prend le texte à coller sur l'entrée stand... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

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.

On peut ainsi retrouver l'url à l'aide de "xclip -o".

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
# 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.

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";