Newsgroup: it.comp.software.newsreader
Titolo: [Dialog] [Script] Passare il contenuto di un post a un prog esterno e poi ripigliarlo.

 NB: il file "
formatpost.pl
" e` chiaramente disponibile...
  % Apre il corpo del Mex giustificato
  %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  fp = fopen ( body_par, "r" );
  if( fp == NULL )
    verror ( "%s: non posso aprire il file %s in lettura!...",
             _function_name(), body_par );
  % Preleva il corpo del messaggio
  %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  fpar = fgetslines ( fp );
  % Chiude e cancella il file temporaneo
  %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  () = fclose ( fp );
  () = remove ( body_tmp );
  () = remove ( body_par );
  % Ricostruisce il nuovo corpo del messaggio
  %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  foreach ( fpar )
  {
    line = ();
    new_body = strcat ( new_body, line );
  }
  return ( new_body );
}
%_____________________________________________________________________
% Delimitazione articolo
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
define GetHeaderBodyTag( art )
{
  variable hi, hj, hdr, bdy, tagl;
  hi = is_substr ( art, "\n\n" );    % cerca l'inizio del body
  hj = is_substr ( art, "\n-- \n" ); % cerca l'inizio della tag
  if ( hi >= 1 )
    hdr = art[[0:hi-1]];             % separa l'header dal body
  else
    return ( "", "", "" );
  if ( hj >= 1 )
    bdy = art[[hi:hj-1]];            % separa il body dalla tag (se
c'e`)
  else
    bdy = art[[hi:]];
  if ( hj >= 1 )
    tagl = art[[hj:]];               % preleva la tag (se c'e`)
  return ( hdr, bdy, tagl );
}
%_____________________________________________________________________
% Funzione `Main':
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
define FiltraArticolo ()
{
  if( is_group_mode() )
    error ( _function_name() + " doesn\'t work in group mode!" );
%_____________________________________________________________________
% Lettura articolo 'grezzo"
%   E`  necessario utilizzare  il "raw"  perche' altrimenti  slrn puo`
%   "filtrare" l'articolo a modo suo.
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  variable msg, i, j, header, body, tagline;
 
  msg = raw_article_as_string();
  i = is_substr ( msg, "\n\n" );      % cerca l'inizio del body
  j = is_substr ( msg, "\n-- \n" );   % cerca l'inizio della tag
  if( i >= 1 )
    header = msg[[0:i-1]];   % separa l'header dal body
  else
    return();
  if( j >= 1 )
    body = msg[[i:j-1]];     % separa il body dalla tag (se c'e`)
  else
    body = msg[[i:]];
  if( j >= 1 )
    tagline = msg[[j:]];     % preleva la tag (se c'e`)
%_____________________________________________________________________
% Impaginazione dell'Articolo
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%_____________________________________________________________________
  body = PaginazioneArticolo( body );
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  % Ri-unisce l'header al body
  %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  if( i >= 1 )
  {
    header = strjoin ( header, "\n" );
    msg = strcat ( header, body );
    if( j >= 1 )
    {
      msg = strcat ( msg, tagline );
    }
  }
%_____________________________________________________________________
% Sostituisce l'articolo con le modifiche effettuate
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   replace_article ( msg );
}
%_____________________________________________________________________
% Definizione tasto `opinabile'... a me va bene cosi`...
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
definekey ( "FiltraArticolo", "^k", "article" );
-- 
Cio` che ho scritto, ho scritto.

    modificato il post originale...
    Potrebbe andare lo script che salva in file di testo?
http://www.40tude.com/dialog/wiki/index.php/ScriptSaveOutboundMessage
    A quel punto, modificato il file, potresti importarlo di nuovo.
È solo un consiglio primordiale, magari qualcosa di meglio si può
fare.
-- 
Ryoma
ICQ#41121680
10/10/2005
@1191@