Entradas

Mostrando las entradas etiquetadas como python

Desafio El problema de Siracusa

En el blog de  http://www.programando.org  realizaron un desafió, el cual es realizar un algoritmo bien especifico, este algorimo se llama El problema de Siracusa . La cosa es que participaron bastantes desarrollodores  con códigos realmente brillantes.La idea era realizarlo en la menor cantidad de lineas, los resultados y ganadores están  aqui . Bueno la cosa es que yo no participe, por la verdad no me encuentro a un nivel como para poder participar, pero igual le hice empeño pero fuera de competencia, como ya muchos saben me gusta mucho Python, pero no soy un gran de desarrollador. Aquí les dejo mi "programita" en python que hace lo solicitado en el desafio. def foo(num): print num if (num!=1): if (num%2==0): foo(num/2) else: foo(num*3+1) Como me dijo Daniel Molina en este Tweet  no es una solución completa ya que tiene if y no uso programación funcional ni nada, pero...

Buscando autos con python y chileautos

Un compañero de trabajo paul beltran anda en búsqueda de un toyota yaris, pero como muchos saben este es un auto muy cotizado, y cuando llega a llamar ya el auto se vendió . Yo le dije que usara buskautos , ya que ellos por cada publicación de autos, envían un tweet a todos sus seguidores en twitter. Por ultimo me parecido bastante interesante, tratar de hacer una aplicación que busque autos en la pagina de chileautos y encontrar las publicaciones nuevas. esto se puede hacer, por que los parámetros de búsqueda en su sitio son pasados por las urls. Bueno aquí el buscador. A esta aplicación se le pueden hacer mejoras obviamente, pero ya envía por correo con los links de las nuevas publicaciones, en el futuro se podría hacer que detecte los aumentos o disminuciones de precios. Ya terminado este desarrollo, que es bastante ocioso la vedad, ahora solo me queda configurarlo en el "programador de tareas" de windows para que se ejecute unas 2 veces al día :D.   Ahora ...

Django bajo apache con appserv en windows

hace unos dias atras, en realidad hace mas de una semana, trate y logre que django esta bajo apache. Bueno manos a la obra, yo tengo instalado appserv en c:\appserv y apache esta en c:\appserv\apache. ojo que esto deberia funcionar no solo para appserv, si no que para apache en general. lo primero hay que bajar modwsgi de http://code.google.com/p/modwsgi/ una vez bajado el archivo el archivo con extension .so, este se debe dejar en la carpera de los modulos de apache, en mi caso es "C:\AppServ\Apache2.2\modules". Luego necesitamos que apache lea este nuevo mod, lo cual lo hacemos agregando lo siguiente a nuestro httpd.conf (C:\AppServ\Apache2.2\conf). LoadModule wsgi_module modules/mod_wsgi-win32-ap22py27-3.3.so Ademas de esto se debe indicar el directorio sobre cual se monta y la url en que esta el website desarrollado con django, de la siguiente forma: WSGIScriptAlias /almuerzo "D:/vhs/myProyects/almuerzo/almuerzo.wsgi" <directory "D:/vhs/myProyec...

Haciendo respaldos automaticos, parte II

Siguiendo con este post . como no cacho mucho python , ese lo desarrolle en python 2.5, pero un compañero trato de ejecutarlo en 3.1 y no funciono, al perecen en el cambio de versiones cambio la forma de capturar las exepciones. aqui dejo el programa solucionado para la version 3.1. aun no menejo las excepciones solo muestro un texto "Error Controlado" :( . import os import shutil import datetime date = datetime.date.today() dateDelete = date - datetime.timedelta(weeks=2) sourcePath = r'F:\develop\zeus\trunk' destRootPath = r'U:\respaldoAutomaticos' destPath = destRootPath + "\\" + str(date) + " _respaldo" print ("find old Directories") try: print (dateDelete) for directory in os.listdir(destRootPath): try: array = directory.split(" ")[0].split("-") dateDir = datetime.date(int(array[0]), int(array[1]), int(array[2])) print (dateDir) if dateDir <...

Haciendo respaldos automaticos

Buscando y buscando no entre ningun programa que pudiera generar respaldos automaticos en windows. en linux con la linea de comando seria bastante sencillo hacerlo. Asi que me aburri de buscar y empeze a buscar y desarrollar en python, el resultado de esto fue bastante bueno. Aqui dejo el codigo import os import shutil import datetime date = datetime.date.today() dateDelete = date - datetime.timedelta(weeks=4) sourcePath = r'F:\develop\trunk' destRootPath = r'U:\respaldoAutomaticos' destPath = destRootPath + "\\" + str(date) + " _respaldo" print ("find old Directories") try: for directory in os.listdir(destRootPath): try: array = directory.split(" ")[0].split("-") dateDir = datetime.date(int(array[0]), int(array[1]), int(array[2])) if dateDir < dateDelete: print ("try drop Directory" + destRootPath + "\\" + directory) shutil....

Ver diferencias locales contra Svn con Python.

Cada vez que realizo una mejora o arreglo algo tengo que hacer un documento con los archivos que cambie. como una forma de automatizar esto, entontre una forma de generar esto automaticamente. para correr hay que tener instalado pysvn Aqui esta el codigo: import pysvn client = pysvn.Client() changes = client.status('trunk') print 'Files to be added:' foo =[f.path for f in changes if f.text_status == pysvn.wc_status_kind.added] for bar in foo: print (" "+bar) print 'Files to be removed:' foo = [f.path for f in changes if f.text_status == pysvn.wc_status_kind.deleted] for bar in foo: print (" "+bar) print 'Files that have changed:' foo = [f.path for f in changes if f.text_status == pysvn.wc_status_kind.modified] for bar in foo: print (" "+bar) print 'Files with merge conflicts:' foo = [f.path for f in changes if f.text_status == pysvn.wc_status_kind.conflicted] for bar in foo: print (" "+bar) pri...