Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.96 KB | None | 0 0
  1. #!/usr/bin/python
  2. import argparse
  3. import time
  4. from datetime import datetime
  5. import subprocess
  6. import shlex
  7. import string
  8.  
  9. parser = argparse.ArgumentParser(description='Split files into tracks based on track start times input by the user.')
  10. parser.add_argument('filename', metavar='<filename>', type=str, help='a file name to split')
  11. options = parser.parse_args()
  12.  
  13. print(options)
  14. print(options.filename)
  15.  
  16. date_format = "%H:%M:%S"
  17. start = "00:00"
  18.  
  19. times = input('Enter the times separated by comma: ')
  20. timesList = times.split(',')
  21. tracks = len(timesList)
  22. for i in range(tracks):
  23.     print(str(i))
  24.     print("Track" + str(i+1) + " " + timesList[i])
  25.     seconds = timesList[i].split(':')
  26.     hours = int(seconds[0])
  27.     minutes = int(seconds[1])
  28.     seconds = int(seconds[2])
  29.     seconds = seconds - 1
  30.     if seconds < 1:
  31.         seconds = 59
  32.         minutes = minutes -1
  33.     if minutes < 1:
  34.         hours = hours - 1
  35.         minutes = 59
  36.  
  37.     print("Hours: " + str(hours))
  38.     print("Minutes: " + str(minutes))
  39.     print("Seconds: " + str(seconds))
  40.     if i > 0:
  41.         start = timesList[i-1]
  42.         time1 = datetime.strptime(timesList[i-1], date_format)
  43.         time2 = datetime.strptime(str(hours)+":"+str(minutes)+":"+str(seconds), date_format)
  44.         time3 = time2 - time1
  45.         print(time3)
  46.     print("Track" + str(i) + " Will run from " + start + " to " + str(minutes) + ":" + '{:0>2}'.format(str(seconds)))
  47.     if i == 0:
  48.         name = str.replace(options.filename," ","_")
  49.         FFMPEG = "ffmpeg -y -ss "+ start +" -i "+ options.filename +" -vn -to 00:"+ str(minutes) +":"+ '{:0>2}'.format(str(seconds))+" "+ name +"-Track-"+ str(i) +".flac"
  50.         print(FFMPEG)
  51.         args = shlex.split(FFMPEG)
  52.         print(args)
  53.         subprocess.Popen(args).wait()
  54.     else:
  55.         name = str.replace(options.filename," ","_")
  56.         FFMPEG = "ffmpeg -y -ss "+ timesList[i-1] +" -t "+ str(time3) +" -i "+ options.filename +" -vn "+ name +"-Track-"+ str(i) +".flac"
  57.         print(FFMPEG)
  58.         args = shlex.split(FFMPEG)
  59.         print(args)
  60.         subprocess.Popen(args).wait()
  61.  
  62. print (timesList)
  63. print (tracks)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement