subtitle_converter 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +17 -0
- data/Rakefile +6 -0
- data/bin/IDEO_subtitles_en.srt +126 -0
- data/bin/IDEO_subtitles_en.txt +154 -0
- data/bin/subtitle_converter +5 -0
- data/filename +2 -0
- data/lib/subtitle_converter/stl_reader.rb +29 -0
- data/lib/subtitle_converter/sub_rib_writer.rb +33 -0
- data/lib/subtitle_converter/subtitle_convertor.rb +22 -0
- data/lib/subtitle_converter/subtitle_convertor_command_line.rb +28 -0
- data/lib/subtitle_converter/version.rb +4 -0
- data/lib/subtitle_converter.rb +5 -0
- data/spec/assets/IDEO_subtitles_en.srt +540 -0
- data/spec/assets/IDEO_subtitles_en.txt +154 -0
- data/spec/assets/bad scrummaster_subtitles_cn.srt +180 -0
- data/spec/assets/bad scrummaster_subtitles_cn.txt +64 -0
- data/spec/assets/bad scrummaster_subtitles_en.srt +180 -0
- data/spec/assets/bad scrummaster_subtitles_en.txt +64 -0
- data/spec/integration_spec.rb +41 -0
- data/spec/stl_reader_spec.rb +27 -0
- data/spec/subrib_writer_spec.rb +54 -0
- data/spec/subtitle_convertor_command_line_spec.rb +43 -0
- data/spec/subtitle_convertor_spec.rb +46 -0
- data/subtitle_converter.gemfile +22 -0
- metadata +106 -0
@@ -0,0 +1,180 @@
|
|
1
|
+
1
|
2
|
+
00:00:04,825 --> 00:00:09,528
|
3
|
+
我有困难,我不能持续稳定使用误差数据库
|
4
|
+
|
5
|
+
2
|
6
|
+
00:00:09,561 --> 00:00:10,825
|
7
|
+
哦,那不是什么障碍
|
8
|
+
|
9
|
+
3
|
10
|
+
00:00:10,858 --> 00:00:17,792
|
11
|
+
在今天的回顾会上我希望你们下个Sprint中从事我提供的十个改进工作
|
12
|
+
|
13
|
+
4
|
14
|
+
00:00:17,825 --> 00:00:23,792
|
15
|
+
卡拉,我希望你们开展更多项的工作,你们做得还不错但是你们可以做得比这个要多
|
16
|
+
|
17
|
+
5
|
18
|
+
00:00:23,825 --> 00:00:23,891
|
19
|
+
好
|
20
|
+
|
21
|
+
6
|
22
|
+
00:00:23,924 --> 00:00:26,000
|
23
|
+
好的,谢谢
|
24
|
+
|
25
|
+
7
|
26
|
+
00:00:26,033 --> 00:00:29,594
|
27
|
+
太棒了!这是我们最快的一次站立会,只有40分钟
|
28
|
+
|
29
|
+
8
|
30
|
+
00:00:29,627 --> 00:00:30,066
|
31
|
+
是啊
|
32
|
+
|
33
|
+
9
|
34
|
+
00:00:30,099 --> 00:00:30,957
|
35
|
+
关键不是……
|
36
|
+
|
37
|
+
10
|
38
|
+
00:00:31,825 --> 00:00:36,198
|
39
|
+
我刚读完这本书,上面说Scrum会让工作加速,为什么你们还是那么慢?
|
40
|
+
|
41
|
+
11
|
42
|
+
00:00:36,231 --> 00:00:38,264
|
43
|
+
继续工作……
|
44
|
+
|
45
|
+
12
|
46
|
+
00:00:38,297 --> 00:00:40,924
|
47
|
+
这个用户故事用13个点不太可能,这更像是两个点的工作
|
48
|
+
|
49
|
+
13
|
50
|
+
00:00:40,957 --> 00:00:45,660
|
51
|
+
好,我们就以5分钟的默写来开始回顾会议
|
52
|
+
|
53
|
+
14
|
54
|
+
00:00:49,891 --> 00:00:50,693
|
55
|
+
默写,不要出声
|
56
|
+
|
57
|
+
15
|
58
|
+
00:00:50,825 --> 00:00:51,825
|
59
|
+
那个并不是障碍
|
60
|
+
|
61
|
+
16
|
62
|
+
00:00:51,858 --> 00:00:55,726
|
63
|
+
作为你们的ScrumMaster和产品负责人,这些是我希望你们在这个Sprint中承诺的用户故事
|
64
|
+
|
65
|
+
17
|
66
|
+
00:00:59,066 --> 00:01:03,231
|
67
|
+
我的电脑昨晚被偷了,在得到新电脑前我没法工作
|
68
|
+
|
69
|
+
18
|
70
|
+
00:01:03,264 --> 00:01:04,726
|
71
|
+
你知道可以用纸吗?
|
72
|
+
|
73
|
+
19
|
74
|
+
00:01:04,759 --> 00:01:08,495
|
75
|
+
亚当,今天下午我要这个特征的演示,你可以做完吧?
|
76
|
+
|
77
|
+
20
|
78
|
+
00:01:08,528 --> 00:01:09,528
|
79
|
+
好,没问题
|
80
|
+
|
81
|
+
21
|
82
|
+
00:01:09,528 --> 00:01:09,660
|
83
|
+
很好
|
84
|
+
|
85
|
+
22
|
86
|
+
00:01:09,693 --> 00:01:10,594
|
87
|
+
我把这个加入到你们的在进行工作中
|
88
|
+
|
89
|
+
23
|
90
|
+
00:01:10,627 --> 00:01:14,825
|
91
|
+
持续集成就没发挥过作用,我们就省了吧
|
92
|
+
|
93
|
+
24
|
94
|
+
00:01:14,858 --> 00:01:19,792
|
95
|
+
哦不是这样克里斯,我们现在用Scrum,所以就不用向管理层汇报这种事情
|
96
|
+
|
97
|
+
25
|
98
|
+
00:01:19,825 --> 00:01:25,132
|
99
|
+
三个月时间,管理层以为我们下个Sprint就可以完成工作,我不明白……
|
100
|
+
|
101
|
+
26
|
102
|
+
00:01:25,165 --> 00:01:32,396
|
103
|
+
大伙注意了,我们的CEO来参加今天的回顾会议,会议照常进行……
|
104
|
+
|
105
|
+
27
|
106
|
+
00:01:32,429 --> 00:01:36,891
|
107
|
+
你们的工作太不理想了,所以我决定把这个Sprint减掉几天
|
108
|
+
|
109
|
+
28
|
110
|
+
00:01:36,924 --> 00:01:38,726
|
111
|
+
你要去哪儿?
|
112
|
+
|
113
|
+
29
|
114
|
+
00:01:38,759 --> 00:01:39,924
|
115
|
+
上厕所
|
116
|
+
|
117
|
+
30
|
118
|
+
00:01:39,957 --> 00:01:41,792
|
119
|
+
你有那些任务吗?
|
120
|
+
|
121
|
+
31
|
122
|
+
00:01:41,825 --> 00:01:42,099
|
123
|
+
没有
|
124
|
+
|
125
|
+
32
|
126
|
+
00:01:43,495 --> 00:01:47,363
|
127
|
+
这个Sprint你们让公司失望了
|
128
|
+
|
129
|
+
33
|
130
|
+
00:01:47,396 --> 00:01:53,099
|
131
|
+
我只是想这个Sprint你们有好多的工作,那我们就把两周的Sprint改成三周吧,就这么办吧
|
132
|
+
|
133
|
+
34
|
134
|
+
00:01:53,099 --> 00:01:53,165
|
135
|
+
好吧
|
136
|
+
|
137
|
+
35
|
138
|
+
00:01:57,000 --> 00:01:57,726
|
139
|
+
不同意还是承诺?
|
140
|
+
|
141
|
+
36
|
142
|
+
00:01:57,759 --> 00:01:58,660
|
143
|
+
那不是障碍
|
144
|
+
|
145
|
+
37
|
146
|
+
00:01:58,693 --> 00:02:00,660
|
147
|
+
我们可以把这个用户故事当作完成了?
|
148
|
+
|
149
|
+
38
|
150
|
+
00:02:04,000 --> 00:02:05,264
|
151
|
+
够好了,那我们就完成了
|
152
|
+
|
153
|
+
39
|
154
|
+
00:02:05,297 --> 00:02:10,495
|
155
|
+
这个Sprint大家表现都不错,但是另一个团队的速率要稍稍比我们的高,你们可不可以提高一点点?
|
156
|
+
|
157
|
+
40
|
158
|
+
00:02:10,528 --> 00:02:11,759
|
159
|
+
5分钟默写
|
160
|
+
|
161
|
+
41
|
162
|
+
00:02:18,891 --> 00:02:28,825
|
163
|
+
好,没事儿,我只是在开回顾会议,有谷歌工作机会?好的
|
164
|
+
|
165
|
+
42
|
166
|
+
00:02:28,858 --> 00:02:35,924
|
167
|
+
我明天不在,你们可以通过邮件随便找个时间开每日例会,就发发邮件
|
168
|
+
|
169
|
+
43
|
170
|
+
00:02:36,000 --> 00:02:37,429
|
171
|
+
那不是障碍
|
172
|
+
|
173
|
+
44
|
174
|
+
00:02:37,462 --> 00:02:42,726
|
175
|
+
很好,但是另一个团队的速率比你们的要好很多,今天你们是不是要加班?
|
176
|
+
|
177
|
+
45
|
178
|
+
00:02:49,495 --> 00:02:55,330
|
179
|
+
来看看,猫儿们在吃芝士汉堡,很不健康
|
180
|
+
|
@@ -0,0 +1,64 @@
|
|
1
|
+
$FontName = Simsun
|
2
|
+
$FontSize = 30
|
3
|
+
$HorzAlign = Center // Left or Right
|
4
|
+
$VertAlign = Bottom // Top or Center
|
5
|
+
$Bold = TRUE
|
6
|
+
$UnderLined = FALSE
|
7
|
+
$Italic = FALSE
|
8
|
+
$XOffset = 0 // Pixel offset (can be negative)
|
9
|
+
$YOffset = 0 // Pixel offset (can be negative)
|
10
|
+
$TextContrast = 10
|
11
|
+
$Outline1Contrast = 15
|
12
|
+
$Outline2Contrast = 7
|
13
|
+
$BackgroundContrast = 0
|
14
|
+
$ForceDisplay = TRUE // DVD Force Display Flag
|
15
|
+
$FadeIn = 0 // In number of Frames
|
16
|
+
$Fadeout = 0 // In number of Frames
|
17
|
+
|
18
|
+
$TapeOffset = TRUE
|
19
|
+
|
20
|
+
00:00:04:25 , 00:00:09:16 , 我有困难,我不能持续稳定使用误差数据库
|
21
|
+
00:00:09:17 , 00:00:10:25 , 哦,那不是什么障碍
|
22
|
+
00:00:10:26 , 00:00:17:24 , 在今天的回顾会上我希望你们下个Sprint中从事我提供的十个改进工作
|
23
|
+
00:00:17:25 , 00:00:23:24 , 卡拉,我希望你们开展更多项的工作,你们做得还不错但是你们可以做得比这个要多
|
24
|
+
00:00:23:25 , 00:00:23:27 , 好
|
25
|
+
00:00:23:28 , 00:00:26:00 , 好的,谢谢
|
26
|
+
00:00:26:01 , 00:00:29:18 , 太棒了!这是我们最快的一次站立会,只有40分钟
|
27
|
+
00:00:29:19 , 00:00:30:02 , 是啊
|
28
|
+
00:00:30:03 , 00:00:30:29 , 关键不是……
|
29
|
+
00:00:31:25 , 00:00:36:06 , 我刚读完这本书,上面说Scrum会让工作加速,为什么你们还是那么慢?
|
30
|
+
00:00:36:07 , 00:00:38:08 , 继续工作……
|
31
|
+
00:00:38:09 , 00:00:40:28 , 这个用户故事用13个点不太可能,这更像是两个点的工作
|
32
|
+
00:00:40:29 , 00:00:45:20 , 好,我们就以5分钟的默写来开始回顾会议
|
33
|
+
00:00:49:27 , 00:00:50:21 , 默写,不要出声
|
34
|
+
00:00:50:25 , 00:00:51:25 , 那个并不是障碍
|
35
|
+
00:00:51:26 , 00:00:55:22 , 作为你们的ScrumMaster和产品负责人,这些是我希望你们在这个Sprint中承诺的用户故事
|
36
|
+
00:00:59:02 , 00:01:03:07 , 我的电脑昨晚被偷了,在得到新电脑前我没法工作
|
37
|
+
00:01:03:08 , 00:01:04:22 , 你知道可以用纸吗?
|
38
|
+
00:01:04:23 , 00:01:08:15 , 亚当,今天下午我要这个特征的演示,你可以做完吧?
|
39
|
+
00:01:08:16 , 00:01:09:16 , 好,没问题
|
40
|
+
00:01:09:16 , 00:01:09:20 , 很好
|
41
|
+
00:01:09:21 , 00:01:10:18 , 我把这个加入到你们的在进行工作中
|
42
|
+
00:01:10:19 , 00:01:14:25 , 持续集成就没发挥过作用,我们就省了吧
|
43
|
+
00:01:14:26 , 00:01:19:24 , 哦不是这样克里斯,我们现在用Scrum,所以就不用向管理层汇报这种事情
|
44
|
+
00:01:19:25 , 00:01:25:04 , 三个月时间,管理层以为我们下个Sprint就可以完成工作,我不明白……
|
45
|
+
00:01:25:05 , 00:01:32:12 , 大伙注意了,我们的CEO来参加今天的回顾会议,会议照常进行……
|
46
|
+
00:01:32:13 , 00:01:36:27 , 你们的工作太不理想了,所以我决定把这个Sprint减掉几天
|
47
|
+
00:01:36:28 , 00:01:38:22 , 你要去哪儿?
|
48
|
+
00:01:38:23 , 00:01:39:28 , 上厕所
|
49
|
+
00:01:39:29 , 00:01:41:24 , 你有那些任务吗?
|
50
|
+
00:01:41:25 , 00:01:42:03 , 没有
|
51
|
+
00:01:43:15 , 00:01:47:11 , 这个Sprint你们让公司失望了
|
52
|
+
00:01:47:12 , 00:01:53:03 , 我只是想这个Sprint你们有好多的工作,那我们就把两周的Sprint改成三周吧,就这么办吧
|
53
|
+
00:01:53:03 , 00:01:53:05 , 好吧
|
54
|
+
00:01:57:00 , 00:01:57:22 , 不同意还是承诺?
|
55
|
+
00:01:57:23 , 00:01:58:20 , 那不是障碍
|
56
|
+
00:01:58:21 , 00:02:00:20 , 我们可以把这个用户故事当作完成了?
|
57
|
+
00:02:04:00 , 00:02:05:08 , 够好了,那我们就完成了
|
58
|
+
00:02:05:09 , 00:02:10:15 , 这个Sprint大家表现都不错,但是另一个团队的速率要稍稍比我们的高,你们可不可以提高一点点?
|
59
|
+
00:02:10:16 , 00:02:11:23 , 5分钟默写
|
60
|
+
00:02:18:27 , 00:02:28:25 , 好,没事儿,我只是在开回顾会议,有谷歌工作机会?好的
|
61
|
+
00:02:28:26 , 00:02:35:28 , 我明天不在,你们可以通过邮件随便找个时间开每日例会,就发发邮件
|
62
|
+
00:02:36:00 , 00:02:37:13 , 那不是障碍
|
63
|
+
00:02:37:14 , 00:02:42:22 , 很好,但是另一个团队的速率比你们的要好很多,今天你们是不是要加班?
|
64
|
+
00:02:49:15 , 00:02:55:10 , 来看看,猫儿们在吃芝士汉堡,很不健康
|
@@ -0,0 +1,180 @@
|
|
1
|
+
1
|
2
|
+
00:00:04,825 --> 00:00:09,528
|
3
|
+
I have a problem, I can't get access to the error database at a consistent rate
|
4
|
+
|
5
|
+
2
|
6
|
+
00:00:09,561 --> 00:00:10,825
|
7
|
+
Oh, that is not an impediment
|
8
|
+
|
9
|
+
3
|
10
|
+
00:00:10,858 --> 00:00:17,792
|
11
|
+
In this retrospective today, I've got list of 10 improvements I'd like you guys to address for the next sprints
|
12
|
+
|
13
|
+
4
|
14
|
+
00:00:17,825 --> 00:00:23,792
|
15
|
+
Hey Khara, I'm gonna need you guys to get more work in progress, it's pretty good but you gonna need more stuff than that
|
16
|
+
|
17
|
+
5
|
18
|
+
00:00:23,825 --> 00:00:23,891
|
19
|
+
Ok
|
20
|
+
|
21
|
+
6
|
22
|
+
00:00:23,924 --> 00:00:26,000
|
23
|
+
Cool, thanks!
|
24
|
+
|
25
|
+
7
|
26
|
+
00:00:26,033 --> 00:00:29,594
|
27
|
+
Awesome, guys! That's our fastest standing up yet, it was only 40 minutes
|
28
|
+
|
29
|
+
8
|
30
|
+
00:00:29,627 --> 00:00:30,066
|
31
|
+
Yeah
|
32
|
+
|
33
|
+
9
|
34
|
+
00:00:30,099 --> 00:00:30,957
|
35
|
+
The point is not getting...
|
36
|
+
|
37
|
+
10
|
38
|
+
00:00:31,825 --> 00:00:36,198
|
39
|
+
I was just reading this and it says Scrum is all that going faster, what's taking you so long?
|
40
|
+
|
41
|
+
11
|
42
|
+
00:00:36,231 --> 00:00:38,264
|
43
|
+
Get back to work...
|
44
|
+
|
45
|
+
12
|
46
|
+
00:00:38,297 --> 00:00:40,924
|
47
|
+
There is no way this story is a 13, this is more like a 2.
|
48
|
+
|
49
|
+
13
|
50
|
+
00:00:40,957 --> 00:00:45,660
|
51
|
+
Alright, so we'll kick off this retrospective with 5 minutes silent writing
|
52
|
+
|
53
|
+
14
|
54
|
+
00:00:49,891 --> 00:00:50,693
|
55
|
+
Silent writing
|
56
|
+
|
57
|
+
15
|
58
|
+
00:00:50,825 --> 00:00:51,825
|
59
|
+
That's not an impediment
|
60
|
+
|
61
|
+
16
|
62
|
+
00:00:51,858 --> 00:00:55,726
|
63
|
+
As your ScrumMaster and product owner, these are the stories I need you to commit this sprint
|
64
|
+
|
65
|
+
17
|
66
|
+
00:00:59,066 --> 00:01:03,231
|
67
|
+
My computer was stolen during a break in last night, I can't get any work done until I get a new one
|
68
|
+
|
69
|
+
18
|
70
|
+
00:01:03,264 --> 00:01:04,726
|
71
|
+
Have you heard of paper?
|
72
|
+
|
73
|
+
19
|
74
|
+
00:01:04,759 --> 00:01:08,495
|
75
|
+
Adam, I'm gonna need this feature demo this afternoon, you can get it done right?
|
76
|
+
|
77
|
+
20
|
78
|
+
00:01:08,528 --> 00:01:09,528
|
79
|
+
Yeah, no problem
|
80
|
+
|
81
|
+
21
|
82
|
+
00:01:09,528 --> 00:01:09,660
|
83
|
+
Great
|
84
|
+
|
85
|
+
22
|
86
|
+
00:01:09,693 --> 00:01:10,594
|
87
|
+
I'm just gonna add this to your work in progress
|
88
|
+
|
89
|
+
23
|
90
|
+
00:01:10,627 --> 00:01:14,825
|
91
|
+
Continuous integrations never helps anybody,let's skip that
|
92
|
+
|
93
|
+
24
|
94
|
+
00:01:14,858 --> 00:01:19,792
|
95
|
+
Oh no Chris, listen, we're doing Scrum now, so we don't have to share that sort of stuff to the management
|
96
|
+
|
97
|
+
25
|
98
|
+
00:01:19,825 --> 00:01:25,132
|
99
|
+
3 months and management think we can get it done in another sprint, and I just don't understand...
|
100
|
+
|
101
|
+
26
|
102
|
+
00:01:25,165 --> 00:01:32,396
|
103
|
+
Hey guys, surprise! our CEO is joining us for today's retrospective, but just do everything normally...
|
104
|
+
|
105
|
+
27
|
106
|
+
00:01:32,429 --> 00:01:36,891
|
107
|
+
Hey guys, you are totally failing, so I am gonna cut this sprint a couple of days short
|
108
|
+
|
109
|
+
28
|
110
|
+
00:01:36,924 --> 00:01:38,726
|
111
|
+
Where are you going?
|
112
|
+
|
113
|
+
29
|
114
|
+
00:01:38,759 --> 00:01:39,924
|
115
|
+
Bio?
|
116
|
+
|
117
|
+
30
|
118
|
+
00:01:39,957 --> 00:01:41,792
|
119
|
+
Do you have a task for that?
|
120
|
+
|
121
|
+
31
|
122
|
+
00:01:41,825 --> 00:01:42,099
|
123
|
+
No
|
124
|
+
|
125
|
+
32
|
126
|
+
00:01:43,495 --> 00:01:47,363
|
127
|
+
Alright guys, you guys are letting our company down this sprint
|
128
|
+
|
129
|
+
33
|
130
|
+
00:01:47,396 --> 00:01:53,099
|
131
|
+
I was just thinking you guys have a lot to do this sprint so let's make this sprint 3 weeks instead of 2, let's just change that
|
132
|
+
|
133
|
+
34
|
134
|
+
00:01:53,099 --> 00:01:53,165
|
135
|
+
Cool
|
136
|
+
|
137
|
+
35
|
138
|
+
00:01:57,000 --> 00:01:57,726
|
139
|
+
Disagree or commit?
|
140
|
+
|
141
|
+
36
|
142
|
+
00:01:57,759 --> 00:01:58,660
|
143
|
+
That's not an impediment
|
144
|
+
|
145
|
+
37
|
146
|
+
00:01:58,693 --> 00:02:00,660
|
147
|
+
So we call this story done?
|
148
|
+
|
149
|
+
38
|
150
|
+
00:02:04,000 --> 00:02:05,264
|
151
|
+
That's close enough, you guys have it
|
152
|
+
|
153
|
+
39
|
154
|
+
00:02:05,297 --> 00:02:10,495
|
155
|
+
You guys are doing great this sprint but the other team's velocity is a little bit higher, could you pick it up just a little bit?
|
156
|
+
|
157
|
+
40
|
158
|
+
00:02:10,528 --> 00:02:11,759
|
159
|
+
5 minutes of silent writing
|
160
|
+
|
161
|
+
41
|
162
|
+
00:02:18,891 --> 00:02:28,825
|
163
|
+
Hey, no it is a fine time, I'm just doing a retrospective, a job at Google? Yeah
|
164
|
+
|
165
|
+
42
|
166
|
+
00:02:28,858 --> 00:02:35,924
|
167
|
+
I'm not gonna be here tomorrow, so if you guys can just do your daily Scrum by email just at whatever time you like, just shoot out email
|
168
|
+
|
169
|
+
43
|
170
|
+
00:02:36,000 --> 00:02:37,429
|
171
|
+
That's not an impediment
|
172
|
+
|
173
|
+
44
|
174
|
+
00:02:37,462 --> 00:02:42,726
|
175
|
+
It's great, the other team's velocity is much better than yours, I mean could you guys work late tonight?
|
176
|
+
|
177
|
+
45
|
178
|
+
00:02:49,495 --> 00:02:55,330
|
179
|
+
Check it out, the cats are eating a cheeseburger, it can't be healthy at all
|
180
|
+
|
@@ -0,0 +1,64 @@
|
|
1
|
+
$FontName = Arial
|
2
|
+
$FontSize = 30
|
3
|
+
$HorzAlign = Center // Left or Right
|
4
|
+
$VertAlign = Bottom // Top or Center
|
5
|
+
$Bold = TRUE
|
6
|
+
$UnderLined = FALSE
|
7
|
+
$Italic = FALSE
|
8
|
+
$XOffset = 0 // Pixel offset (can be negative)
|
9
|
+
$YOffset = 0 // Pixel offset (can be negative)
|
10
|
+
$TextContrast = 10
|
11
|
+
$Outline1Contrast = 15
|
12
|
+
$Outline2Contrast = 7
|
13
|
+
$BackgroundContrast = 0
|
14
|
+
$ForceDisplay = TRUE // DVD Force Display Flag
|
15
|
+
$FadeIn = 0 // In number of Frames
|
16
|
+
$Fadeout = 0 // In number of Frames
|
17
|
+
|
18
|
+
$TapeOffset = TRUE
|
19
|
+
|
20
|
+
00:00:04:25 , 00:00:09:16 , I have a problem, I can't get access to the error database at a consistent rate
|
21
|
+
00:00:09:17 , 00:00:10:25 , Oh, that is not an impediment
|
22
|
+
00:00:10:26 , 00:00:17:24 , In this retrospective today, I've got list of 10 improvements I'd like you guys to address for the next sprints
|
23
|
+
00:00:17:25 , 00:00:23:24 , Hey Khara, I'm gonna need you guys to get more work in progress, it's pretty good but you gonna need more stuff than that
|
24
|
+
00:00:23:25 , 00:00:23:27 , Ok
|
25
|
+
00:00:23:28 , 00:00:26:00 , Cool, thanks!
|
26
|
+
00:00:26:01 , 00:00:29:18 , Awesome, guys! That's our fastest standing up yet, it was only 40 minutes
|
27
|
+
00:00:29:19 , 00:00:30:02 , Yeah
|
28
|
+
00:00:30:03 , 00:00:30:29 , The point is not getting...
|
29
|
+
00:00:31:25 , 00:00:36:06 , I was just reading this and it says Scrum is all that going faster, what's taking you so long?
|
30
|
+
00:00:36:07 , 00:00:38:08 , Get back to work...
|
31
|
+
00:00:38:09 , 00:00:40:28 , There is no way this story is a 13, this is more like a 2.
|
32
|
+
00:00:40:29 , 00:00:45:20 , Alright, so we'll kick off this retrospective with 5 minutes silent writing
|
33
|
+
00:00:49:27 , 00:00:50:21 , Silent writing
|
34
|
+
00:00:50:25 , 00:00:51:25 , That's not an impediment
|
35
|
+
00:00:51:26 , 00:00:55:22 , As your ScrumMaster and product owner, these are the stories I need you to commit this sprint
|
36
|
+
00:00:59:02 , 00:01:03:07 , My computer was stolen during a break in last night, I can't get any work done until I get a new one
|
37
|
+
00:01:03:08 , 00:01:04:22 , Have you heard of paper?
|
38
|
+
00:01:04:23 , 00:01:08:15 , Adam, I'm gonna need this feature demo this afternoon, you can get it done right?
|
39
|
+
00:01:08:16 , 00:01:09:16 , Yeah, no problem
|
40
|
+
00:01:09:16 , 00:01:09:20 , Great
|
41
|
+
00:01:09:21 , 00:01:10:18 , I'm just gonna add this to your work in progress
|
42
|
+
00:01:10:19 , 00:01:14:25 , Continuous integrations never helps anybody,let's skip that
|
43
|
+
00:01:14:26 , 00:01:19:24 , Oh no Chris, listen, we're doing Scrum now, so we don't have to share that sort of stuff to the management
|
44
|
+
00:01:19:25 , 00:01:25:04 , 3 months and management think we can get it done in another sprint, and I just don't understand...
|
45
|
+
00:01:25:05 , 00:01:32:12 , Hey guys, surprise! our CEO is joining us for today's retrospective, but just do everything normally...
|
46
|
+
00:01:32:13 , 00:01:36:27 , Hey guys, you are totally failing, so I am gonna cut this sprint a couple of days short
|
47
|
+
00:01:36:28 , 00:01:38:22 , Where are you going?
|
48
|
+
00:01:38:23 , 00:01:39:28 , Bio?
|
49
|
+
00:01:39:29 , 00:01:41:24 , Do you have a task for that?
|
50
|
+
00:01:41:25 , 00:01:42:03 , No
|
51
|
+
00:01:43:15 , 00:01:47:11 , Alright guys, you guys are letting our company down this sprint
|
52
|
+
00:01:47:12 , 00:01:53:03 , I was just thinking you guys have a lot to do this sprint so let's make this sprint 3 weeks instead of 2, let's just change that
|
53
|
+
00:01:53:03 , 00:01:53:05 , Cool
|
54
|
+
00:01:57:00 , 00:01:57:22 , Disagree or commit?
|
55
|
+
00:01:57:23 , 00:01:58:20 , That's not an impediment
|
56
|
+
00:01:58:21 , 00:02:00:20 , So we call this story done?
|
57
|
+
00:02:04:00 , 00:02:05:08 , That's close enough, you guys have it
|
58
|
+
00:02:05:09 , 00:02:10:15 , You guys are doing great this sprint but the other team's velocity is a little bit higher, could you pick it up just a little bit?
|
59
|
+
00:02:10:16 , 00:02:11:23 , 5 minutes of silent writing
|
60
|
+
00:02:18:27 , 00:02:28:25 , Hey, no it is a fine time, I'm just doing a retrospective, a job at Google? Yeah
|
61
|
+
00:02:28:26 , 00:02:35:28 , I'm not gonna be here tomorrow, so if you guys can just do your daily Scrum by email just at whatever time you like, just shoot out email
|
62
|
+
00:02:36:00 , 00:02:37:13 , That's not an impediment
|
63
|
+
00:02:37:14 , 00:02:42:22 , It's great, the other team's velocity is much better than yours, I mean could you guys work late tonight?
|
64
|
+
00:02:49:15 , 00:02:55:10 , Check it out, the cats are eating a cheeseburger, it can't be healthy at all
|
@@ -0,0 +1,41 @@
|
|
1
|
+
|
2
|
+
require 'subtitle_converter'
|
3
|
+
require 'tmpdir'
|
4
|
+
|
5
|
+
describe "Trying out different files and output to see if the integration works" do
|
6
|
+
|
7
|
+
before (:each) {
|
8
|
+
@tempdir = Dir.mktmpdir
|
9
|
+
}
|
10
|
+
|
11
|
+
after (:each) {
|
12
|
+
FileUtils.remove_entry_secure @tempdir
|
13
|
+
}
|
14
|
+
|
15
|
+
def asset_file(filename)
|
16
|
+
File.join(File.dirname(__FILE__), "assets", filename)
|
17
|
+
end
|
18
|
+
|
19
|
+
def output_file(filename)
|
20
|
+
File.join(@tempdir, filename)
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
subject { SubtitleConvertor.new }
|
25
|
+
|
26
|
+
it "Can convert the IDEO shopping cart video subtitles from STL to SRT" do
|
27
|
+
subject.from(asset_file("IDEO_subtitles_en.txt")).to(output_file("IDEO_subtitles_en.srt")).convert
|
28
|
+
File.read(output_file("IDEO_subtitles_en.srt")).should== File.read(asset_file("IDEO_subtitles_en.srt"))
|
29
|
+
end
|
30
|
+
|
31
|
+
it "Can convert the Shit ScrumMasters say in English" do
|
32
|
+
subject.from(asset_file("bad scrummaster_subtitles_en.txt")).to(output_file("bad scrummaster_subtitles_en.srt")).convert
|
33
|
+
File.read(output_file("bad scrummaster_subtitles_en.srt")).should== File.read(asset_file("bad scrummaster_subtitles_en.srt"))
|
34
|
+
end
|
35
|
+
|
36
|
+
it "Can convert the Shit ScrumMasters say in Chinese" do
|
37
|
+
subject.from(asset_file("bad scrummaster_subtitles_cn.txt")).to(output_file("bad scrummaster_subtitles_cn.srt")).convert
|
38
|
+
File.read(output_file("bad scrummaster_subtitles_cn.srt")).should== File.read(asset_file("bad scrummaster_subtitles_cn.srt"))
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
|
2
|
+
require 'subtitle_converter'
|
3
|
+
|
4
|
+
describe STLReader do
|
5
|
+
describe "read stl file and read it content into memory" do
|
6
|
+
let(:stl_reader) { STLReader.new }
|
7
|
+
let(:data) {
|
8
|
+
"00:00:03:15\t,\t00:00:05:26\t,\tTonight, The Deep Dive.\r
|
9
|
+
00:00:05:27\t,\t00:00:10:01\t,\tOne company's secret weapon for innovation"
|
10
|
+
}
|
11
|
+
|
12
|
+
let(:result) { [
|
13
|
+
"00:00:03:15#00:00:05:26#Tonight, The Deep Dive.","00:00:05:27#00:00:10:01#One company's secret weapon for innovation"
|
14
|
+
]}
|
15
|
+
|
16
|
+
it "should open STL file and import content to 'srt_sub_title_lines'" do
|
17
|
+
File.stub(:open).with("file_name","r") { StringIO.new(data) }
|
18
|
+
stl_reader.import_stl_content("file_name")
|
19
|
+
stl_reader.stl_sub_title_lines.should eq(result)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should inform 'file not found' in case target file doesn't exist" do
|
23
|
+
stl_reader.should_receive(:puts).with("File not found")
|
24
|
+
stl_reader.import_stl_content("not_existing_file")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'subtitle_converter'
|
2
|
+
|
3
|
+
describe SubRibWriter do
|
4
|
+
let(:subrib_writer) { SubRibWriter.new }
|
5
|
+
let(:stl_sub_title_lines) { [
|
6
|
+
"00:00:03:15#00:00:05:26#Tonight, The Deep Dive.","00:00:05:27#00:00:10:01#One company's secret weapon for innovation"
|
7
|
+
]}
|
8
|
+
|
9
|
+
let(:result) { [
|
10
|
+
"1\n00:00:03,495 --> 00:00:05,858\nTonight, The Deep Dive.\n\n",
|
11
|
+
"2\n00:00:05,891 --> 00:00:10,033\nOne company's secret weapon for innovation\n\n"
|
12
|
+
]}
|
13
|
+
|
14
|
+
let(:expect_file_content) {
|
15
|
+
"1\n00:00:03,495 --> 00:00:05,858\nTonight, The Deep Dive.\n\n"+
|
16
|
+
"2\n00:00:05,891 --> 00:00:10,033\nOne company's secret weapon for innovation\n\n"
|
17
|
+
}
|
18
|
+
describe "convert_fps_to_millisecond" do
|
19
|
+
it "should convert fps to millisec" do
|
20
|
+
subrib_writer.convert_fps_to_millisec("15").should eq("495")
|
21
|
+
end
|
22
|
+
context "when result has 2 digits" do
|
23
|
+
it "should prepend 0" do
|
24
|
+
subrib_writer.convert_fps_to_millisec("1").should eq("033")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "re_format(hh_mm_ss_fps)" do
|
30
|
+
it "should be able to convert hh:mm:ss:fps to hh:mm:ss,millisecond" do
|
31
|
+
subrib_writer.re_format("00:00:03:15").should eq("00:00:03,495")
|
32
|
+
#subrib_writer.re_format("00:00:05:26").should eq("00:00:05,858")
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "convert_fps_to_millisec(frames_per_sec)" do
|
37
|
+
it "should parse stl lines into 'subrib_sub_title_line'" do
|
38
|
+
subrib_writer.parse_stl_lines(stl_sub_title_lines)
|
39
|
+
subrib_writer.subrib_sub_title_lines.should eq(result)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "write_to_file" do
|
44
|
+
it "should create file 'subrib_subtitle.srt' all data in subrib_sub_title_lines in" do
|
45
|
+
file = double("filename")
|
46
|
+
File.should_receive(:open).with("filename", "w").and_yield(file)
|
47
|
+
file.should_receive(:puts).at_least(:twice)
|
48
|
+
|
49
|
+
subrib_writer.parse_stl_lines(stl_sub_title_lines)
|
50
|
+
subrib_writer.to_file("filename")
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
|
2
|
+
require 'subtitle_converter'
|
3
|
+
|
4
|
+
|
5
|
+
describe "command line interface for the subtitle convertor" do
|
6
|
+
|
7
|
+
it "Should give a help text when not passing any parameters" do
|
8
|
+
SubtitleConvertorCommandLine.should_receive(:puts).with("convert_subtitle: missing arguments!\n")
|
9
|
+
SubtitleConvertorCommandLine.should_receive(:puts).with("usage: convert source [destination]")
|
10
|
+
SubtitleConvertorCommandLine.process([])
|
11
|
+
end
|
12
|
+
|
13
|
+
it "Should complain about too much parameters" do
|
14
|
+
SubtitleConvertorCommandLine.should_receive(:puts).with("convert_subtitle: too much arguments!\n")
|
15
|
+
SubtitleConvertorCommandLine.should_receive(:puts).with("usage: convert source [destination]")
|
16
|
+
SubtitleConvertorCommandLine.process(["1", "2", "3"])
|
17
|
+
end
|
18
|
+
|
19
|
+
it "Should pass both the parameters to the convertor class and print success" do
|
20
|
+
SubtitleConvertorCommandLine.should_receive(:puts).with("Finished converting subtitle")
|
21
|
+
|
22
|
+
convertor = double
|
23
|
+
SubtitleConvertor.should_receive(:new).and_return(convertor)
|
24
|
+
convertor.should_receive(:from).with("file.txt").and_return(convertor)
|
25
|
+
convertor.should_receive(:to).with("output.srt").and_return(convertor)
|
26
|
+
convertor.should_receive(:convert)
|
27
|
+
|
28
|
+
SubtitleConvertorCommandLine.process(["file.txt", "output.srt"])
|
29
|
+
end
|
30
|
+
|
31
|
+
it "Should be able to guess the output file based on the input file" do
|
32
|
+
SubtitleConvertorCommandLine.should_receive(:puts).with("Finished converting subtitle")
|
33
|
+
|
34
|
+
convertor = double.as_null_object
|
35
|
+
SubtitleConvertor.should_receive(:new).and_return(convertor)
|
36
|
+
convertor.should_receive(:from).and_return(convertor)
|
37
|
+
convertor.should_receive(:to).with("file.srt").and_return(convertor)
|
38
|
+
|
39
|
+
SubtitleConvertorCommandLine.process(["file.txt"])
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|