table-query 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ module TableQuery
2
+ # version number
3
+ VERSION = "0.1.0"
4
+ end
@@ -0,0 +1,21 @@
1
+ # -*- ruby -*-
2
+ # -*- encoding: utf-8 -*-
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'table-query/version'
6
+
7
+ Gem::Specification.new do |gem|
8
+ gem.name = "table-query"
9
+ gem.version = TableQuery::VERSION
10
+ gem.authors = ["Keita Yamaguchi"]
11
+ gem.email = ["keita.yamaguchi@gmail.com"]
12
+ gem.description = %q{table-query is a library to query table data by easy way.}
13
+ gem.summary = %q{query table data by easy way}
14
+ gem.homepage = "https://github.com/keita/table-query"
15
+
16
+ gem.files = `git ls-files`.split($/)
17
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
+ gem.require_paths = ["lib"]
20
+ gem.add_development_dependency "bacon"
21
+ end
@@ -0,0 +1,24 @@
1
+ require 'table-query'
2
+ include TableQuery
3
+
4
+ describe 'TableQuery::Field' do
5
+ it 'should get name' do
6
+ Field.new(:a, :string, 0, nil, {}).name.should == :a
7
+ end
8
+
9
+ it 'should get type' do
10
+ Field.new(:a, :string, 0, nil, {}).type.should == :string
11
+ end
12
+
13
+ it 'should get pos' do
14
+ Field.new(:a, :string, 0, nil, {}).pos.should == 0
15
+ end
16
+
17
+ it 'should get value' do
18
+ Field.new(:a, :string, 0, nil, {}).value.should.nil
19
+ end
20
+
21
+ it 'should get options' do
22
+ Field.new(:a, :string, 0, nil, {}).options.should == {}
23
+ end
24
+ end
@@ -0,0 +1,42 @@
1
+ require 'table-query'
2
+ include TableQuery
3
+
4
+ describe 'TableQuery::QuerySchema' do
5
+ it 'should define a query schema' do
6
+ QuerySchema.define(:test) do
7
+ input :a
8
+ output :b
9
+ end.should.kind_of QuerySchema
10
+ end
11
+
12
+ it 'should get the query name' do
13
+ QuerySchema.define(:test) do
14
+ input :a
15
+ output :b
16
+ end.name.should == :test
17
+ end
18
+
19
+ it 'should input fields' do
20
+ QuerySchema.define(:test) do
21
+ input :a
22
+ input :b
23
+ input :c
24
+ end.inputs.map{|f| f.name}.should == [:a, :b, :c]
25
+ end
26
+
27
+ it 'should output fields' do
28
+ QuerySchema.define(:test) do
29
+ output :a
30
+ output :b
31
+ output :c
32
+ end.outputs.map{|f| f.name}.should == [:a, :b, :c]
33
+ end
34
+
35
+ it 'should value fields' do
36
+ QuerySchema.define(:test) do
37
+ value :a, 1
38
+ value :b, 2
39
+ value :c, 3
40
+ end.values.map{|f| f.name}.should == [:a, :b, :c]
41
+ end
42
+ end
@@ -0,0 +1,35 @@
1
+ require 'table-query'
2
+ include TableQuery
3
+
4
+ describe 'TableQuery::Query' do
5
+ table = TableQuery.table(File.join(File.dirname(__FILE__), "table", "calendar.csv"))
6
+ query_schema = table.query_schemas[:wday_to_day]
7
+
8
+ it 'should get the table' do
9
+ Query.new(table, query_schema, [2, :sun]).table.should == table
10
+ end
11
+
12
+ it 'should get the query schema' do
13
+ Query.new(table, query_schema, [2, :sun]).query_schema.should == query_schema
14
+ end
15
+
16
+ it 'should get the values' do
17
+ Query.new(table, query_schema, [2, :sun]).values.should == [2, :sun]
18
+ end
19
+
20
+ it 'should get an enumerator' do
21
+ Query.new(table, query_schema, [2, :sun]).each.should.kind_of(Enumerator)
22
+ end
23
+
24
+ it 'should iterate' do
25
+ list = [3, 10, 17, 24]
26
+ Query.new(table, query_schema, [2, :sun]).each do |day|
27
+ list.delete(day).should.not.nil
28
+ end
29
+ list.should.empty
30
+ end
31
+
32
+ it 'should get entries' do
33
+ Query.new(table, query_schema, [2, :sun]).entries.should == [3, 10, 17, 24]
34
+ end
35
+ end
@@ -0,0 +1,15 @@
1
+ require 'table-query'
2
+ include TableQuery
3
+
4
+ describe 'TableQuery::SchemaLoader' do
5
+ path = File.join(File.dirname(__FILE__), "table", "alphabet-schema.rb")
6
+
7
+ it 'should load a schema' do
8
+ types, table_schema, query_schemas =
9
+ SchemaLoader.load(File.read(path), path)
10
+ types.should.empty
11
+ table_schema.should.kind_of TableSchema
12
+ query_schemas.map{|_, schema| schema.name}
13
+ .should == [:number_to_char, :char_to_number]
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ require 'table-query'
2
+ include TableQuery
3
+
4
+ describe 'TableQuery::TableSchema' do
5
+ it 'should define a table schema' do
6
+ TableSchema.define do
7
+ field :a, :string
8
+ end.should.kind_of TableSchema
9
+ end
10
+
11
+ it 'should get table fields' do
12
+ TableSchema.define do
13
+ field :a, :string
14
+ field :b, :int
15
+ field :c, :bool
16
+ end.fields.map{|f| f.name}.should == [:a, :b, :c]
17
+ end
18
+ end
@@ -0,0 +1,27 @@
1
+ require 'table-query'
2
+ include TableQuery
3
+
4
+ describe 'TableQuery::Table' do
5
+ path = File.join(File.dirname(__FILE__), "table", "alphabet.csv")
6
+
7
+ it 'should get types' do
8
+ Table.new(path).types.map{|_, t| t.name}.should ==
9
+ STANDARD_TYPES.map{|t| t.name}
10
+ end
11
+
12
+ it 'should get table schema' do
13
+ Table.new(path).table_schema.should.kind_of TableSchema
14
+ end
15
+
16
+ it 'should get query schemas' do
17
+ Table.new(path).query_schemas.map{|_, schema| schema.name}
18
+ .should == [:number_to_char, :char_to_number]
19
+ end
20
+
21
+ it 'should get queries' do
22
+ Table.new(path).number_to_char.should.kind_of Query
23
+ Table.new(path).char_to_number.should.kind_of Query
24
+ end
25
+ end
26
+
27
+
data/test/spec_type.rb ADDED
@@ -0,0 +1,97 @@
1
+ require 'table-query'
2
+ include TableQuery
3
+
4
+ describe 'TableQuery::Type' do
5
+ it 'should get type name' do
6
+ Type::BOOL.name.should == :bool
7
+ end
8
+
9
+ describe 'BOOL' do
10
+ it 'should convert to ruby object' do
11
+ Type::BOOL.convert_to_ruby("true").should == true
12
+ Type::BOOL.convert_to_ruby("false").should == false
13
+ end
14
+
15
+ it 'should convert from ruby object' do
16
+ Type::BOOL.convert_from_ruby(true).should == "true"
17
+ Type::BOOL.convert_from_ruby(false).should == "false"
18
+ end
19
+ end
20
+
21
+ describe 'INT' do
22
+ it 'should convert to ruby object' do
23
+ Type::INT.convert_to_ruby("123").should == 123
24
+ Type::INT.convert_to_ruby("-123").should == -123
25
+ end
26
+
27
+ it 'should convert from ruby object' do
28
+ Type::INT.convert_from_ruby(123).should == "123"
29
+ Type::INT.convert_from_ruby(-123).should == "-123"
30
+ end
31
+ end
32
+
33
+ describe 'FLOAT' do
34
+ it 'should convert to ruby object' do
35
+ Type::FLOAT.convert_to_ruby("0.123").should == 0.123
36
+ Type::FLOAT.convert_to_ruby("-0.123").should == -0.123
37
+ end
38
+
39
+ it 'should convert from ruby object' do
40
+ Type::FLOAT.convert_from_ruby(0.123).should == "0.123"
41
+ Type::FLOAT.convert_from_ruby(-0.123).should == "-0.123"
42
+ end
43
+ end
44
+
45
+ describe 'STRING' do
46
+ it 'should convert to ruby object' do
47
+ Type::STRING.convert_to_ruby("abc").should == "abc"
48
+ end
49
+
50
+ it 'should convert from ruby object' do
51
+ Type::STRING.convert_from_ruby("abc").should == "abc"
52
+ end
53
+ end
54
+
55
+ describe 'SYMBOL' do
56
+ it 'should convert to ruby object' do
57
+ Type::SYMBOL.convert_to_ruby("abc").should == :abc
58
+ end
59
+
60
+ it 'should convert from ruby object' do
61
+ Type::SYMBOL.convert_from_ruby(:abc).should == "abc"
62
+ end
63
+ end
64
+
65
+ describe 'TIME' do
66
+ it 'should convert to ruby object' do
67
+ Type::TIME.convert_to_ruby("2013-2-17 13:12:56").tap do |x|
68
+ x.year.should == 2013
69
+ x.month.should == 2
70
+ x.mday.should == 17
71
+ x.hour.should == 13
72
+ x.min.should == 12
73
+ x.sec.should == 56
74
+ end
75
+ end
76
+
77
+ it 'should convert from ruby object' do
78
+ Type::TIME.convert_from_ruby(DateTime.parse("2013-2-17 13:12:56"))
79
+ .should == "2013-02-17 13:12:56"
80
+ end
81
+ end
82
+
83
+ describe 'DATE' do
84
+ it 'should convert to ruby object' do
85
+ Type::DATE.convert_to_ruby("2013-2-17").tap do |x|
86
+ x.year.should == 2013
87
+ x.month.should == 2
88
+ x.mday.should == 17
89
+ end
90
+ end
91
+
92
+ it 'should convert from ruby object' do
93
+ Type::DATE.convert_from_ruby(Date.parse("2013-2-17"))
94
+ .should == "2013-02-17"
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,14 @@
1
+ table.define do
2
+ field :number, :int
3
+ field :char, :string
4
+ end
5
+
6
+ query.define(:number_to_char) do
7
+ input :number
8
+ output :char
9
+ end
10
+
11
+ query.define(:char_to_number) do
12
+ input :char
13
+ output :number
14
+ end
@@ -0,0 +1,26 @@
1
+ 1,"a"
2
+ 2,"b"
3
+ 3,"c"
4
+ 4,"d"
5
+ 5,"e"
6
+ 6,"f"
7
+ 7,"g"
8
+ 8,"h"
9
+ 9,"I"
10
+ 10,"j"
11
+ 11,"k"
12
+ 12,"l"
13
+ 13,"m"
14
+ 14,"n"
15
+ 15,"o"
16
+ 16,"p"
17
+ 17,"q"
18
+ 18,"r"
19
+ 19,"s"
20
+ 20,"t"
21
+ 21,"u"
22
+ 22,"v"
23
+ 23,"w"
24
+ 24,"x"
25
+ 25,"y"
26
+ 26,"z"
@@ -0,0 +1,29 @@
1
+ type.define(:weekday) do
2
+ list = [:sun, :mon, :tue, :wed, :thu, :fri, :sat]
3
+ table = Hash[list.zip((0..6).to_a)]
4
+ to_ruby {|val| list[val.to_i]}
5
+ from_ruby {|val| table[val].to_s}
6
+ end
7
+
8
+ table.define do
9
+ field :year , :int
10
+ field :month, :int
11
+ field :mday , :int
12
+ field :wday , :weekday
13
+ end
14
+
15
+ query.define(:wday_to_day) do
16
+ input :month
17
+ input :wday
18
+ output :mday
19
+ end
20
+
21
+ query.define(:month_of_year) do
22
+ input :year
23
+ output :month
24
+ end
25
+
26
+ query.define(:day_of_month) do
27
+ input :month
28
+ output :mday
29
+ end
@@ -0,0 +1,365 @@
1
+ "2013","1","1","2"
2
+ "2013","1","2","3"
3
+ "2013","1","3","4"
4
+ "2013","1","4","5"
5
+ "2013","1","5","6"
6
+ "2013","1","6","0"
7
+ "2013","1","7","1"
8
+ "2013","1","8","2"
9
+ "2013","1","9","3"
10
+ "2013","1","10","4"
11
+ "2013","1","11","5"
12
+ "2013","1","12","6"
13
+ "2013","1","13","0"
14
+ "2013","1","14","1"
15
+ "2013","1","15","2"
16
+ "2013","1","16","3"
17
+ "2013","1","17","4"
18
+ "2013","1","18","5"
19
+ "2013","1","19","6"
20
+ "2013","1","20","0"
21
+ "2013","1","21","1"
22
+ "2013","1","22","2"
23
+ "2013","1","23","3"
24
+ "2013","1","24","4"
25
+ "2013","1","25","5"
26
+ "2013","1","26","6"
27
+ "2013","1","27","0"
28
+ "2013","1","28","1"
29
+ "2013","1","29","2"
30
+ "2013","1","30","3"
31
+ "2013","1","31","4"
32
+ "2013","2","1","5"
33
+ "2013","2","2","6"
34
+ "2013","2","3","0"
35
+ "2013","2","4","1"
36
+ "2013","2","5","2"
37
+ "2013","2","6","3"
38
+ "2013","2","7","4"
39
+ "2013","2","8","5"
40
+ "2013","2","9","6"
41
+ "2013","2","10","0"
42
+ "2013","2","11","1"
43
+ "2013","2","12","2"
44
+ "2013","2","13","3"
45
+ "2013","2","14","4"
46
+ "2013","2","15","5"
47
+ "2013","2","16","6"
48
+ "2013","2","17","0"
49
+ "2013","2","18","1"
50
+ "2013","2","19","2"
51
+ "2013","2","20","3"
52
+ "2013","2","21","4"
53
+ "2013","2","22","5"
54
+ "2013","2","23","6"
55
+ "2013","2","24","0"
56
+ "2013","2","25","1"
57
+ "2013","2","26","2"
58
+ "2013","2","27","3"
59
+ "2013","2","28","4"
60
+ "2013","3","1","5"
61
+ "2013","3","2","6"
62
+ "2013","3","3","0"
63
+ "2013","3","4","1"
64
+ "2013","3","5","2"
65
+ "2013","3","6","3"
66
+ "2013","3","7","4"
67
+ "2013","3","8","5"
68
+ "2013","3","9","6"
69
+ "2013","3","10","0"
70
+ "2013","3","11","1"
71
+ "2013","3","12","2"
72
+ "2013","3","13","3"
73
+ "2013","3","14","4"
74
+ "2013","3","15","5"
75
+ "2013","3","16","6"
76
+ "2013","3","17","0"
77
+ "2013","3","18","1"
78
+ "2013","3","19","2"
79
+ "2013","3","20","3"
80
+ "2013","3","21","4"
81
+ "2013","3","22","5"
82
+ "2013","3","23","6"
83
+ "2013","3","24","0"
84
+ "2013","3","25","1"
85
+ "2013","3","26","2"
86
+ "2013","3","27","3"
87
+ "2013","3","28","4"
88
+ "2013","3","29","5"
89
+ "2013","3","30","6"
90
+ "2013","3","31","0"
91
+ "2013","4","1","1"
92
+ "2013","4","2","2"
93
+ "2013","4","3","3"
94
+ "2013","4","4","4"
95
+ "2013","4","5","5"
96
+ "2013","4","6","6"
97
+ "2013","4","7","0"
98
+ "2013","4","8","1"
99
+ "2013","4","9","2"
100
+ "2013","4","10","3"
101
+ "2013","4","11","4"
102
+ "2013","4","12","5"
103
+ "2013","4","13","6"
104
+ "2013","4","14","0"
105
+ "2013","4","15","1"
106
+ "2013","4","16","2"
107
+ "2013","4","17","3"
108
+ "2013","4","18","4"
109
+ "2013","4","19","5"
110
+ "2013","4","20","6"
111
+ "2013","4","21","0"
112
+ "2013","4","22","1"
113
+ "2013","4","23","2"
114
+ "2013","4","24","3"
115
+ "2013","4","25","4"
116
+ "2013","4","26","5"
117
+ "2013","4","27","6"
118
+ "2013","4","28","0"
119
+ "2013","4","29","1"
120
+ "2013","4","30","2"
121
+ "2013","5","1","3"
122
+ "2013","5","2","4"
123
+ "2013","5","3","5"
124
+ "2013","5","4","6"
125
+ "2013","5","5","0"
126
+ "2013","5","6","1"
127
+ "2013","5","7","2"
128
+ "2013","5","8","3"
129
+ "2013","5","9","4"
130
+ "2013","5","10","5"
131
+ "2013","5","11","6"
132
+ "2013","5","12","0"
133
+ "2013","5","13","1"
134
+ "2013","5","14","2"
135
+ "2013","5","15","3"
136
+ "2013","5","16","4"
137
+ "2013","5","17","5"
138
+ "2013","5","18","6"
139
+ "2013","5","19","0"
140
+ "2013","5","20","1"
141
+ "2013","5","21","2"
142
+ "2013","5","22","3"
143
+ "2013","5","23","4"
144
+ "2013","5","24","5"
145
+ "2013","5","25","6"
146
+ "2013","5","26","0"
147
+ "2013","5","27","1"
148
+ "2013","5","28","2"
149
+ "2013","5","29","3"
150
+ "2013","5","30","4"
151
+ "2013","5","31","5"
152
+ "2013","6","1","6"
153
+ "2013","6","2","0"
154
+ "2013","6","3","1"
155
+ "2013","6","4","2"
156
+ "2013","6","5","3"
157
+ "2013","6","6","4"
158
+ "2013","6","7","5"
159
+ "2013","6","8","6"
160
+ "2013","6","9","0"
161
+ "2013","6","10","1"
162
+ "2013","6","11","2"
163
+ "2013","6","12","3"
164
+ "2013","6","13","4"
165
+ "2013","6","14","5"
166
+ "2013","6","15","6"
167
+ "2013","6","16","0"
168
+ "2013","6","17","1"
169
+ "2013","6","18","2"
170
+ "2013","6","19","3"
171
+ "2013","6","20","4"
172
+ "2013","6","21","5"
173
+ "2013","6","22","6"
174
+ "2013","6","23","0"
175
+ "2013","6","24","1"
176
+ "2013","6","25","2"
177
+ "2013","6","26","3"
178
+ "2013","6","27","4"
179
+ "2013","6","28","5"
180
+ "2013","6","29","6"
181
+ "2013","6","30","0"
182
+ "2013","7","1","1"
183
+ "2013","7","2","2"
184
+ "2013","7","3","3"
185
+ "2013","7","4","4"
186
+ "2013","7","5","5"
187
+ "2013","7","6","6"
188
+ "2013","7","7","0"
189
+ "2013","7","8","1"
190
+ "2013","7","9","2"
191
+ "2013","7","10","3"
192
+ "2013","7","11","4"
193
+ "2013","7","12","5"
194
+ "2013","7","13","6"
195
+ "2013","7","14","0"
196
+ "2013","7","15","1"
197
+ "2013","7","16","2"
198
+ "2013","7","17","3"
199
+ "2013","7","18","4"
200
+ "2013","7","19","5"
201
+ "2013","7","20","6"
202
+ "2013","7","21","0"
203
+ "2013","7","22","1"
204
+ "2013","7","23","2"
205
+ "2013","7","24","3"
206
+ "2013","7","25","4"
207
+ "2013","7","26","5"
208
+ "2013","7","27","6"
209
+ "2013","7","28","0"
210
+ "2013","7","29","1"
211
+ "2013","7","30","2"
212
+ "2013","7","31","3"
213
+ "2013","8","1","4"
214
+ "2013","8","2","5"
215
+ "2013","8","3","6"
216
+ "2013","8","4","0"
217
+ "2013","8","5","1"
218
+ "2013","8","6","2"
219
+ "2013","8","7","3"
220
+ "2013","8","8","4"
221
+ "2013","8","9","5"
222
+ "2013","8","10","6"
223
+ "2013","8","11","0"
224
+ "2013","8","12","1"
225
+ "2013","8","13","2"
226
+ "2013","8","14","3"
227
+ "2013","8","15","4"
228
+ "2013","8","16","5"
229
+ "2013","8","17","6"
230
+ "2013","8","18","0"
231
+ "2013","8","19","1"
232
+ "2013","8","20","2"
233
+ "2013","8","21","3"
234
+ "2013","8","22","4"
235
+ "2013","8","23","5"
236
+ "2013","8","24","6"
237
+ "2013","8","25","0"
238
+ "2013","8","26","1"
239
+ "2013","8","27","2"
240
+ "2013","8","28","3"
241
+ "2013","8","29","4"
242
+ "2013","8","30","5"
243
+ "2013","8","31","6"
244
+ "2013","9","1","0"
245
+ "2013","9","2","1"
246
+ "2013","9","3","2"
247
+ "2013","9","4","3"
248
+ "2013","9","5","4"
249
+ "2013","9","6","5"
250
+ "2013","9","7","6"
251
+ "2013","9","8","0"
252
+ "2013","9","9","1"
253
+ "2013","9","10","2"
254
+ "2013","9","11","3"
255
+ "2013","9","12","4"
256
+ "2013","9","13","5"
257
+ "2013","9","14","6"
258
+ "2013","9","15","0"
259
+ "2013","9","16","1"
260
+ "2013","9","17","2"
261
+ "2013","9","18","3"
262
+ "2013","9","19","4"
263
+ "2013","9","20","5"
264
+ "2013","9","21","6"
265
+ "2013","9","22","0"
266
+ "2013","9","23","1"
267
+ "2013","9","24","2"
268
+ "2013","9","25","3"
269
+ "2013","9","26","4"
270
+ "2013","9","27","5"
271
+ "2013","9","28","6"
272
+ "2013","9","29","0"
273
+ "2013","9","30","1"
274
+ "2013","10","1","2"
275
+ "2013","10","2","3"
276
+ "2013","10","3","4"
277
+ "2013","10","4","5"
278
+ "2013","10","5","6"
279
+ "2013","10","6","0"
280
+ "2013","10","7","1"
281
+ "2013","10","8","2"
282
+ "2013","10","9","3"
283
+ "2013","10","10","4"
284
+ "2013","10","11","5"
285
+ "2013","10","12","6"
286
+ "2013","10","13","0"
287
+ "2013","10","14","1"
288
+ "2013","10","15","2"
289
+ "2013","10","16","3"
290
+ "2013","10","17","4"
291
+ "2013","10","18","5"
292
+ "2013","10","19","6"
293
+ "2013","10","20","0"
294
+ "2013","10","21","1"
295
+ "2013","10","22","2"
296
+ "2013","10","23","3"
297
+ "2013","10","24","4"
298
+ "2013","10","25","5"
299
+ "2013","10","26","6"
300
+ "2013","10","27","0"
301
+ "2013","10","28","1"
302
+ "2013","10","29","2"
303
+ "2013","10","30","3"
304
+ "2013","10","31","4"
305
+ "2013","11","1","5"
306
+ "2013","11","2","6"
307
+ "2013","11","3","0"
308
+ "2013","11","4","1"
309
+ "2013","11","5","2"
310
+ "2013","11","6","3"
311
+ "2013","11","7","4"
312
+ "2013","11","8","5"
313
+ "2013","11","9","6"
314
+ "2013","11","10","0"
315
+ "2013","11","11","1"
316
+ "2013","11","12","2"
317
+ "2013","11","13","3"
318
+ "2013","11","14","4"
319
+ "2013","11","15","5"
320
+ "2013","11","16","6"
321
+ "2013","11","17","0"
322
+ "2013","11","18","1"
323
+ "2013","11","19","2"
324
+ "2013","11","20","3"
325
+ "2013","11","21","4"
326
+ "2013","11","22","5"
327
+ "2013","11","23","6"
328
+ "2013","11","24","0"
329
+ "2013","11","25","1"
330
+ "2013","11","26","2"
331
+ "2013","11","27","3"
332
+ "2013","11","28","4"
333
+ "2013","11","29","5"
334
+ "2013","11","30","6"
335
+ "2013","12","1","0"
336
+ "2013","12","2","1"
337
+ "2013","12","3","2"
338
+ "2013","12","4","3"
339
+ "2013","12","5","4"
340
+ "2013","12","6","5"
341
+ "2013","12","7","6"
342
+ "2013","12","8","0"
343
+ "2013","12","9","1"
344
+ "2013","12","10","2"
345
+ "2013","12","11","3"
346
+ "2013","12","12","4"
347
+ "2013","12","13","5"
348
+ "2013","12","14","6"
349
+ "2013","12","15","0"
350
+ "2013","12","16","1"
351
+ "2013","12","17","2"
352
+ "2013","12","18","3"
353
+ "2013","12","19","4"
354
+ "2013","12","20","5"
355
+ "2013","12","21","6"
356
+ "2013","12","22","0"
357
+ "2013","12","23","1"
358
+ "2013","12","24","2"
359
+ "2013","12","25","3"
360
+ "2013","12","26","4"
361
+ "2013","12","27","5"
362
+ "2013","12","28","6"
363
+ "2013","12","29","0"
364
+ "2013","12","30","1"
365
+ "2013","12","31","2"