Advertisement
Guest User

text2sub

a guest
Jun 12th, 2016
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.34 KB | None | 0 0
  1. import time
  2. import datetime
  3.  
  4. def parseMsg(text, time1):
  5.     line = text.readline()
  6.     if line == '':
  7.         raise ValueError
  8.     timeEnd = line.find(']')
  9.     nameEnd = line.find(':', timeEnd)
  10.  
  11.     time2 = time.strptime(line[1:timeEnd], '%H:%M:%S')
  12.     name = line[timeEnd+2:nameEnd]
  13.     msg = line[nameEnd+2:]
  14.    
  15.     t2 = datetime.timedelta(seconds=time2.tm_sec, minutes=time2.tm_min, hours=time2.tm_hour) - datetime.timedelta(seconds=time1.tm_sec, minutes=time1.tm_min, hours=time1.tm_hour)
  16.     return (t2, time2, name, msg)
  17.  
  18. text = open('text.txt', 'r')
  19. sub = open('sub.srt', 'w')
  20.  
  21. startTime = time.strptime(text.readline()[:-1], '%H:%M:%S')
  22.  
  23. time1 = None
  24. time2 = None
  25. count = 1
  26.  
  27. t1,time1,name1,msg1 = parseMsg(text, startTime)
  28.  
  29. while 1:
  30.     try:
  31.         t2,time2,name2,msg2 = parseMsg(text, startTime)
  32.     except ValueError:
  33.         sub.write(str(count) + '\n')
  34.         sub.write('0'+str(t1)+',000' + ' --> ' + '0'+str(t2+datetime.timedelta(seconds=10))+',000' + '\n')
  35.         sub.write(name1 + ':')
  36.         sub.write(msg1 + '\n\n')
  37.         break
  38.  
  39.     sub.write(str(count) + '\n')
  40.     sub.write('0'+str(t1)+',000' + ' --> ' + '0'+str(t2)+',000' + '\n')
  41.     sub.write(name1 + ':')
  42.     sub.write(msg1 + '\n')
  43.     count += 1
  44.    
  45.     t1 = t2
  46.     time1 = time2
  47.     name1 = name2
  48.     msg1 = msg2
  49. text.close()
  50. sub.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement