#!/usr/bin/env python " Modificar las fechas de entrada de los ficheros swn que corresponden a la generacion de productos para EQUION" from time import localtime,mktime today = str(localtime()[0]) + str(localtime()[1]).zfill(2) + str(localtime()[2]).zfill(2) tmpdate = mktime((localtime()[0],localtime()[1],localtime()[2]+1,0,0,0,0,0,0)) tomow = str(localtime(tmpdate)[0]) + str(localtime(tmpdate)[1]).zfill(2) + str(localtime(tmpdate)[2]).zfill(2) tmpdate = mktime((localtime()[0],localtime()[1],localtime()[2]+5,0,0,0,0,0,0)) day4 = str(localtime(tmpdate)[0]) + str(localtime(tmpdate)[1]).zfill(2) + str(localtime(tmpdate)[2]).zfill(2) _swn1 = open('OlasCaribe_dia1.swn','r+') ## Malla de Entrada for count in range(24): line = _swn1.readline() _swn1.seek(-37,1) _swn1.write(today) _swn1.seek(13,1) _swn1.write(tomow) line = _swn1.readline() #lee la linea completa para mover el puntero al final de la linea # Nesting Galerazamba for count in range(24): line = _swn1.readline() #lee el numero de lineas anteriores a la de interes _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() #lee la linea completa para mover el puntero al final de la linea ##Boya Galerazamba for count in range(6): line = _swn1.readline() _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() #Boya Mapale I for count in range(6): line = _swn1.readline() _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() #Boya Mapale II for count in range(6): line = _swn1.readline() _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() #Boya NOAA for count in range(6): line = _swn1.readline() _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() #20130102: Boya Bocas de Ceniza for count in range(6): line = _swn1.readline() _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() for count in range(3): line = _swn1.readline() _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() line = _swn1.readline() _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() line = _swn1.readline() _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() line = _swn1.readline() _swn1.seek(-23,1) _swn1.write(today) line = _swn1.readline() for count in range(3): line = _swn1.readline() _swn1.seek(-39,1) _swn1.write(today) #escribe el dato de salida _swn1.seek(15,1) #desplaza el pointer hasta el siguiente campo de fecha _swn1.write(tomow) _swn1.close() # Comentados: #for count in range(47): # null_ = _swn1.readline() #lee el numero de lineas anteriores a la de interes #line = _swn1.readline() #lee la linea completa donde se va a hacer la modificacion #_swn1.seek(-23,1) #se devuelve xx caracteres antes del final de la misma linea #_swn1.write(today) #escribe el dato de salida #line = _swn1.readline() #lee la linea completa para mover el puntero al final de la linea #for count in range(33): # null_ = _swn1.readline() #line = _swn1.readline() #_swn1.seek(-39,1) #_swn1.write(today) #escribe el dato de salida #_swn1.seek(15,1) #desplaza el pointer hasta el siguiente campo de fecha #_swn1.write(tomow) #_swn1.close() #End of OlasCaribe_dia1.swn Treatment # ================================================= _swn2 = open('OlasCaribe_dia2_5.swn','r+') #Vientos for count in range(24): line = _swn2.readline() _swn2.seek(-37,1) _swn2.write(tomow) _swn2.seek(13,1) _swn2.write(day4) line = _swn2.readline() #Nesting Galerazamba for count in range(24): line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() #Boya Galerazamba for count in range(6): line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() #Boya Mapale I for count in range(6): line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() #Boya Mapale II for count in range(6): line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() #Boya NOAA for count in range(6): line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() #20130102: Boya Bocas de Ceniza for count in range(6): line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() for count in range(3): line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() line = _swn2.readline() _swn2.seek(-23,1) _swn2.write(tomow) line = _swn2.readline() for count in range(3): line = _swn2.readline() _swn2.seek(-39,1) _swn2.write(tomow) _swn2.seek(15,1) _swn2.write(day4) _swn2.close() # End of OlasCaribe_dia2_5.swn treatment # ================================================= _swn3 = open('/tmp/OlasGalerazamba.swn','r+') for count in range(53): line = _swn3.readline() _swn3.seek(-23,1) _swn3.write(today) line = _swn3.readline() for count in range(6): line = _swn3.readline() _swn3.seek(-23,1) _swn3.write(today) line = _swn3.readline() for count in range(6): line = _swn3.readline() _swn3.seek(-23,1) _swn3.write(today) line = _swn3.readline() for count in range(5): line = _swn3.readline() _swn3.seek(-23,1) _swn3.write(today) line = _swn3.readline() line = _swn3.readline() _swn3.seek(-23,1) _swn3.write(today) line = _swn3.readline() line = _swn3.readline() _swn3.seek(-23,1) _swn3.write(today) line = _swn3.readline() line = _swn3.readline() _swn3.seek(-23,1) _swn3.write(today) line = _swn3.readline() for count in range(4): line = _swn3.readline() _swn3.seek(-39,1) _swn3.write(today) _swn3.seek(15,1) _swn3.write(tomow) _swn3.close() # End of OlasGalerazamba.swn treatment # ================================================= _swn4 = open('/tmp/OlasGalerazamba2.swn','r+') for count in range(54): line = _swn4.readline() _swn4.seek(-23,1) _swn4.write(tomow) line = _swn4.readline() for count in range(6): line = _swn4.readline() _swn4.seek(-23,1) _swn4.write(tomow) line = _swn4.readline() for count in range(6): line = _swn4.readline() _swn4.seek(-23,1) _swn4.write(tomow) line = _swn4.readline() for count in range(5): line = _swn4.readline() _swn4.seek(-23,1) _swn4.write(tomow) line = _swn4.readline() line = _swn4.readline() _swn4.seek(-23,1) _swn4.write(tomow) line = _swn4.readline() line = _swn4.readline() _swn4.seek(-23,1) _swn4.write(tomow) line = _swn4.readline() line = _swn4.readline() _swn4.seek(-23,1) _swn4.write(tomow) line = _swn4.readline() for count in range(4): line = _swn4.readline() _swn4.seek(-39,1) _swn4.write(tomow) _swn4.seek(15,1) _swn4.write(day4) _swn4.close() # End of OlasGalerazamba2.swn treatment