Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



sábado, 28 de abril de 2018

Python: ejemplo de paso de parametros y creacion de directorios y archivos.


Python: ejemplo de paso de parámetros y creación de directorios y archivos.

Os dejo un pequeño script en python, que hace:
-Leer los parametros que le pasamos en la linea de comandos
-Si tiene más de un parametro (el nombre del programa cuenta), entonces con el 2º parametro crea un directorio, llamado como el 2º parametro.
-Luego dentro del nuevo directorio crea un fichero con el mismo nombre.

Script:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

#crear un directorio conel nombre del parametro pasado y dentro de ese nuevo directorio
#crea un archivo con el mismo nombre
import sys
import os

print "Numero de parametros: ", len(sys.argv)
print "Lista de argumentos: ", sys.argv
valor=len(sys.argv)
if valor>1:
     os.mkdir(sys.argv[1])
     f = open ( os.getcwd() + "/" + sys.argv[1] + "/"+ sys.argv[1],'w')
     f.close()

Video explicativo:


fuentes:









domingo, 22 de abril de 2018

Script en gambas3


Script en gambas3


Con gambas3, podemos realizar ademas de aplicaciones gráficas, y para terminal, también podemos crear script para ejecutarlos en la terminal rápidamente. Para ello tenemos que:


1º Instalar el paquete gambas3-script:
$ sudo apt-get install gambas3-script
Podemos ver la ayuda de gambsa3-script usando el parametro --help:
 $ gbs3 --help
Compile and execute a Gambas script.
Usage: gbs3 [options] [<script file>]
Options:
  -u              force components loading ('comp1,comp2...')
  -e              execute the source code provided by the command line ( ':' separator )
  -c --nocache    force the script compilation (do not check cache)
  -v --verbose    be verbose
  -f --fast       use just-in-time compiler
  -V --version    display version
  -L --license    display license
  -h --help       display this help
Para crear un script os dejo un ejemplo:
2º  Crear un archivo de texto "script.gbs" donde en la primera linea escribiremos la siguiente linea:
#!/usr/bin/env gbs3

3º Despues podemos ya programar en gambas.
dim texto as string= "hola mundo"
Print texto


4º El archivo creado, le pondremos permisos de ejecucion:
$ chmod +x script.gbs

Y ya podremos ejecutarlo.

$./script.gbs

Os dejo un ejemplo con funciones y subrutina principal Main:
#!/usr/bin/env gbs3
public function presentacion(a as string)
dim i as integer
for i=1 to 10
   print i,a
next
end
public sub Main()
        dim texto as string="hola mundo"
presentacion(texto)
end
Ejemplo de descarga: alojado en google drive

fuente:
 (ejemplos de gambas2)
https://es.wikibooks.org/wiki/Gambas/Scripting_con_Gambas

miércoles, 18 de abril de 2018

Instalando Gimp 2.8 usando flatpak


¿que es flatpak?
Es un sistema de instalación de programas, que hacen que las aplicaciones sean universales para instalar en cualquier distribución, sin tener que preocuparse por dependencias o incompatibilidades.


1º.  Instalar flatpak en Ubuntu 16.04 (o superior):

Si no tienes flatpak, instalado , lo puedes hacer usando el ppa siguiente. Ejecuta los siguientes comandos en un terminal:
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak


2º. Descarga el repositorio de gimp en flatpak
flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref

3º Ejecutando una aplicación flatpak para instalar Gimp:

flatpak run org.gimp.GIMP

Para encontrar más aplicaciones puedes visitar:
https://flathub.org/apps



Fuentes:
https://www.gimp.org/downloads/
http://www.rotascadenas.com/2016/07/como-instalar-y-usar-flatpak-en-ubuntu.html

domingo, 15 de abril de 2018

Script Python: Convertir los archivos png de un directorio en un unico archivo pdf.

Script Python: Convertir los archivos png de un directorio en un único archivo pdf.

El siguiente script en python realiza las siguientes tareas:
- Obtener una lista de los ficheros .png del directorio donde se ejecuta el script.
- Convertir cada fichero .png de la lista obtenida, en pdf usando el comando convert
- Convierte todos los pdf  en un único fichero pdf usando el comando pdftk

Nota:
Los nombres de los pdf que se crean son extraídos de los nombres de los fichero png.
Y deben de estar instalado los programas ImageMagick y pdftk

El Script:

#!/usr/bin/env python
# -*- coding: utf-8

import os,sys
#Variable para la ruta al directorio
path = '.'

#Lista vacia para incluir los ficheros
lstFiles = []

#Lista con todos los ficheros del directorio:
lstDir = os.walk(path)   #os.walk()Lista directorios y ficheros


#Crea una lista de los ficheros png que existen en el directorio y los incluye a la lista.
for root, dirs, files in lstDir:
    for fichero in files:
        (nombreFichero, extension) = os.path.splitext(fichero)
        if(extension == ".png"):
            lstFiles.append(nombreFichero+extension)
            #print (nombreFichero+extension)
           
print(lstFiles)         
print ('Listado Finalizado')
print "longitud de la lista = ", len(lstFiles)
nombrepdf=lstFiles[1]
nombrepdf=nombrepdf[0:7]

#2º Parte: convierte cada  png de la lista en  pdf
for i in lstFiles:
        comando="convert "+i+" "+i[0:12]+".pdf"
        salida=os.system(comando)

#3º convierto en un unico pdf, todos los pdf generados
salida=os.system("pdftk *.pdf cat output "+ nombrepdf+".pdf") 
print ("Convertido todos los .png a un unico .pdf: "+ nombrepdf+".pdf")

#Nota: 26/04/2018
#He añadido un par de lineas más para eliminar los ficheros auxiliares .pdf que crea el script. Asi solo quedaria un unico pdf unificado.

#borrado de pdf auxiliares...
for i in lstFiles:
        comando=i[0:12]+".pdf"
        salida=os.remove(comando)


Enlace de descarga: alojado en google drive

ref:
http://www.mclibre.org/consultar/python/lecciones/python-listas.html
http://python-para-impacientes.blogspot.com.es/2014/02/ejecutar-un-comando-externo.html
https://nideaderedes.urlansoft.com/2013/12/19/existe-substring-substr-o-algo-similar-en-python/