6 def get_new_line(line
, delta
):
7 match
= re
.match('(\d{2}:\d{2}:\d{2},\d{3}) --> (\d{2}:\d{2}:\d{2},\d{3})', line
)
11 start_time
= datetime
.datetime
.strptime(start
, '%H:%M:%S,%f')
12 end_time
= datetime
.datetime
.strptime(end
, '%H:%M:%S,%f')
13 new_start_time
= start_time
+ delta
14 new_end_time
= end_time
+ delta
15 return f
"{new_start_time.strftime('%H:%M:%S,%f')[:-3]} --> {new_end_time.strftime('%H:%M:%S,%f')[:-3]}\n"
18 parser
= argparse
.ArgumentParser(description
='Adjust timestamps in a .srt file')
19 parser
.add_argument('--minutes', '-m', nargs
='?', type=int, default
=0)
20 parser
.add_argument('--seconds', '-s', nargs
='?', type=int, default
=0)
21 args
= parser
.parse_args()
23 delta
= datetime
.timedelta(minutes
=args
.minutes
, seconds
=args
.seconds
)
24 for line
in sys
.stdin
:
25 sys
.stdout
.write(get_new_line(line
, delta
))