Archivo

Archivo para la categoría ‘Python [GAE]’

Esperar/Pausar/Sleep X Segundos una aplicacion Python [AppEngine]

Lunes, 30 de enero de 2012 2 comentarios

En Python tenemos una libreria que podemos importar llamada Time, con la que podemos “pausar” el script X segundos.



En este ejemplo se esta importando Time y usando Sleep para dormirla y Ctime para mostrar la fecha y hora actual.

Archivo pausa.py:

# -*- encoding: utf-8 -*-
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
import time #Para poder usar el time.sleep(5)

class MainPage(webapp.RequestHandler):

	def get(self):
		self.response.headers['Content-Type'] = 'text/html'
		self.response.out.write("Inicio : %s" % time.ctime())
		time.sleep(5) #Tiempo en segundos
		self.response.out.write("<br>")
		self.response.out.write("Fin : %s" % time.ctime())

application = webapp.WSGIApplication(
                                     [('/', MainPage),
									 ('/index.html', MainPage)],
                                     debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()


La salida seria:

Inicio : Mon Jan 30 20:14:38 2012
Fin : Mon Jan 30 20:14:43 2012



Un archivo app.yaml sencillo:

application: [NOMBRE DE MI APLICACION]
version: 1
runtime: python
api_version: 1

handlers:

- url: /.*
  script: pausa.py


Terminos de Busqueda:

  • sleep en python
  • error en el script de esta pagina linea 2072
  • error en el script de esta pagina linea 2052
  • time python
  • tiempo en python
  • st 2 javac no se reconoce como un comando interno o externo
  • python pause
  • python no reconoce response
  • pausar rakion
  • pausar ejecución python
  • esperar x segundos en python
  • esperar tiempo python
  • error interno 2352 al enstalar java
  • _10 cfs eliminar java

[Solucion] SyntaxError: EOL while scanning string literal – Python

Viernes, 6 de enero de 2012 1 comentario

type 'exceptions.SyntaxError': EOL while scanning string literal (XXXX.py, line X)


Este error de Python es por un problema con la sintaxis del script, algunas veces porque nos olvidamos de cerrar la cadena, por algun salto de linea o algo similar.



Errores Comunes: (Suponiendo que queremos asignar a mi_variable el string ‘Este es un texto de prueba’ )


1.- Poner la comilla de cierre en otra linea:

mi_variable = 'Este es un texto de prueba
'

Solucion: Poner todo en una sola linea

mi_variable = 'Este es un texto de prueba'



2.- Hacer un salto de linea entre el texto (dentro de las comillas):

mi_variable = 'Este es un 
texto de prueba'

Solucion: Poner \ (barra o slash) al final de cada linea:

mi_variable = 'Este es un \
texto de prueba'

mi_variable = 'Este es un \
texto de \
prueba'


Terminos de Busqueda:

  • python clipboard to var SyntaxError: EOL while scanning string literal

‘X-AppEngine-country’ Saber el Pais de un visitante con Python

Domingo, 25 de diciembre de 2011 19 comentarios

En la version de Appengine 1.5.1 (20 Junio del 2011) se añadio en el Header la etiqueta X-AppEngine-country que contiene el pais del visitante a partir de su IP, este valor esta en ISO-3166-1 alpha-2 (ej: ES -> España, PE -> Peru, US -> Estados Unidos ).


Un ejemplo del codigo seria el siguiente:


Archivo pais.py

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):

	def get(self):
		pais = self.request.headers.get('X-AppEngine-country')
		self.response.out.write(pais)

application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()



Archivo Yaml :

application: [NOMBRE DE MI APLICACION]
version: 1
runtime: python
api_version: 1

handlers:

- url: /.*
  script: pais.py



Esto leera el header y nos devolvera el valor de la etiqueta, en mi caso ES .


**NOTA: El codigo probarlo en Produccion (En los servers de AppEngine) porque en local no lo procesa y es como si la etiqueta estuviera vacia.


Descargar el Ejemplo: Ejemplo X-AppEngine-country - AppEngine - ( 326 descargas )


Lista de Paises en ISO-3166-1 alpha-2 : http://www.vicolinker.net/2011/12/lista-de-paises-en-iso-3166-1-alpha-2-creada-por-google/

Gracias a @scyros por guiarme para hacer este ejemplo ;)


o o