Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import datetime
- from bs4 import BeautifulSoup
- import re
- import os
- import sys
- import pytz
- firstCorrectTime = ""
- previousCorrectTime = ""
- previousWrongTime = ""
- newTime = ""
- referenceDate= datetime.datetime(2072,1,1,0,0,1,1)
- time_zone = pytz.timezone('Europe/Budapest')
- referenceDate = time_zone.localize(referenceDate)
- with open(input("Kérem a feldolgozandó fájl nevét: "),'r') as f:
- xml = f.read()
- bx = BeautifulSoup(xml)
- times = bx.find_all('time')
- for stime in times:
- timestr = stime.text
- rawtime = datetime.datetime.strptime(timestr,'%Y-%m-%dT%H:%M:%S.%f%z')
- if(rawtime < referenceDate):
- firstCorrectTime = rawtime
- else:
- if(previousWrongTime == ""):
- previousWrongTime = rawtime
- newTime = firstCorrectTime + datetime.timedelta(seconds = 2)
- else:
- differenceInSeconds = (rawtime-previousWrongTime).seconds
- newTime = previousCorrectTime + datetime.timedelta(seconds = differenceInSeconds)
- #kicseréljük a rossz időbélyeget az újonnan kszámítottra
- stime.string.replace_with(newTime.strftime('%Y-%m-%dT%H:%M:%S.%f%z'))
- previousCorrectTime = newTime
- previousWrongTime = rawtime
- with open(input("Kérem a kiírandó fájl nevét: "),'w') as g:
- g.write(bx.prettify())
- print ('converted %s to %s' % ('items.xml','new_items.xml'))
- sys.stdout.flush()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement