[caracas-pm] caracas-pm Digest, Vol 73, Issue 2

francisco vasquez franjvasquezg at gmail.com
Mon Aug 9 07:01:05 PDT 2010


Buen dia Nelo pana probé lo que me enviaste hermano claro hay que tomar en
cuenta lo que esto escribiendo   es un cliente  que recogeria datos del
sistema y luego se lo envio al servidor: lo probe y me arroja el siguiente
error

  Can't call method "value" on an undefined value at
/usr/share/perl5/WWW/Mechanize.pm line 1397.
***  ignoring at ./canaima_notas23.pl line 53.

 EL CODIGO ES EL siguiente no cambia mucho

la linea 53 del codigo es esta

Gtk2->main;

no se como interpretar el error hermano...!





#!/usr/bin/perl -w
=head1
####################
Sistema:Canaima GNU-Linux
Nombre:Canaima-notas
Autor:Equipo de Desarrolladores canaima
Descripción:Sistema que permite tomar comentarios del usuario final y ademas
datos del sistema
que permitiran ampliar el comnetario para una mejor evaluacion del equipo de
desarrollo
Fecha: 20/07/10
###################
=cut

#   use strict;
  use Gtk2 -init;
  use Gtk2::GladeXML;
  use WWW::Mechanize;

  my $buffer_t ;
  my $programa = Gtk2::GladeXML->new('canaima-notas2.glade');
  my $ventana_principal = $programa->get_widget('ventana_principal');
  my $t_titulo = $programa->get_widget('text_titulo');
  my $t_autor = $programa->get_widget('text_autor');
# my $notas_t = $programa->get_widget('nota');#textview
  my $boton_e = $programa->get_widget('boton_enviar');
  my $boton_c = $programa->get_widget('boton_cancelar');
  my $pci = $programa->get_widget('pci'); #lspci
  my $usb = $programa->get_widget('usb'); #lsusb
  my $dpkg = $programa->get_widget('dpkg'); #dpkg.log
  my $term = $programa->get_widget('term'); #term.log
  my $d_alma = $programa->get_widget('d_alma'); #dispositvo de
almacenamientoterm.lo
  my $t_part = $programa->get_widget('t_part'); #tabla de particiones
  my $Eprueba = $programa->get_widget('label4');
  my $tit_aut = $programa->get_widget('label6');
  my $n1 =    $programa->get_widget('entry1');
  my $n2 =    $programa->get_widget('entry2');
  my $n3 =    $programa->get_widget('entry3');
  my $n4 =    $programa->get_widget('entry4');
  my $n5 =    $programa->get_widget('entry5');
  my $n6 =    $programa->get_widget('entry6');
  my $n7 =    $programa->get_widget('entry7');
  my $n8 =    $programa->get_widget('entry8');
  my $n9 =    $programa->get_widget('entry9');
  my $n10 =    $programa->get_widget('entry10');
  my $n11 =    $programa->get_widget('entry11');
  my $n12 =    $programa->get_widget('entry12');
  my $n13 =    $programa->get_widget('entry13');
  my $n14 =    $programa->get_widget('entry14');
  my $n15 =    $programa->get_widget('entry15');
  my $n16 =    $programa->get_widget('entry16');
  $programa->signal_autoconnect_from_package('main');
  $ventana_principal->show_all();

  Gtk2->main;

  sub on_boton_cancelar_clicked {Gtk2->main_quit;}

  sub on_boton_enviar_clicked {
        my $d_alma1 = $d_alma->get_active;
        my $t_part1 = $t_part->get_active;
        push (@informe,"****<<<< SISTEMA DE NOTAS CANAIMA >>>>****\n\n");

        my $tex_1 = $n1->get_text();
        my $w = &validar_nota($tex_1);
        &datos_sistema($w);
        my $t_titulo1 = $t_titulo->get_text();
        my $t_autor1 = $t_autor->get_text();
        my $e =&titulo_autor($t_titulo1,$t_autor1);
        #creamos el archivo y almacenamos los datos
          open (DATA, ">/tmp/notas_canaima.txt");
        # Grabamos el archivo con los datos
        foreach $dato (@informe)
            {
                 print DATA $dato;
            }
          close(DATA);
          chmod (0777, "/tmp/notas_canaima.txt");

        my $url = "http://notas.canaima.softwarelibre.gob.ve/enviar_consola
";
        my $mech = WWW::Mechanize->new();
        $mech->get($url);                             # Obtener la página
            $mech->form_name('f');                        # Seleccionar el
formulario
        $mech->field('codigo_form', $informe);        # Llenar el campo de
texto
        $mech->field('titulo_form', $t_titulo1);
        $mech->field('nombre_form', "$t_autor1");     # Llenar el campo Name
/ Title
         my $resultado = $mech->click();               # Enviar el
formulario haciendo click en el boton Send
}

sub validar_nota {
#asignaciones,reconsideracion,cuota_ipasme,fe_vida,constancia_estudio,homologacion,embargo,oficios,resol_jp,
#jubilacion_pension,pension_sobreviviente,resol_sob,pasivos_laborales
#---------------------------------------------------------------------------
    my ($num)=@_;
        my $w;
        if ($num eq ""){
#             push (@informe,"----- SIN NOTA DEL USUARIO: Por favor es
necesario una nota   -----\n");
            $Eprueba->set_markup("----- SIN NOTA DEL USUARIO: Por favor es
necesario una nota   -----\n");
             $w=1;
         }else{
             $w=0;
            push (@informe,"----- NOTA DEL USUARIO -----\n");
            $tex_1 = $n1->get_text();
            $Eprueba->set_markup("");
            push(@informe,$tex_1);
            $tex_2 = $n2->get_text();
            push(@informe,$tex_2);
            $tex_3 = $n3->get_text();
            push(@informe,$tex_3);
            $tex_4 = $n4->get_text();
            push(@informe,$tex_4);
            $tex_5 = $n5->get_text();
            push(@informe,$tex_5);
            $tex_6 = $n6->get_text();
            push(@informe,$tex_6);
            $tex_7 = $n7->get_text();
            push(@informe,$tex_7);
            $tex_8 = $n8->get_text();
            push(@informe,$tex_8);
            $tex_9 = $n9->get_text();
            push(@informe,$tex_9);
            $tex_10 = $n10->get_text();
            push(@informe,$tex_10);
            $tex_11 = $n11->get_text();
            push(@informe,$tex_11);
            $tex_12 = $n12->get_text();
            push(@informe,$tex_12);
            $tex_13 = $n13->get_text();
            push(@informe,$tex_13);
            $tex_14 = $n14->get_text();
            push(@informe,$tex_14);
            $tex_15 = $n15->get_text();
            push(@informe,$tex_15);
            $tex_16 = $n16->get_text();
            push(@informe,$tex_16);
        }
    return $w;
}
sub datos_sistema{
    my $num=@_;
    if ($num != 0){
        my $pc1 = $pci->get_active;
        if ($pc1 == 1) {
            push (@informe,"----- Dispositivos PCI -----\n");
            my @pci = qx(lspci);
            push(@informe, at pci);

        }
        my $usb1 = $usb->get_active;
        if ($usb1==1){
            push (@informe,"----- Dispositivos USB -----\n");
            my @usb = qx(lsusb);
            push(@informe, at usb);

        }
        my $dpkg1 = $dpkg->get_active;
        if($dpkg1==1){
            push (@informe,"----- dpkg.log -----\n");
            my @dpkg = qx(cat /var/log/dpkg.log);
            push(@informe, at dpkg);

        }
        my $term1 = $term->get_active;
        if($term1==1){
            push (@informe,"----- term.log -----\n");
            my @term = qx(cat /var/log/apt/term.log);
            push(@informe, at term);
        }
    }
}
sub titulo_autor{
    my ($t_titulo1,$t_autor1)=@_;
    $Eprueba->set_markup("$t_titulo1,$t_autor1");
        my $w;
            if ($t_titulo1 eq ""){
                my $w=1;
                $tit_aut->set_markup("----- SIN TITULO PARA LA NOTA: Por
favor es necesario un Titulo-----\n");
            }else{
                my $w=0;
                push (@informe,"----- TITULO USUARIO -----\n");
                $tit_aut->set_markup("");
                push(@informe,$t_titulo1);
            }
            if ($t_autor1 eq ""){
                my $w=1;
                $tit_aut->set_markup("----- SIN AUTOR PARA LA NOTA: Por
favor es necesario un Autor-----\n");
            }else{
                my $w=0;
                push (@informe,"----- AUTOR DE LA NOTA -----\n");

                $tit_aut->set_markup("");
                push(@informe,$t_autor1);
            }
         foreach  $i (@informe) {
             print "$i\n";
         }
    return $w;
}



El 7 de agosto de 2010 14:30, <caracas-pm-request at pm.org> escribió:

> Send caracas-pm mailing list submissions to
>        caracas-pm at pm.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        http://mail.pm.org/mailman/listinfo/caracas-pm
> or, via email, send a message with subject or body 'help' to
>        caracas-pm-request at pm.org
>
> You can reach the person managing the list at
>        caracas-pm-owner at pm.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of caracas-pm digest..."
>
>
> Today's Topics:
>
>   1. Re: notas 2 mensaje mas liviano (Nelo R. Tovar)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 6 Aug 2010 09:31:26 -0430
> From: "Nelo R. Tovar" <tovar.nelo at gmail.com>
> Subject: Re: [caracas-pm] notas 2 mensaje mas liviano
> To: francisco vasquez <franjvasquezg at gmail.com>
> Cc: caracas-pm at pm.org
> Message-ID:
>        <AANLkTimEuRKO76uMD8j4k_5PSni9WW=sqM1DMHgSK0iq at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Saludos.
>
> 2010/8/5 francisco vasquez <franjvasquezg at gmail.com>
>
> > Buenas tarde amigos :
> >
> > estoy migrado un programa echo python a Perl y este realiza llamados al
> > sistema operativo deb?an en una maquina local (lspci, lsusb, etc) y
> adem?s
> > permiter escribir una nota esto con el fin de ayudar a un usuario en caso
> > que tenga problemas tecnicos en su maquina y entonces con esa informacion
> > suministra ayudarlo toda esta informaci?n la guardo en un arreglo, mi
> > problema compa?eros como enviar informacion en el mismo formato que lo
> tiene
> > el codigo en phyton a un servidor. este es el codig? python :
> >
> >
> > Supongo que quieres colocar la informaci?n en un servicio parecido a
> pastebin.org.
> En http://pastebin.org/450975, tienes una versi?n en Perl del c?digo en
> Python que enviaste. En http://www.pastebin.org/450965, esta la salida del
> script (y enviado con el script).
> F?jate en el uso de WWW::Mechanize para el env?o de los datos usando los
> campos del formulario que usa pastebin.
>
> --
> Nelo R. Tovar
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://mail.pm.org/pipermail/caracas-pm/attachments/20100806/e4f83687/attachment-0001.html
> >
>
> ------------------------------
>
> _______________________________________________
> caracas-pm mailing list
> caracas-pm at pm.org
> http://mail.pm.org/mailman/listinfo/caracas-pm
>
> End of caracas-pm Digest, Vol 73, Issue 2
> *****************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/caracas-pm/attachments/20100810/cf07fd98/attachment-0001.html>


More information about the caracas-pm mailing list