# -*- coding:UTF-8 -*-
#!/usr/bin/python

# 載入模組：如果調用的方法需要外掛一些其他的模組。
import os
import sys
import codecs

def toSrt():
   fnIn = os.path.join(sys.path[0], sys.argv[1])

   # 檢查是否能以 utf-8 編碼開啟指定的檔案。
   try:
      fRead = codecs.open(fnIn, 'r', 'utf-8')
      line = fRead.readline()

   # 找不到指定的檔案時報錯。
   except FileNotFoundError:
      print('找不到', sys.argv[1])
      return

   # 改以 ansi 編碼開啟指定的檔案。
   except UnicodeDecodeError:                                                                                 
      fRead = codecs.open(fnIn, 'r')
      line = fRead.readline()

   # 準備輸出的檔名。主檔名相同，附檔名為 .srt
   tmp = os.path.splitext(fnIn)
   fnOut = (tmp[0] + '.srt')

   # 開啟輸出檔案並且開始逐行處理。
   fWrite = codecs.open(fnOut, 'a', 'utf-8')
   serialNumber = 1
   while line:
      if line.count('\t') != 2:
         continue
      line = line.replace('\n', '')
      l = line.split('\t')
      fWrite.write(str(serialNumber) + '\n')
      fWrite.write(l[1] + ' --> ' + l[2] + '\n')
      fWrite.write(l[0] + '\n\n')
      serialNumber += 1
      line = fRead.readline()
   fRead.close()
   fWrite.close()


# 主程式
toSrt()

input('Press enter to continue......')
