[Tip]Crear una apliación en HTML(5) en Ubuntu, gracias a Python y GTK+3

Buscando por internet he encontrado un pequeño código que nos sirve para poder crear aplicaciones web, que nos sirven para que, si por ejemplo se nos da bien el desarrollo en HTML5 y Js (y CSS, por supuesto) pues gracias a esto tenemos la oportunidad de crear nuestra aplicación.
Ahí va el código:

#!/usr/bin/env python
#Aplicación web
from gi.repository import Gtk, WebKit
import os, sys
class Browser:
    def __init__(self):
        self.window = Gtk.Window()
        self.window.set_default_size(800, 600)
        view = WebKit.WebView()
        #sustituye http://localhost/ por lo que necesites mostrar
        view.open("http://localhost/")
        self.window.add(view)
        self.window.show_all()
        self.window.connect('destroy', lambda w: Gtk.main_quit())
def main():
    app = Browser()
    Gtk.main()
if __name__ == "__main__":
    main()

Happy Hacking!! 🙂

Guallet: ¿Cómo administras tu cartera? -> PPA

Hace ya tiempo (desde septiembre) que no tocaba, casi, este proyecto. Lo empezé en abril de (todavía) este año, y ahora libero una versión, que es medianamente usable, y que yo sepa, sin fallos.

La novedad que incluye es que soporta importar y exportar los usuarios que tengas, para llevarlos a otros ordenadores que tengan el programa. Al fondo del túnel veo una luz, con forma de androide, y de cartera a la vez. Sí, me refiero a una lejana posibilidad de que haya un cliente en Android, y sincronización vía web, eso sí, con los datos encriptados.

Otra novedad que incluye, es la distribución mediante paquetes debian, y su consiguiente integración en launchpad. Esto quiere decir que puedes descargarlo fácilmente haciendo esto:

    sudo add-apt-repository ppa:vfrico && sudo apt-get update
    sudo apt-get install guallet

Y ya la buscas en el menú de aplicaciones. Ojalá me conteis algo en los comentarios…
Launchpad | Guallet

Cursillo de python: Tipos de datos

En el capítulo del otro día estuvimos operando con las variables. Básicamente, recordamos el tipo principal: la cadena (string). Hoy vamos a ver más a fondo los demás tipos de datos.

True y False: Valores booleanos

Vamos a empezar por lo más sencillo que existe. Este tipo de datos, como bien expresan en inglés, son valores booleanos, es decir, sólo puede ser o verdadero o falso.

Se deben escribir siempre en minúsculas, menos la primera, y sin comillas. Aquí un ejemplo:

>>> booleano = True
>>> print booleano
True

Números

Seguimos con los números. Aquí ya hay más tipos, aunque sólo veremos los dos principales: Enteros y reales

Enteros

Son los números sin decimales. En inglés se llaman int (de integer). Para asignar este tipo, simplemente escribir el número:

>>> entero = 45
>>> print entero
45

También podemos usar el tipo long, que es para números más grandes. Está dentro de los enteros (integer):

>>> entero = 45L

Reales

Son aquellos que tienen decimales. Simplemente, para usarlo, ponerle un punto del decimal. IMPORTANTE: Es un punto, no una coma (como en español). En inglés: float.

>>> real = 2.094
>>> print real
2.094

Este tipo es el más recomendable que uséis a la hora de trabajar con operaciones aritméticas, pues es más exacto. Si alguno tiene curiosidad sobre cómo se hace la notación científica, ahí va:

>>> notacien = 34e7
>>> print notacien
340000000.0

Si os habéis fijado, es 34·10^7, con lo cual, «e» significa ·10^.

Conversiones entre números:

Es posible que tengamos un número integer y queramos convertirlo a real, sin tener que escribirlo otra vez:

>>> float(entero)
45.0

Y al revés:

>>> int(real)
2

Cadenas

Pues este ya le habíamos visto antes. En inglés se denomina string. Su sintaxis se determina poniendo lo que queramos entre paréntesis

>>> cadena = "Hola"
>>> print cadena
Hola

Para convertir cualquier texto en cadena:

>>> str(real)
'2.094'

Y hasta aquí el día de hoy. El próximo día si no hay cambios hablaremos de las listas, tuplas y diccionarios.

Cursillo de python: Continuemos…

Hoy en el cursillo de Python no vamos a hacer más que aprender a usar la consola de python y poco más. Es porque me parece bastante importante y nos ahorrará bastante trabajo. Además, es bastante sencillo.

Va dedicado especialmente a los usuarios de Linux. Python, como ya hemos dicho anteriormente, es un intérprete. La mayoría de las distros lo incluyen hoy en día, porque es bastante conocido y usado. Si tenemos Ubuntu, no nos tendremos que preocupar de nada más. Creo que distros como Fedora y OpenSUSE lo usan, así que tampoco.

Para todos aquellos que no cumpláis las condiciones anteriores, debemos instalarlo. Pero antes de nada, creo que viene mejor comprobar si lo tenemos: ejecutamos:

$ python

y si en vez de devolvernos un error nos devuelve esto y se queda sin hacer nada, no pasará nada, ya que significa que lo tenemos instalado.

>>>

Estas líneas son el prompt de Python, al igual que lo son $ para el prompt de shell de linux o # para ser root. Y al igual que introducimos en el shell “sudo apt-get …” en el prompt de python podemos hacer lo mismo. Cada vez que veáis los signos, significa que estamos ejecutando eso en la consola.

Para empezar a practicar, haremos el mismo ejemplo del primer capítulo del curso: el hola mundo.

>>> print “Hola Mundo”
Hola Mundo

Tan simple como eso. Algunos estaréis preguntando ¿pero dónde está el #!/usr/bin/env python? ¿y la línea del coding? Pues aprovecho para recordarles que al menos la primera no es necesaria, ya que se usa para que los sistemas Unix/Linux puedan ejecutar el código con el intérprete adecuado. Como aquí estamos ejecutando algo con el intérprete abierto, no tiene sentido.

Variables

Para asegurar conceptos, vamos a avanzar un poco más, y vamos a empezar a tocar las variables. Éstas son algo muy sencillo. Las podemos definir como que es un dato que almacenamos y que lo podemos llamar las veces que queramos. Creo que con un ejemplo lo entenderemos mejor:

>>> variable = “Este es el texto de una variable”
>>> print variable
Este es el texto de una variable

Pero, vamos a ver, ¿tú no habías dicho que a la hora de imprimir un texto hay que ponerlo entre comillas? Sí, pero en este caso, lo que tenemos en la 2ª línea es el nombre de una variable ya definida, y no nos imprime el texto “variable”, sino que imprime el texto que contiene la variable “variable”: “Este es el texto de una variable”.

Igual os preguntáis que para qué puede servir un script con dos líneas si con una hace el mismo efecto. Pues aquí es poco útil, pero cuando tengas un script de varias decenas de líneas, quizás cientos, de poner el nombre de una variable. Además, si es un dato introducido por el usuario, es algo que no le puedes pedir siempre que lo ponga.

Además, las variables pueden contener cualquier tipo de datos, ya sea un número, una cadena de caracteres, una clase, etc…
Bueno, pensé que el artículo iba a ser más corto, pero se ha alargado considerablemente. Por eso creo que por hoy ya tenemos bastante. ¡¡Hasta la próxima!!

Tips para python: Empezando…

Hola. Creo que voy a iniciar una nueva sección en el blog. Aquí pondré algo de mis pinitos en python, y muy probablemente, también en PyGTK

Hoy empezaremos sencillito. Cómo crear un archivo de python para ejecutarlo, y cosas básicas: variables, listas…

Bueno. Abramos el gedit o instalemos el Geany para empezar (sudo apt-get install geany). Vale cualquiera que queráis, pero estos 2 tienen coloreado de sintaxis para python, que simplificará las cosas.

Primera línea

Ahora que tenemos un editor abierto, deberemos crear en la primera línea el siguiente texto:

#!/usr/bin/env python

Pero, ¿qué es esto? ¿Para qué sirve?

Pues bastante fácil. Es la primera línea de un archivo. En Unix/Linux se denomina «Shebang». Lo que le indicamos a la máquina es con qué programa lo vamos a ejecutar. Python es un lenguaje de script. Esto significa que necesita de un programa que interprete sus líneas y muestre la salida. Más adelante veremos para que lo usamos.

Atento a una cosa: La línea shebang tiene la siguiente estructura: empieza con la almohadilla (#) seguida del cierre de exclamación (!) y termina con la ruta del intérprete (en este caso le preguntamos a /usr/bin/env por el programa python.

Cabe destacar que /usr/bin/env es un programa que básicamente se encarga de buscar la ruta adecuada del intérprete Python, ya que la ruta real podría variar ligeramente dependiendo del sistema operativo. Sin ir más lejos, ArchLinux usa por defecto Python3, por lo que la ruta, si queremos ejecutar Python2 es diferente.

Codificación

Otro punto importante es la codificación. Se pone así:

# -*- coding: iso-8859-15 -*-

Aunque también vale esta otra:

# -*- coding: utf-8 -*-

La línea de la codificación, al contrario que el shebang no es obligatoria. Creo que está claro para qué sirve: el compilador sabrá interpretar los caracteres especiales (ñ, á, ü, ò).

Estas son siempre las dos líneas que deberían ocupar nuestros scripts en Python.

Comentarios

Esto no significa que aquí es donde podáis comentar mi entrada. Para los nuevos en programación deben saber que es un texto que escribe el programador en el programa para aclararse qué hace exactamente el programa. En Python, como en C, usamos la almohadilla para indicarlo. Todo lo que venga detrás de la almohadilla el compilador lo ignora.

# Esto es un comentario. Puedo escribir lo que quiera

Resumiendo. Se tratan de aclaraciones para el programador, para saber lo que está escribiendo

Mostrar salida

Un usuario que no tiene ni idea de programación quizás se pregunte para qué sirve eso, ¿no?. Pues simplemente es para imprimir al usuario un texto que deseamos que se muestre. Sería algo así como cuando inicies el programa te de los buenos días:

print "Hola Mundo"

Pero… ¿por qué lo hemos puesto entre comillas? Esto es algo importante. El compilador lo debe reconocer como un texto (cadena) y no como instrucciones dadas al programa. Este tipo de dato se llama «string» o cadena.

Recopilando…

Hasta aquí puedo leer hoy. Ya hemos hecho bastante por hoy. Nuestro script en python nos queda así:

#!/usr/bin/env python
#-*- coding: iso-8859-15 -*-
#Esto es un comentario. Puedo escribir lo que quiera
print "Hola Mundo"

Ahora lo guardamos con el nombre python.py. La extensión, como podeís observar es .py, usada para los archivos Python. Para ejecutarlo nos dirigimos a la terminal y con el comando cd (cd <carpeta>) nos dirigimos allí donde hayamos guardado lo nuestro.

Le damos permisos de ejecución:

chmod +x python.py

Y seguidamente escribimos el comando:

./python.py

¿Os habéis fijado? Hay un punto y una barra. Esto linux lo interpreta y nos lleva al intérprete que haya en la shebang (¿Veis?, para esto sirve). En el caso de que no la hubiésemos puesto, deberíamos haber escrito en la terminal llamando directamente al intérprete python:

python python.py

Nos mostará la salida:

Hola Mundo

Y hasta aquí puedo leer hoy…