• Publicidad

Calcular dependencias y enpaquetamiento

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Calcular dependencias y enpaquetamiento

Notapor explorer » 2011-01-11 07:15 @344

¿-a? El manual pone que es -i. El -a sí que te vale para el caso de iconos para Linux.

No sé cómo se mezclarán los dos... sería cuestión de mirar el código de pp.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Calcular dependencias y enpaquetamiento

Notapor creating021 » 2011-01-11 10:51 @494

La pregunta que se debe de hacer es ¿cómo accedo a los ficheros agregados con -a? Hay que recordar que pp también es usado para generar ficheros PAR.

Lo que yo haría es lo tradicional: instalar la aplicación y usar rutas estáticas. En GNU/Linux las aplicaciones normalmente instalan los ficheros que usan (imágenes, sonidos etc) en /usr/local/share/nombre_del_programa
En cuanto al ícono, en GNU/Linux no lo puedes agregar dentro del ejecutable como en Windows (el formato ELF no tiene especificación alguna al respecto) y tienes que hacer lo que explorer te dijo.

Te recomiendo leer esto:
http://blogs.techrepublic.com.com/howdoi/?p=193
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Re: Calcular dependencias y enpaquetamiento

Notapor Leo_Gutierrez » 2011-01-11 12:30 @563

Gracias, en realidad el icono no me importa mucho, yo me refería a que estaba usando una imagen .jpg para el logo de la aplicación, es decir, la pequeña imagen que vemos en la parte superior izquierda de cada ventana, a eso me refería.

Son programas sencillos, tampoco crean que hice algo grande, esto lo hago en parte por aprender, aparte de que me encanta Perl.

PD: explorer, me refería a esto con -a:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
-a, --addfile=FILE|DIR
           Add an extra file into the package.  If the file is a directory, recursively add all files inside that directory,
           with links turned into actual files.
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Quería usar el flag -a porque también utilizo un archivo "licencia.txt" y sería agregarlo al paquete.
Leo_Gutierrez
Perlero nuevo
Perlero nuevo
 
Mensajes: 91
Registrado: 2008-08-20 23:38 @026

YouDwnPerl

Notapor Leo_Gutierrez » 2011-01-14 02:27 @144

Hola, bueno, después de batallar con eso, pude hacer lo que quería.

Es un descargador de vídeos en YouTube. Introduces la URL del vídeo y lo descarga.
Imagen

Aquí está el código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -w
  2.  
  3. #===============================================================================
  4. #
  5. #         FILE:  youdwnperl.pl
  6. #
  7. #        USAGE:  ./youdwnperl.pl or perl youdwnperl.pl
  8. #
  9. #  DESCRIPTION:  Descarga videos desde YouTube
  10. #                Los videos son descargados en el directorio ~
  11. #
  12. #      OPTIONS:  ---
  13. # REQUIREMENTS:  ---
  14. #         BUGS:  ---
  15. #        NOTES:  ---
  16. #       AUTHOR:  Leo Gutiérrez R. (), [email protected]
  17. #      COMPANY:  CodeSolution
  18. #      VERSION:  1.0
  19. #      CREATED:  09/01/11 02:02:27
  20. #     REVISION:  ---
  21. #===============================================================================
  22.  
  23. use strict;
  24. use Gtk2 -init;
  25. use Gtk2::GladeXML;
  26. use WWW::YouTube::Download;
  27. use File::Copy;
  28.  
  29. use encoding ':locale';
  30. use constant TRUE => 1;
  31. use constant FALSE => !TRUE;
  32.  
  33. # Variables globales indispensables.
  34. ########################################################################
  35.  
  36. my($programa, $ventana_principal);
  37. $programa = Gtk2::GladeXML->new('youdwnperl.glade');
  38. $ventana_principal = $programa->get_widget('window1');
  39.  
  40. # Ventana about
  41. my $ventana_about = $programa->get_widget('about');
  42.  
  43. # Cargamos los componentes.
  44. $programa->signal_autoconnect_from_package('main');
  45.  
  46. # La señal para que cuando cierre se CIERRE TODO.
  47. $ventana_principal->signal_connect(destroy => sub
  48.         {
  49.                 Gtk2->main_quit();
  50.         }
  51.         );
  52.  
  53. $ventana_about->signal_connect(destroy => sub
  54.         {
  55.                 $ventana_about->hide();
  56.         }
  57.         );
  58.  
  59. # Mostrar todo.
  60. $ventana_principal->resize(600, 90);
  61. $ventana_principal->show_all();
  62.  
  63. # YouTube Shit:
  64. my $client = WWW::YouTube::Download->new();
  65. my $video_title;
  66.  
  67. # Objeto de tipo YouTube
  68. my $client = WWW::YouTube::Download->new();
  69.  
  70. # Agregar los TextBox
  71. my $texto = $programa->get_widget('texto');
  72.  
  73. # Agregar la barra de status
  74. my $status = $programa->get_widget('status');
  75. my $context_id = $status->get_context_id("");
  76.  
  77. # Agregar el label de Video ID:
  78. my $lblVideoID = $programa->get_widget('lblVideoID');
  79. my $lblVideoID2 = $programa->get_widget('lblVideoID2');
  80.  
  81. $ventana_principal->show_all();
  82. Gtk2->main();
  83.  
  84. ########################################################################
  85.  
  86. sub on_boton_cerrar_activate
  87. {
  88.         Gtk2->main_quit();
  89. }
  90.  
  91. sub on_texto_activate
  92. {
  93.         unless ($texto->get_text())
  94.         {
  95.                 $status->push($context_id, sprintf("Ingrese su video."));              
  96.                 return;
  97.         }
  98.        
  99.         $lblVideoID2->set_text(&getVideoID());
  100.        
  101. }
  102.  
  103. sub on_btnObtener_clicked
  104. {
  105.         $status->push($context_id, sprintf(""));
  106.         unless ($texto->get_text())
  107.         {
  108.                 $status->push($context_id, sprintf("Ingrese su video."));              
  109.                 return;
  110.         }
  111.        
  112.         $status->push($context_id, sprintf("Video title : [ " . &getTitle() . " ] ... ... ... Descargando"));
  113.         $lblVideoID2->set_text(&getVideoID());
  114.         &downloadVideo();
  115.         $status->push($context_id, sprintf("Video -> [" . &getTitle() . "] descargado con éxito"));
  116.        
  117. }
  118.  
  119. sub getVideoID
  120. {
  121.         my $url = $texto->get_text();
  122.         my ($video_id) = $texto->get_text() =~ m/^.*v=(.*)$/;
  123.         return $video_id;
  124. }
  125.  
  126. sub getTitle
  127. {
  128.         my $title = $client->get_title(&getVideoID());
  129.         return $title;
  130. }
  131.  
  132. sub downloadVideo
  133. {
  134.         my $name = &getTitle() . ".flv";
  135.         $client->download(&getVideoID(), {
  136.       file_name => $name
  137.   });
  138.   move($name, $ENV{'HOME'}) or die("No se pudo mover el video al directorio ~ . $!");
  139. }
  140.  
  141. sub on_aboutFileItem_activate
  142. {
  143.         $ventana_about->run();
  144.         $ventana_about->hide();
  145. }
  146.  
  147. __END__
  148. This program is distributed under the terms of the GPL v2.
  149.  
  150.                     GNU GENERAL PUBLIC LICENSE
  151.                        Version 2, June 1991
  152.  
  153.  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
  154.                51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  155.  
  156. http://www.gnu.org/licenses/gpl-2.0.html
  157.  
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


https://sourceforge.net/projects/youdwnperl/
http://code.google.com/p/you-dwn-perl/

Cualquier sugerencia es bien recibida.
Leo_Gutierrez
Perlero nuevo
Perlero nuevo
 
Mensajes: 91
Registrado: 2008-08-20 23:38 @026

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 41 invitados