syobocal 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +51 -0
- data/lib/syobocal.rb +2 -0
- data/lib/syobocal/sub_titles/parser.rb +21 -0
- data/lib/syobocal/sub_titles/sub_title.rb +15 -0
- data/lib/syobocal/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0398de2d798888a3de127fc65f3d5b7e80571e9ce0fb14a5167787dae9714d4
|
4
|
+
data.tar.gz: 4851e93fe58065998cbecba8ea6c598b2e0971c145a755157636aa5f2f91ed11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b617073199d1f4e2ecb320e908d9874cbc67ad4a3154b268ff35466712397f4e802b07aa4fd30697f5803feb2cea9bbae3b2f92cfd7ea3d0f5a04c8536e9603
|
7
|
+
data.tar.gz: 3d8cde4777e1de49b68fcf533e3171fbc658e48292ab75970c428ed5dcadc8302d0fe37d428492c7fe34a9dfa86072abedc115d005472c8a0b2f339f66b61411
|
data/README.md
CHANGED
@@ -153,6 +153,57 @@ pp parser.musics.first
|
|
153
153
|
# @title="コネクト">
|
154
154
|
```
|
155
155
|
|
156
|
+
### サブタイトルパーサ(ベータ版)
|
157
|
+
|
158
|
+
しょぼいカレンダーの`sub_titles`属性をパースして扱いやすい形にして取り出すパーサです。
|
159
|
+
|
160
|
+
```ruby
|
161
|
+
require 'syobocal'
|
162
|
+
require 'pp'
|
163
|
+
|
164
|
+
title = Syobocal::DB::TitleLookup.get({'TID' => '2077'})
|
165
|
+
sub_titles = title.first[:sub_titles]
|
166
|
+
parser = Syobocal::SubTitles::Parser.new(sub_titles)
|
167
|
+
|
168
|
+
pp parser.parse
|
169
|
+
# [#<Syobocal::SubTitles::SubTitle:0x00005591edc37830
|
170
|
+
# @episode="01",
|
171
|
+
# @title="夢の中で会った、ような・・・・・">,
|
172
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc37448
|
173
|
+
# @episode="02",
|
174
|
+
# @title="それはとっても嬉しいなって">,
|
175
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc370b0
|
176
|
+
# @episode="03",
|
177
|
+
# @title="もう何も恐くない">,
|
178
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc36d40
|
179
|
+
# @episode="04",
|
180
|
+
# @title="奇跡も、魔法も、あるんだよ">,
|
181
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc36c00
|
182
|
+
# @episode="05",
|
183
|
+
# @title="後悔なんて、あるわけない">,
|
184
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc36700
|
185
|
+
# @episode="06",
|
186
|
+
# @title="こんなの絶対おかしいよ">,
|
187
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc36408
|
188
|
+
# @episode="07",
|
189
|
+
# @title="本当の気持ちと向き合えますか?">,
|
190
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc36110
|
191
|
+
# @episode="08",
|
192
|
+
# @title="あたしって、ほんとバカ">,
|
193
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc35c88
|
194
|
+
# @episode="09",
|
195
|
+
# @title="そんなの、あたしが許さない">,
|
196
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc34d38
|
197
|
+
# @episode="10",
|
198
|
+
# @title="もう誰にも頼らない">,
|
199
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc34a68
|
200
|
+
# @episode="11",
|
201
|
+
# @title="最後に残った道しるべ">,
|
202
|
+
# #<Syobocal::SubTitles::SubTitle:0x00005591edc34900
|
203
|
+
# @episode="12",
|
204
|
+
# @title="わたしの、最高の友達">]
|
205
|
+
```
|
206
|
+
|
156
207
|
## おまけ
|
157
208
|
|
158
209
|
テスト用の`syobocal`コマンドと、これから放送される首都圏のアニメを表示する`anime`コマンドを同梱しています。
|
data/lib/syobocal.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
module Syobocal
|
2
|
+
module SubTitles
|
3
|
+
class Parser
|
4
|
+
FORMAT_REGEXP = /\A\*(.*?)\*(.*)\Z/
|
5
|
+
|
6
|
+
def initialize(sub_titles)
|
7
|
+
@sub_titles = sub_titles
|
8
|
+
end
|
9
|
+
|
10
|
+
def parse
|
11
|
+
return @parse if defined? @parse
|
12
|
+
|
13
|
+
@sub_titles.each_line.each_with_object([]){|line, array|
|
14
|
+
m = FORMAT_REGEXP.match(line)
|
15
|
+
|
16
|
+
array << SubTitle.new(m[1], m[2]) if m
|
17
|
+
}
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Syobocal
|
2
|
+
module SubTitles
|
3
|
+
class SubTitle
|
4
|
+
attr_reader :episode, :title
|
5
|
+
|
6
|
+
def initialize(episode, title)
|
7
|
+
@episode, @title = episode, title
|
8
|
+
end
|
9
|
+
|
10
|
+
def ==(other)
|
11
|
+
other.instance_of?(self.class) && other.episode == episode && other.title == title
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/syobocal/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: syobocal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xmisao
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -110,6 +110,8 @@ files:
|
|
110
110
|
- lib/syobocal/json.rb
|
111
111
|
- lib/syobocal/rss.rb
|
112
112
|
- lib/syobocal/rss2.rb
|
113
|
+
- lib/syobocal/sub_titles/parser.rb
|
114
|
+
- lib/syobocal/sub_titles/sub_title.rb
|
113
115
|
- lib/syobocal/util.rb
|
114
116
|
- lib/syobocal/version.rb
|
115
117
|
- scripts/download_db_title_lookup.rb
|