De verdad que es muy importante aprender mas cada día de nuestro trabajo pero en especial de Dios, recordemos que todo el conocimiento proviene de Dios la Sabiduría es el temor a Jehova o al Señor, y el Discernimiento es conocer Al Señor… por esto yo día a día busco a Dios y dice la palabra todas las cosas se te darán por añadidura, es decir el conocimiento y las fuerzas para hacer cada Día tu trabajo serán añadidos y se te harán mucho mas fácil y podrás hacer cosas que ni pensabas 😀
Les cuento que Tenia que probar en tiempo real que el ODOO v8 leía los documentos PNR de Sabre, en Openerp v7 solo implemente una clase que al ser creada leía los PNRs, luego se me pidió que colocara dicha función que leía los PNR en el planificador de tareas de ODOO v7, y bueno me encontré con algunos detalles que poco a poco fui sorteando :D, al final todo funciono y tocaba hacer lo mismo en ODOO v8 y así lo hice, pero también debía agregar cada cierto tiempo algunos PNRs para estar seguros que ODOO estaba leyendo los PNRs apenas llegaban y ademas estar seguros que los PNRs una vez leídos eran pasados a otra carpeta para no perder tiempo en leerlos o si quiera contarlos nuevamente, aunque fueran segundos son importantes 😀
Por lo que se me ocurrió la idea de crear un programita que hiciera esa ardua tarea de mover archivos cada cierto tiempo de una carpeta a otra, al final pensé en como hacerlo y quedo así:
# -*- coding: utf-8 -*- import os import random import subprocess os.system("ls /home/usuario/emular_server_sabre/resspl >/home/usuario/emular_server_sabre/lista_archivos_resspl") archi=open('/home/usuario/emular_server_sabre/lista_archivos_resspl','r') lineas=archi.read().splitlines() lista_definitiva = [] for linea in lineas: lista_definitiva.append(linea) print lista_definitiva archi.close() while len(lista_definitiva) >= 20: numero_aleatorio= random.randrange(20) print len(lista_definitiva) for archivos in range(numero_aleatorio): numero_aleatorio_sacar= random.randrange(len(lista_definitiva)) archivo_pnr = lista_definitiva[numero_aleatorio_sacar] archivo_a_mover = '/home/usuario/emular_server_sabre/resspl/'+ archivo_pnr subprocess.call(['mv', archivo_a_mover, '/home/usuario/emular_server_sabre/resspl_new']) lista_definitiva.pop(numero_aleatorio_sacar) print archivo_a_mover os.system("sleep 10")
Les comento algunas lineas, importamos os y subprocess, por que es mas cómodo trabajar la shell desde os algunas veces y otras desde subprocess, random para darle un poco de realismo entre comillas :D, lo primero que hacemos es leer la carpeta donde llegaran los PNRs y la pasamos a un archivo, dicho archivo lo leemos linea a linea y lo agregamos 1 a 1 con for a una lista, cerramos el archivo, luego creamos un bucle que mientras queden mas de 20 archivos se ejecute siempre, luego creamos un numero_aleatorio que sera la cantidad de archivos que pasaremos entre 0 y 20, luego creamos en el for un numero aleatorio esta ves para sacar los números de la lista, así vamos moviendo dicho archivo otro directorio, y hacemos eso para el numero de veces definidas aleatoria-mente, luego esperamos 10 segundos y repetimos el proceso:
Esta podría ser la salida:
Quedan este numero de archivos: 442 /home/setnorac/emular_server_sabre/resspl/TNMLIR00.PNR /home/setnorac/emular_server_sabre/resspl/CMQSJB00.PNR /home/setnorac/emular_server_sabre/resspl/BBILYI00.PNR /home/setnorac/emular_server_sabre/resspl/VKTKVL00.PNR /home/setnorac/emular_server_sabre/resspl/ASFFGA00.PNR /home/setnorac/emular_server_sabre/resspl/NZBTGI00.PNR /home/setnorac/emular_server_sabre/resspl/DEGYFS00.PNR /home/setnorac/emular_server_sabre/resspl/WFBUUR00.PNR /home/setnorac/emular_server_sabre/resspl/TEDUYP00.PNR /home/setnorac/emular_server_sabre/resspl/AQVSGF00.PNR /home/setnorac/emular_server_sabre/resspl/WNNESL00.PNR /home/setnorac/emular_server_sabre/resspl/EZTZAX00.PNR Quedan este numero de archivos: 430 /home/setnorac/emular_server_sabre/resspl/ODGGSK01.PNR /home/setnorac/emular_server_sabre/resspl/WZUSXY02.PNR /home/setnorac/emular_server_sabre/resspl/QCCKUP00.PNR /home/setnorac/emular_server_sabre/resspl/QRYXQJ00.PNR /home/setnorac/emular_server_sabre/resspl/MLLHVX00.PNR /home/setnorac/emular_server_sabre/resspl/LKJVCP00.PNR /home/setnorac/emular_server_sabre/resspl/GNUNXP00.PNR /home/setnorac/emular_server_sabre/resspl/ZZXVVX00.PNR /home/setnorac/emular_server_sabre/resspl/ZSTHCV00.PNR /home/setnorac/emular_server_sabre/resspl/LLIBLM00.PNR /home/setnorac/emular_server_sabre/resspl/KJNDYN00.PNR /home/setnorac/emular_server_sabre/resspl/CDAZSI00.PNR Quedan este numero de archivos: 418 /home/setnorac/emular_server_sabre/resspl/USYRFJ00.PNR /home/setnorac/emular_server_sabre/resspl/HRZUTH09.PNR /home/setnorac/emular_server_sabre/resspl/KABKQK00.PNR /home/setnorac/emular_server_sabre/resspl/WFIIEH00.PNR /home/setnorac/emular_server_sabre/resspl/RBHQMX00.PNR /home/setnorac/emular_server_sabre/resspl/ZJVGZF00.PNR /home/setnorac/emular_server_sabre/resspl/SZKRTH00.PNR /home/setnorac/emular_server_sabre/resspl/WKEIPW00.PNR Quedan este numero de archivos: 410 /home/setnorac/emular_server_sabre/resspl/NTJHEC00.PNR Quedan este numero de archivos: 409 /home/setnorac/emular_server_sabre/resspl/KCMOWH03.PNR /home/setnorac/emular_server_sabre/resspl/IWMGLY00.PNR /home/setnorac/emular_server_sabre/resspl/UIVSYI00.PNR /home/setnorac/emular_server_sabre/resspl/JREMOQ00.PNR /home/setnorac/emular_server_sabre/resspl/TCPTNN00.PNR /home/setnorac/emular_server_sabre/resspl/EQZFFS00.PNR /home/setnorac/emular_server_sabre/resspl/FFFSRL00.PNR /home/setnorac/emular_server_sabre/resspl/ZAKAMO01.PNR /home/setnorac/emular_server_sabre/resspl/GWOYGO00.PNR Quedan este numero de archivos: 400 /home/setnorac/emular_server_sabre/resspl/FTYBXG00.PNR /home/setnorac/emular_server_sabre/resspl/GGSFVQ00.PNR /home/setnorac/emular_server_sabre/resspl/YRYHQE00.PNR /home/setnorac/emular_server_sabre/resspl/GVGEHA00.PNR /home/setnorac/emular_server_sabre/resspl/EOUVSS00.PNR /home/setnorac/emular_server_sabre/resspl/VDZGUO00.PNR /home/setnorac/emular_server_sabre/resspl/ZKVDFB00.PNR /home/setnorac/emular_server_sabre/resspl/WBEPNT00.PNR /home/setnorac/emular_server_sabre/resspl/RYPPFK00.PNR /home/setnorac/emular_server_sabre/resspl/VEWSTU00.PNR /home/setnorac/emular_server_sabre/resspl/FFWFZB00.PNR /home/setnorac/emular_server_sabre/resspl/BGDXGH00.PNR /home/setnorac/emular_server_sabre/resspl/UZEDKC00.PNR Quedan este numero de archivos: 387 Quedan este numero de archivos: 387 /home/setnorac/emular_server_sabre/resspl/EIGPDE00.PNR /home/setnorac/emular_server_sabre/resspl/OJWCOC00.PNR /home/setnorac/emular_server_sabre/resspl/DDCMEX00.PNR /home/setnorac/emular_server_sabre/resspl/DKTGPP00.PNR /home/setnorac/emular_server_sabre/resspl/AEJHFG00.PNR /home/setnorac/emular_server_sabre/resspl/TGHKIK00.PNR /home/setnorac/emular_server_sabre/resspl/DRKFSS00.PNR Quedan este numero de archivos: 380 /home/setnorac/emular_server_sabre/resspl/KELLQI00.PNR /home/setnorac/emular_server_sabre/resspl/OGGFZL00.PNR /home/setnorac/emular_server_sabre/resspl/YUVINL00.PNR /home/setnorac/emular_server_sabre/resspl/TAPXAA00.PNR /home/setnorac/emular_server_sabre/resspl/EEMYZM00.PNR /home/setnorac/emular_server_sabre/resspl/EBJWPM00.PNR /home/setnorac/emular_server_sabre/resspl/STJHUE00.PNR /home/setnorac/emular_server_sabre/resspl/EMSWIR00.PNR /home/setnorac/emular_server_sabre/resspl/KPPWGH00.PNR /home/setnorac/emular_server_sabre/resspl/FMFAYL00.PNR /home/setnorac/emular_server_sabre/resspl/OJGBZT00.PNR /home/setnorac/emular_server_sabre/resspl/DQKLJH00.PNR /home/setnorac/emular_server_sabre/resspl/EHUKQF00.PNR /home/setnorac/emular_server_sabre/resspl/CFGMKG00.PNR /home/setnorac/emular_server_sabre/resspl/VXKOPK00.PNR /home/setnorac/emular_server_sabre/resspl/YZHXZQ00.PNR /home/setnorac/emular_server_sabre/resspl/QYOLSD00.PNR /home/setnorac/emular_server_sabre/resspl/MSTWAM00.PNR Quedan este numero de archivos: 362 /home/setnorac/emular_server_sabre/resspl/BJEIWS00.PNR /home/setnorac/emular_server_sabre/resspl/RPXTNN00.PNR /home/setnorac/emular_server_sabre/resspl/ETWBCA00.PNR /home/setnorac/emular_server_sabre/resspl/UBUIYY00.PNR /home/setnorac/emular_server_sabre/resspl/NEMIQT00.PNR
Y bueno en realidad no hace mucho pero nos puede dar muchas ideas de uso 😀
Ya subi el video a Youtube mañana lo subo al blog 😀
Feliz Día que Dios les Bendiga y les Llene de Gozo….