tottori-opendata-catalog 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +6 -0
- data/LICENSE.txt +17 -18
- data/README.md +30 -13
- data/Rakefile +3 -4
- data/bin/tottori-opendata-catalog +3 -3
- data/example/example.csv +58 -6
- data/lib/tottori-opendata-catalog.rb +1 -3
- data/lib/tottori-opendata-catalog/command.rb +5 -10
- data/lib/tottori-opendata-catalog/net.rb +2 -8
- data/lib/tottori-opendata-catalog/parser.rb +60 -65
- data/lib/tottori-opendata-catalog/proxy.rb +4 -12
- data/lib/tottori-opendata-catalog/version.rb +1 -1
- data/spec/spec_helper.rb +1 -0
- data/spec/tottori-opendata-catalog/command_spec.rb +0 -7
- data/spec/tottori-opendata-catalog/parser_spec.rb +1 -9
- data/spec/tottori-opendata-catalog/proxy_spec.rb +0 -4
- data/tottori-opendata-catalog.gemspec +15 -15
- metadata +39 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fdade779122520c928ef78f424a9ad060fcaac6a
|
4
|
+
data.tar.gz: 215ad4c0989a125572273ad3a0508ddf429c4a48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4d42f54d0a668fe8e80f26de9425e5b6f98726e1efebc104e1551eb89e0e621407ee2d0062ec0f7a764d7747602e99f23611336451d4122b67710de512fb81c
|
7
|
+
data.tar.gz: 5da09f99ada945c48e76e5cd420f24b14520e977dadbbbdeb532a699bfe6be89eefb9b433543bf672104fae2f45c5a46c301e416ad2281f8c8bf095a7b4f0d3f
|
data/.rubocop.yml
ADDED
data/LICENSE.txt
CHANGED
@@ -1,22 +1,21 @@
|
|
1
|
-
|
1
|
+
The MIT License (MIT)
|
2
2
|
|
3
|
-
|
3
|
+
Copyright (c) 2015 Masayuki Higashino
|
4
4
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
the following conditions:
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
12
11
|
|
13
|
-
The above copyright notice and this permission notice shall be
|
14
|
-
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
15
14
|
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
OF
|
22
|
-
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
CHANGED
@@ -1,16 +1,20 @@
|
|
1
1
|
[![Version](https://img.shields.io/gem/v/tottori-opendata-catalog.svg)](https://rubygems.org/gems/tottori-opendata-catalog)
|
2
2
|
|
3
|
-
|
3
|
+
# TottoriOpenDataCatalog
|
4
4
|
|
5
|
-
This gem provides an API and a CLI
|
5
|
+
This gem provides an API and a CLI for Open Data Catalog of Tottori Prefecture http://db.pref.tottori.jp/opendataResearch.nsf to generate a machine-readable catalog.
|
6
6
|
|
7
|
-
|
7
|
+
## Installation
|
8
8
|
|
9
|
-
|
9
|
+
```sh
|
10
|
+
$ gem install tottori-opendata-catalog
|
11
|
+
```
|
10
12
|
|
11
|
-
|
13
|
+
## Synopsis
|
12
14
|
|
13
|
-
|
15
|
+
### API
|
16
|
+
|
17
|
+
Example1:
|
14
18
|
|
15
19
|
``` ruby
|
16
20
|
require 'tottori-opendata-catalog'
|
@@ -18,19 +22,21 @@ require 'tottori-opendata-catalog'
|
|
18
22
|
puts TottoriOpenDataCatalog.get
|
19
23
|
```
|
20
24
|
|
25
|
+
Example2: Without cacheing
|
26
|
+
|
21
27
|
``` ruby
|
22
28
|
require 'tottori-opendata-catalog'
|
23
29
|
# without caching which uses a local storage (/tmp).
|
24
30
|
puts TottoriOpenDataCatalog.get(cache:false)
|
25
31
|
```
|
26
32
|
|
27
|
-
|
33
|
+
### CLI
|
28
34
|
|
29
|
-
```
|
35
|
+
```sh
|
30
36
|
$ tottori-opendata-catalog csv > catalog.csv
|
31
37
|
```
|
32
38
|
|
33
|
-
```
|
39
|
+
```sh
|
34
40
|
$ tottori-opendata-catalog json > catalog.json
|
35
41
|
```
|
36
42
|
|
@@ -38,15 +44,26 @@ $ tottori-opendata-catalog json > catalog.json
|
|
38
44
|
$ tottori-opendata-catalog json --no-cache > catalog.json
|
39
45
|
```
|
40
46
|
|
41
|
-
|
47
|
+
## Development
|
42
48
|
|
43
|
-
|
49
|
+
### Specs
|
44
50
|
|
45
51
|
```sh
|
52
|
+
$ bundle install
|
46
53
|
$ bundle exec rake spec
|
47
54
|
```
|
48
|
-
#### Updating example/example.csv
|
49
55
|
|
50
|
-
|
56
|
+
### Updating example/example.csv
|
57
|
+
|
58
|
+
```sh
|
59
|
+
$ bundle install
|
51
60
|
$ bundle exec ruby bin/tottori-opendata-catalog csv > example/example.csv
|
52
61
|
```
|
62
|
+
|
63
|
+
## Author
|
64
|
+
|
65
|
+
Masayuki Higashino
|
66
|
+
|
67
|
+
## License
|
68
|
+
|
69
|
+
The MIT License
|
data/Rakefile
CHANGED
@@ -4,14 +4,14 @@ require 'tottori-opendata-catalog'
|
|
4
4
|
require 'thor'
|
5
5
|
|
6
6
|
class CLI < Thor
|
7
|
-
option :cache,
|
7
|
+
option :cache, type: :boolean, default: true
|
8
8
|
desc 'csv', 'print a csv file'
|
9
9
|
def csv
|
10
|
-
puts TottoriOpenDataCatalog::Command.to_csv(cache:options[:cache])
|
10
|
+
puts TottoriOpenDataCatalog::Command.to_csv(cache: options[:cache])
|
11
11
|
end
|
12
12
|
desc 'json', 'print a json file'
|
13
13
|
def json
|
14
|
-
puts TottoriOpenDataCatalog::Command.to_json(cache:options[:cache])
|
14
|
+
puts TottoriOpenDataCatalog::Command.to_json(cache: options[:cache])
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
data/example/example.csv
CHANGED
@@ -2,52 +2,91 @@ category_name,resource_name,formats,department,division,tags,redistribution_allo
|
|
2
2
|
運輸・通信,鳥取県の道路現況,XLS,県土整備部,道路企画課・道路建設課,統計,true,true,鳥取県,0857-26-7351,実延長、規格改良済延長、改良率、舗装済延長、舗装率、道路種別ごとの幅員内訳、舗装内訳、歩道設置区間延長、道路部面積,"",2013,4,,,,
|
3
3
|
運輸・通信,県内市町村のブロードバンドの状況,HTML,総務部,情報政策課,統計,true,true,鳥取県,0857-26-7849,県内市町村別のブロードバンド環境の整備状況,"",2007,11,,,,
|
4
4
|
運輸・通信,港湾取扱貨物量,XLS,県土整備部,空港港湾課,統計,true,true,鳥取県,0857-26-7405,入港船舶の隻数及び総トン数、海上出入貨物量、コンテナ貨物量,"",2007,,,,,
|
5
|
+
運輸・通信,鳥取県物流実態調査,PDF,商工労働部,経済産業総室,報告書,true,true,鳥取県,0857-26-7246,運送用車輌の保有状況、輸送品目、輸送発着地、業種別、輸送・物流に関する満足度、課題・問題点、物流効率化,"",2010,1,,,,
|
6
|
+
教育・文化,小・中・高校生ボランティアサークル一覧,HTML,教育委員会事務局,社会教育課,統計,true,true,鳥取県,0857-26-7518,小・中・高校生ボランティアサークル一覧,"",2014,,,unscheduled,,不定期
|
5
7
|
教育・文化,学校便覧,PDF,教育委員会事務局,教育総務課,統計,true,true,鳥取県,0857-26-7914,鳥取県内の各学校の児童・生徒・教員数など,"",2013,,,fiscal_yearly,,毎年度
|
8
|
+
教育・文化,県内学校一覧(特別支援学校),HTML,教育委員会事務局,教育総務課,非定型,true,true,鳥取県,0857-26-7914,県内学校一覧(特別支援学校),"",2014,,,unscheduled,,不定期
|
9
|
+
教育・文化,県内学校一覧(大学等),HTML,教育委員会事務局,教育総務課,非定型,true,true,鳥取県,0857-26-7914,県内学校一覧(大学等),"",2014,,,unscheduled,,不定期
|
6
10
|
教育・文化,社会生活基本調査,XLS PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,周期報、インターネット、ボランティア活動、スポーツ活動、学習・研究、趣味・娯楽、生活時間、生活行動,"",2011,,,yearly,5,5年毎
|
11
|
+
教育・文化,県内学校一覧(高等学校),HTML,教育委員会事務局,教育総務課,非定型,true,true,鳥取県,0857-26-7914,県内学校一覧(高等学校),"",2014,,,unscheduled,,不定期
|
7
12
|
教育・文化,鳥取県の特別支援教育の現況,PDF,教育委員会事務局,特別支援教育課,非定型,true,true,鳥取県,0857-26-7574,障害のある児童生徒等の就学状況、特別支援学校の現況、特別支援学級の現況、進路状況、発達障害のある児童生徒数,"",2013,3,,,,
|
8
13
|
教育・文化,不登校児童生徒数・割合の推移,HTML,教育委員会事務局,小中学校課,統計,true,true,鳥取県,0857-26-7512,不登校児童生徒数・割合,"",2012,10,,fiscal_yearly,,毎年度
|
14
|
+
教育・文化,市町村設置公民館の職員体制,HTML,教育委員会事務局,社会教育課,統計,true,true,鳥取県,0857-26-7518,市町村設置公民館の職員体制,"",2014,4,,,,
|
15
|
+
教育・文化,社会教育・生涯学習関係大会・研修等一覧表,HTML,教育委員会事務局,社会教育課,非定型,true,true,鳥取県,0857-26-7518,社会教育・生涯学習関係大会・研修等一覧,"",2014,4,,,,
|
9
16
|
教育・文化,全国からみた鳥取県立図書館の位置,PDF,教育委員会事務局,図書館,統計,true,true,鳥取県,0857-26-8155,個人貸出数、1人あたり資料費等の数値と全国順位,利用時は出所を明示してください。,2012,,,fiscal_yearly,,毎年度
|
17
|
+
教育・文化,市町村設置公民館の開館状況,HTML,教育委員会事務局,社会教育課,統計,true,true,鳥取県,0857-26-7518,市町村設置公民館の開館状況,"",2014,4,,,,
|
18
|
+
教育・文化,県内学校一覧(中学校),HTML,教育委員会事務局,教育総務課,非定型,true,true,鳥取県,0857-26-7914,内学校一覧(中学校),"",2014,,,unscheduled,,不定期
|
19
|
+
教育・文化,県内学校一覧(小学校),HTML,教育委員会事務局,教育総務課,非定型,true,true,鳥取県,0857-26-7914,県内学校一覧(小学校),"",2014,,,unscheduled,,不定期
|
10
20
|
教育・文化,全国からみた鳥取県の公共図書館の位置,PDF,教育委員会事務局,図書館,統計,true,true,鳥取県,0857-26-8155,図書館設置率、個人貸出数等の数値と全国順位,利用時は出所を明示してください。,2012,,,fiscal_yearly,,毎年度
|
21
|
+
教育・文化,図書館リンク,HTML,教育委員会事務局,図書館,非定型,true,true,鳥取県,0857-26-8155,鳥取県内の図書館等の設置状況一覧,利用時は出所を明示してください。,2014,,,,,
|
11
22
|
教育・文化,学校基本調査,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,年度報、小学校、中学校、高等学校、児童数、教員数、生徒数、長期欠席、卒業後の進路、進学率、就職率,"",2014,,,fiscal_yearly,,毎年度
|
23
|
+
教育・文化,公共図書館設置状況,HTML,教育委員会事務局,社会教育課,統計,true,true,鳥取県,0857-26-7518,鳥取県内の図書館設置状況,"",2014,4,,,,
|
12
24
|
教育・文化,公共施設の状況,PDF,地域振興部,地域振興課,統計,true,true,鳥取県,0857-26-7056,市町村別公共施設整備状況,"",2012,,,fiscal_yearly,,毎年度
|
25
|
+
教育・文化,市町村設置公民館設置状況(一覧),HTML,教育委員会事務局,社会教育課,統計,true,true,鳥取県,0857-26-7518,鳥取県内の公民館設置状況,"",2014,4,,,,
|
13
26
|
教育・文化,学校保健統計調査,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,年報、幼児、児童、生徒、発育状況、健康状況,"",2013,,,fiscal_yearly,,毎年度
|
27
|
+
教育・文化,社会教育団体の推移,HTML,教育委員会事務局,社会教育課,統計,true,true,鳥取県,0857-26-7518,"","",2014,3,,unscheduled,,不定期
|
14
28
|
教育・文化,鳥取県立図書館利用状況,PDF,教育委員会事務局,図書館,統計,true,true,鳥取県,0857-26-8155,鳥取県立図書館の利用状況、入館者数、貸出冊数等,利用時は出所を明示してください。,2012,,,fiscal_yearly,,毎年度
|
15
29
|
教育・文化,県内の埋蔵文化財発掘調査件数推移,PDF,教育委員会事務局,埋蔵文化財センター,統計,true,true,鳥取県,0857-27-6711,昭和39年からの調査件数(毎年),"",2012,,,fiscal_yearly,,毎年度
|
16
30
|
経済,産業連関表,PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,周期報、波及効果,"",2005,,,yearly,5,5年毎
|
17
31
|
経済,市町村民経済計算,XLS PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,年度報、市町村内総生産、市町村民所得,"",2010,,,fiscal_yearly,,毎年度
|
18
32
|
経済,県民経済計算,PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,年度報、県内総生産、県民所得、県民総支出,"",2010,,,fiscal_yearly,,毎年度
|
33
|
+
経済,鳥取県内企業貿易実態調査,PDF,商工労働部,経済産業総室,報告書,true,true,鳥取県,0857-26-7660,貿易の現況、国際的な事業展開・海外進出、公的支援,"",2010,10,,,,
|
19
34
|
経済,鳥取県企業経営者見通し調査,XLS PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,四半期報、景気見通し、BSI,"",2014,8,,monthly,3,3ヶ月毎
|
20
35
|
経済,鳥取県の経済動向,XLS PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,月報、景気の基調判断、CI、DI,"",2014,9,,monthly,,毎月
|
36
|
+
警察・消防・防災,月別救急・救助出動件数,PDF,危機管理局,消防防災課,統計,true,true,鳥取県,0857-26-7062,月別の救急・救助の出動件数、出動人員等,"",2014,,,monthly,,毎月
|
37
|
+
警察・消防・防災,防災情報(計測機器(積雪観測局),CSV,県土整備部,道路企画課,位置,true,true,鳥取県,0857-26-7351,積雪観測局,とっとりWEBマップに掲載されている位置情報をCSV形式で出力したものを掲載しています,2014,9,,unscheduled,,不定期
|
38
|
+
警察・消防・防災,消防防災年報,PDF,危機管理局,消防防災課,統計,true,true,鳥取県,0857-26-7062,火災、救急救助、消防体制、保安、災害、防災の年間統計,"",2012,,,yearly,,毎年
|
39
|
+
警察・消防・防災,不審者・声かけ情報,CSV,警察本部,生活安全企画課,位置,true,true,鳥取県,0857-23-0110,とっとりWEBマップ(不審者・声かけ情報),とっとりWEBマップに掲載されている位置情報をCSV形式で出力したものを掲載しています,2014,9,,unscheduled,,不定期
|
40
|
+
警察・消防・防災,交通事故情報,CSV,警察本部,交通企画課,位置,true,true,鳥取県,0857-23-0110,交通事故情報,とっとりWEBマップに掲載されている位置情報をCSV形式で出力したものを掲載しています,2014,9,,unscheduled,,不定期
|
41
|
+
警察・消防・防災,月別火災発生件数,PDF,危機管理局,消防防災課,統計,true,true,鳥取県,0857-26-7062,月別の建物、林野等の火災の発生件数、死者、負傷者の人数等,"",2014,,,monthly,,毎月
|
42
|
+
警察・消防・防災,交通事故発生状況,PDF,警察本部,交通企画課,統計,true,true,鳥取県,0857-23-0110,状態別・市町村別・警察署別発生状況、年齢別・市町村別・警察署別発生状況、道路別・時間別・曜日別・昼夜別発生状況,"",2013,,,yearly,,毎年
|
43
|
+
警察・消防・防災,防災情報(避難所・一時避難所),LINKED-RDF CSV,危機管理局,危機管理政策課,位置,true,true,鳥取県,0857-26-7064,避難所、一時避難所情報,とっとりWEBマップに掲載されている位置情報をCSV形式で出力したものを掲載しています。また、試験的にjig.jp社のオープンデータプラットフォームにてLinked-RDF形式での提供を行っています。,2014,9,,unscheduled,,不定期
|
44
|
+
警察・消防・防災,土砂災害警戒区域情報,シェープ,県土整備部,治山砂防課,位置,true,true,鳥取県,0857-26-7822,とっとりWEBマップで掲載されている土砂災害警戒区域情報を出力したものです。なお、基礎調査結果は指定前のものになります。,関連ファイルをzip形式で圧縮していますので、解凍のうえ、お使いください。,2015,11,,,,
|
45
|
+
警察・消防・防災,防災情報(計測機器情報(雨量計、水位観測局、河川監視カメラ)),CSV,県土整備部,河川課,位置,true,true,鳥取県,0857-26-7386,雨量計、水位観測局、河川監視カメラ,とっとりWEBマップに掲載されている位置情報をCSV形式で出力したものを掲載しています,2014,,,,,
|
21
46
|
健康・保健・社会保障,県民歯科疾患実態調査,PDF,福祉保健部,健康政策課,報告書,true,true,鳥取県,0857-26-7227,県民の歯科保健の状況、むし歯の罹患状況、歯肉・歯石の沈着状況、歯磨きの状況,"",2010,,,yearly,5,5年毎
|
22
47
|
健康・保健・社会保障,感染症情報,PDF,生活環境部,衛生環境研究所,統計,true,true,鳥取県,0858-35-5411,週報、月報、年報、地区別、感染症流行情報、感染症発生動向,"",2014,9,,weekly,,毎週
|
48
|
+
健康・保健・社会保障,医療機関情報,CSV,福祉保健部,医療政策課,位置,true,true,鳥取県,0857-26-7173,とっとりWEBマップ(医療機関一覧),"",2014,9,,unscheduled,,不定期
|
23
49
|
健康・保健・社会保障,県民健康栄養調査,PDF,福祉保健部,健康政策課,報告書,true,true,鳥取県,0857-26-7227,県民の栄養の摂取状況、身体状況、健康づくりについての意識調査、県民の食習慣、運動習慣、生活習慣,"",2011,10,,,,
|
24
|
-
|
50
|
+
県政,とっとり県政だより,PDF HTML,元気づくり総本部,広報課,非定型,true,true,鳥取県,0857-26-7840,とっとり県政だより おしらせ,とっとり県政だよりのうち「おしらせ」ページの文字、文章、表をオープンデータの対象とし、写真、イラスト、図は対象外とします。,,,,,,
|
51
|
+
県政,監査調書,HTML,元気づくり総本部,県民課,非定型,true,true,鳥取県,0857-26-7752,監査調書の公開,"",2013,,,fiscal_yearly,,毎年度
|
52
|
+
県政,交際費執行状況,HTML,総務部,財政課,非定型,true,true,鳥取県,0857-26-7046,交際費の執行状況,"",2014,6,,monthly,3,3ヶ月毎
|
25
53
|
県政,議員提出議案,HTML,議会,議会事務局,非定型,true,true,鳥取県,0857-26-7460,議員提出議案を一覧表,"",2013,,,yearly,,毎年
|
26
54
|
県政,議員の派遣状況,PDF,議会,議会事務局,非定型,true,true,鳥取県,0857-26-7460,議員の派遣状況、報告書等,"",2013,,,fiscal_yearly,,毎年度
|
55
|
+
県政,県議会の県政への提案事項,HTML,総務部,財政課,非定型,true,true,鳥取県,0857-26-7043,県議会の県政への提案事項に対する対応状況,"",2014,,,as_needed,,随時
|
27
56
|
県政,職員の民間企業等への再就職状況,PDF,総務部,人事企画課,統計,true,true,鳥取県,0857-26-7032,鳥取県(知事部局)を退職した職員の再就職状況,"",2014,,,fiscal_yearly,,毎年度
|
28
57
|
県政,指定管理者制度導入施設の管理状況等,PDF,総務部,業務効率推進課,非定型,true,true,鳥取県,0857-26-7544,事業計画、事業報告等,"",2014,,,as_needed,,随時
|
29
|
-
|
30
|
-
|
58
|
+
県政,要望事項と対応方針,PDF,総務部,財政課,非定型,true,true,鳥取県,0857-26-7043,県議会各会派からの提言、要望事項等についての対応状況,"",2014,9,,budgeting,,予算編成時
|
59
|
+
県政,審議会情報,HTML,元気づくり総本部,県民課,非定型,true,true,鳥取県,0857-26-7752,町内に設置している審議会情報,"",2013,,,as_needed,,随時
|
60
|
+
県政,鳥取県の補助金,HTML,総務部,財政課,非定型,true,true,鳥取県,0857-26-7043,県が予定している補助事業を掲載,"",2014,,,fiscal_yearly,,毎年度
|
61
|
+
県政,一定の公職者からの提言等,HTML,元気づくり総本部,県民課,非定型,true,false,鳥取県,0857-26-7752,一定の公職者からの提言等,"",2013,,,fiscal_yearly,,毎年度
|
62
|
+
県政,予算編成過程,HTML,総務部,財政課,非定型,true,true,鳥取県,0857-26-7043,予算編成過程について公開,"",2014,,,fiscal_yearly,,毎年度
|
31
63
|
県政,政務活動費収支報告書,PDF,議会,議会事務局,報告書,true,true,鳥取県,0857-26-7460,政務活動費(政務調査費)の使途,"",2013,,,fiscal_yearly,,毎年度
|
32
64
|
県政,職員名簿,HTML,総務部,人事企画課,非定型,true,true,鳥取県,0857-26-7032,職員名簿、所属部局、連絡先等,"",2014,,,as_needed,,随時
|
65
|
+
県政,請願・陳情,HTML,総務部,財政課,非定型,true,true,鳥取県,0857-26-7043,請願・陳情に対する対応状況,"",2014,,,as_needed,,随時
|
66
|
+
県政,公共事業情報,CSV,総務部,財政課,位置,true,true,鳥取県,0857-26-7043,公共事業情報一覧(河川・海岸、空港・港湾・漁港・漁場、公営住宅、農業集落排水、治山・砂防、道路・農道、農林),とっとりWEBマップに掲載されている位置情報をCSV形式で出力したものを掲載しています,2014,9,,unscheduled,,不定期
|
33
67
|
県政,委員会会議録等,HTML,議会,議会事務局,非定型,true,true,鳥取県,0857-26-7460,県議会各種委員会会議録等,"",2013,,,fiscal_yearly,,毎年度
|
34
68
|
公務員・選挙,鳥取県の人事行政の運営等の状況の公表,PDF,総務部,人事企画課,統計,true,true,鳥取県,0857-26-7032,人件費、初任給基準、平均給料・平均給与月額、ラスパイレス指数、諸手当の支給基準・支給実績、特別職の給与の基準・支給実績、県職員採用試験状況,"",2013,,,fiscal_yearly,,毎年度
|
35
69
|
公務員・選挙,市町村別給与・職員の情報,PDF HTML,地域振興部,地域振興課,統計,true,true,鳥取県,0857-26-7056,市町村別の給与、職員数、ラスパイレス指数,"",2013,,,fiscal_yearly,,毎年度
|
36
70
|
公務員・選挙,選挙結果,PDF,各種委員会,選挙管理委員会,統計,true,true,鳥取県,0857-26-7058,平成12年以降に執行された国政選挙、地方選挙の選挙結果,"",2012,12,,unscheduled,,不定期
|
71
|
+
公務員・選挙,人事委員会勧告,PDF,各種委員会,人事委員会事務局,統計,true,true,鳥取県,0857-26-7553,適用給料表別人員、平均年齢、平均経験年数、平均給与月額等,"",2013,,,fiscal_yearly,,毎年度
|
37
72
|
公務員・選挙,選挙人名簿登録者数,PDF,各種委員会,選挙管理委員会,統計,true,true,鳥取県,0857-26-7058,選挙人名簿登録者数、衆議院議員選挙区別登録者数、在外選挙人名簿登録者数,"",2014,9,,monthly,3,3ヶ月毎
|
38
73
|
公務員・選挙,政治団体収支報告書の概要,PDF,各種委員会,選挙管理委員会,統計,true,true,鳥取県,0857-26-7058,収支報告書の提出団体数、収入支出額等,"",2012,,,yearly,,毎年
|
39
74
|
公務員・選挙,鳥取県職員数の状況,PDF,総務部,業務効率推進課,統計,true,true,鳥取県,0857-26-7612,部門別職員数の状況,"",2014,,,fiscal_yearly,,毎年度
|
40
|
-
|
75
|
+
鉱工業・建設業,鳥取県鉱工業指数,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,月報、年報、長期時系列、鉱工業指数、生産、出荷、在庫等,"",2014,7,,monthly,,毎月
|
41
76
|
鉱工業・建設業,工業統計調査,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,年報、事業所数、従業者数、製造品出荷額、付加価値額等,"",2012,,,yearly,,毎年
|
77
|
+
鉱工業・建設業,住宅着工統計,PDF,生活環境部,住まいまちづくり課,統計,true,true,鳥取県,0857-26-7397,毎月の住宅着工数,"",2014,7,,fiscal_yearly,,毎年度
|
78
|
+
財政,鳥取県の資産と負債の状況,PDF,総務部,財政課,統計,true,true,鳥取県,0857-26-7043,普通会計公営企業会計の決算状況をもとにしたバランスシート,"",2012,,,fiscal_yearly,,毎年度
|
42
79
|
財政,普通会計決算(市町村分),PDF,地域振興部,地域振興課,統計,true,true,鳥取県,0857-26-7056,市町村別普通会計歳入歳出決算額、財政指標(経常収支比率、起債制限比率、公債費負担比率)、地方債現在高、債務負担行為額、積立金現在高、標準財政規模,"",2012,,,fiscal_yearly,,毎年度
|
43
80
|
財政,普通交付税(市町村分),PDF,地域振興部,地域振興課,統計,true,true,鳥取県,0857-26-7056,市町村別普通交付税交付額、臨時財政対策債発行可能額,"",2014,,,fiscal_yearly,,毎年度
|
44
81
|
財政,普通会計当初予算(市町村分),PDF,地域振興部,地域振興課,統計,true,true,鳥取県,0857-26-7056,市町村別当初予算(普通会計)における歳入歳出予算額,"",2014,,,fiscal_yearly,,毎年度
|
82
|
+
財政,財政公表(鳥取県),PDF,総務部,財政課,統計,true,true,鳥取県,0857-26-7043,財政状況を毎年5月と11月に公表,"",2014,5,,monthly,6,6ヶ月毎
|
45
83
|
財政,公営企業会計決算(市町村分),PDF,地域振興部,地域振興課,統計,true,true,鳥取県,0857-26-7056,地方公営企業会計決算(収益的収支、資本的収支),"",2013,,,fiscal_yearly,,毎年度
|
46
84
|
財政,特別交付税(市町村分),PDF,地域振興部,地域振興課,統計,true,true,鳥取県,0857-26-7056,市町村別特別交付税交付額,"",2013,,,fiscal_yearly,,毎年度
|
47
85
|
事業所・労働,経済センサス,PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,事業所数、従業者数、産業別、事業所規模別、市町村別,"",2012,,,yearly,3,3年毎
|
48
86
|
事業所・労働,就業構造基本調査,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,就業状態、就業数、就業率等,"",2012,,,yearly,5,5年毎
|
49
87
|
事業所・労働,事業所・企業統計調査,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,事業所数、従業者数、産業別、事業所規模別、市町村別,"",2006,,,yearly,,毎年
|
50
88
|
事業所・労働,毎月勤労統計調査,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,月報、年報、現金給与総額、総実労働時間等 長期時系列,"",2013,6,,monthly,,毎月
|
89
|
+
事業所・労働,鳥取県収入証紙の販売所,CSV,会計管理者,会計指導課,位置,true,true,鳥取県,0857-26-7437,鳥取県収入証紙の販売所一覧(26.3.26時点),とっとりWEBマップに掲載されている位置情報をCSV形式で出力したものを掲載しています,2014,3,,unscheduled,,不定期
|
51
90
|
住宅・家計・物価,小売物価統計調査(消費者物価指数),PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,年度報、年報、月報、消費者物価指数,"",2014,8,,monthly,,毎月
|
52
91
|
住宅・家計・物価,全国消費実態調査,HTML,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,主要耐久消費財の所有状況,"",2009,,,yearly,5,5年毎
|
53
92
|
住宅・家計・物価,家計調査,XLS HTML,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,年報、品目別消費支出、可処分所得、ランキング,"",2013,,,yearly,,毎年
|
@@ -57,12 +96,20 @@ category_name,resource_name,formats,department,division,tags,redistribution_allo
|
|
57
96
|
人口・世帯,鳥取県人口移動調査,PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,月報、年報、市町村別推計人口、推計人口、推計世帯数、出生数、死亡数、自然増加、社会増加、転入数、転出数等,"",2014,9,,monthly,,毎月
|
58
97
|
人口・世帯,国勢調査,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,人口、年齢構成別人口、年少人口、生産年齢人口、老年人口、有配偶率、核家族世帯、持ち家、民営の借家、町丁字等別人口及び世帯、長期時系列等,"",2010,,,yearly,5,5年毎
|
59
98
|
人口・世帯,鳥取県年齢別推計人口,PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,年報、人口、市町村別、老年人口、生産年齢人口、年少人口、従属人口指数、老年化指数等,"",2013,10,,yearly,,毎年
|
99
|
+
生活環境・リサイクル,一般廃棄物処理実態調査結果,PDF,生活環境部,循環型社会推進課,統計,true,true,鳥取県,0857-26-7198,一般廃棄物、実態調査,"",2011,,,fiscal_yearly,,毎年度
|
100
|
+
生活環境・リサイクル,産業廃棄物実態調査結果,PDF,生活環境部,循環型社会推進課,統計,true,true,鳥取県,0857-26-7681,産業廃棄物、実態調査,"",2011,,,fiscal_yearly,,毎年度
|
101
|
+
生活環境・リサイクル,大気環境の状況,PDF HTML,生活環境部,水・大気環境課,報告書,true,true,鳥取県,0857-26-7206,大気汚染調査結果について(毎年),"",2012,,,fiscal_yearly,,毎年度
|
102
|
+
生活環境・リサイクル,とっとり次世代エネルギーパーク情報,CSV,生活環境部,環境立県推進課,位置,true,true,鳥取県,0857-26-7895,とっとり次世代エネルギーパーク一覧(太陽光発電所。水力発電所、バイオマス施設、風力発電所、雪氷熱利用施設等),とっとりWEBマップに掲載されている位置情報をCSV形式で出力したものを掲載しています,2014,9,,unscheduled,,不定期
|
60
103
|
総合統計,統計でみた鳥取県,XLS HTML,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,複合統計、順位、時系列,"",2014,,,yearly,,毎年
|
61
104
|
総合統計,鳥取県勢要覧,PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,複合統計、都道府県別、市町村別、順位,"",2014,,,yearly,,毎年
|
62
105
|
総合統計,統計月報,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,月報、複合統計、時系列,"",2011,3,,monthly,,毎月
|
63
106
|
総合統計,鳥取県統計年鑑,XLS PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,複合統計、時系列,"",2013,,,yearly,,毎年
|
64
|
-
総合統計,100の指標からみた鳥取県,PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,複合統計、都道府県別、市町村別、ランキング、順位,"",2013,,,yearly,,毎年
|
107
|
+
総合統計,100の指標からみた鳥取県,CSV PDF,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,複合統計、都道府県別、市町村別、ランキング、順位,"",2013,,,yearly,,毎年
|
108
|
+
電気・ガス・水道,鳥取県の水道の現況,PDF,生活環境部,水・大気環境課,統計,true,true,鳥取県,0857-26-7400,水道普及率、水道等種別給水人口、規模別施設数、管種別布設状況、施設数の推移、簡易水道施設整備状況、水道料金の現況、取水状況、市町村別水道普及状況、上水道事業の管種別布設状況と経年管状況、上水道実績一覧、上水道取水・給水の内訳、水道用水供給事業一覧、簡易水道実績一覧、簡易水道取水・給水等の内訳、専用水道の状況、飲料水供給施設の状況,専用水道に関わるデータについては、別途事業主体の団体等から利用許可を得てください。,2013,,,fiscal_yearly,,毎年度
|
109
|
+
土地・気象,鳥取県のダムの概要,HTML,県土整備部,河川課,報告書,true,true,鳥取県,0857-26-7379,ダム諸元,"",,,,,,
|
110
|
+
土地・気象,鳥取県の海岸の概要,HTML,県土整備部,河川課,非定型,true,true,鳥取県,0857-26-7379,海岸延長、海岸保全区域延長,"",,,,,,
|
65
111
|
土地・気象,鳥取県のボーリングデータ情報,XML,県土整備部,技術企画課,位置,true,true,鳥取県,0857-26-7499,鳥取県県土整備部が実施したボーリングをデータを提供しています。,(独)防災科学技術研究所のポータルサイト「ジオ・ステーション(Geo-Station)」にて公開している関係上、鳥取県の地盤情報について、原則自由利用できますが、「ジオ・ステーション(Geo-Station)利用規約」、「鳥取県地盤情報利用規約」によるものとし、「鳥取県オープンデータカタログ(試行版)利用規約」より優先するものとします。,,,,,,
|
112
|
+
土地・気象,鳥取県の河川の概要,PDF,県土整備部,河川課,非定型,true,true,鳥取県,0857-26-7374,水系数、河川数、延長,"",2004,4,,,,
|
66
113
|
農林水産業,まき網漁業と小型いかつり漁業の漁獲量,PDF,農林水産部,水産試験場,統計,true,true,鳥取県,0859-45-4500,アジ・サバ・イワシ類・ブリ類、スルメイカの漁獲量,"",2014,9,,yearly,,毎年
|
67
114
|
農林水産業,境漁港のベニズワイガニの漁獲量・漁獲金額,XLS,農林水産部,水産試験場,統計,true,true,鳥取県,0859-45-4500,境漁港のベニズワイの漁獲量と金額,"",2013,,,yearly,,毎年
|
68
115
|
農林水産業,ズワイガニの水揚げ状況,PDF,農林水産部,水産課,統計,true,true,鳥取県,0857-26-7313,漁獲状況、出漁隻数、漁獲量・金額の推移,"",2013,,,yearly,,毎年
|
@@ -73,8 +120,13 @@ category_name,resource_name,formats,department,division,tags,redistribution_allo
|
|
73
120
|
農林水産業,境港の年別まき網水揚量,HTML,農林水産部,水産試験場,統計,true,true,鳥取県,0859-45-4500,アジ・サバ・イワシ類・ブリ類の年別漁獲量,"",2013,,,yearly,,毎年
|
74
121
|
農林水産業,ハタハタの漁獲量・漁獲金額,XLS,農林水産部,水産試験場,統計,true,true,鳥取県,0859-45-4500,鳥取県のハタハタの漁獲量と金額,"",2010,,,monthly,,毎月
|
75
122
|
農林水産業,農林業センサス,XLS,地域振興部,統計課,統計,true,true,鳥取県,0857-26-7104,農家数、農家人口、総林家数等,"",2010,,,yearly,5,5年毎
|
76
|
-
|
123
|
+
その他,オープンデータカタログ一覧,CSV,総務部,情報政策課,非定型,true,true,鳥取県,0857-26-7613,鳥取県オープンデータカタログサイトに掲載されているデータ一覧,2014.12.18時点,2015,2,,,,
|
124
|
+
その他,鳥取県少子化対策等に関するアンケート,PDF,福祉保健部,子育て応援課,統計,true,true,鳥取県,0857-26-7148,理想的な子どもの数、子育ての負担感、子育ての環境、仕事と子育てとの両立、少子化の理由,"",2013,,,yearly,3,3年毎
|
125
|
+
その他,公共施設情報(官公庁情報),LINKED-RDF CSV,総務部,情報政策課,位置,true,true,鳥取県,0857-26-7614,公共施設情報(官公庁情報)一覧,とっとりWEBマップに掲載されている位置情報をCSV形式で出力したものを掲載しています。また、試験的にjig.jp社のオープンデータプラットフォームにてLinked-RDF形式での提供を行っています。,2014,9,,unscheduled,,不定期
|
126
|
+
その他,鳥取県人権意識調査,PDF,総務部,人権・同和対策課,報告書,true,true,鳥取県,0857-26-7590,人権、部落差別・結婚問題、女性の人権、障害者の人権、子どもの人権、高齢者の人権、外国人の人権、個人のプライバシー、病気にかかわる人の人権,"",2005,2,,,,
|
77
127
|
その他,鳥取県男女共同参画意識調査,PDF,地域振興部,男女共同参画推進課,統計,true,true,鳥取県,0857-26-7075,男女の平等感、性別役割分担意識、家事分担状況等、男女共同参画に関する県民のかたの意識,"",2011,,,yearly,5,5年毎
|
78
128
|
その他,鳥取県青少年育成意識調査,PDF,福祉保健部,青少年・家庭課,報告書,true,true,鳥取県,0857-26-7687,青少年の人間関係や非行などへの考え方や実態、家庭・学校・地域に対する青少年の考え方,"",2006,11,,,,
|
129
|
+
その他,山間集落実態調査,PDF,地域振興部,とっとり暮らし支援課,統計,true,true,鳥取県,0857-26-7129,山間集落の人口、世帯、高齢化率、定住の意向、災害時の不安、防犯対策への不安、日常生活の状況,"",2010,10,,,,
|
130
|
+
その他,県有施設情報,CSV,総務部,財源確保推進課,位置,true,true,鳥取県,0857-26-7016,とっとりWEBマップ(県有施設一覧),"",2014,9,,unscheduled,,不定期
|
79
131
|
その他,携帯電話フィルタリングサービス実態調査,PDF,福祉保健部,青少年・家庭課,報告書,true,true,鳥取県,0857-26-7687,利用者への確認状況、フィルタリングサービスの説明・勧奨、加入状況,"",2009,3,,,,
|
80
132
|
その他,鳥取県男女共同参画マップ,PDF,地域振興部,男女共同参画推進課,統計,true,true,鳥取県,0857-26-7075,マップ、男女共同参画、県内の取組状況、推進体制、議会議員、審議会委員、役員,"",2014,,,fiscal_yearly,,毎年度
|
@@ -5,9 +5,7 @@ require 'tottori-opendata-catalog/proxy'
|
|
5
5
|
require 'tottori-opendata-catalog/command'
|
6
6
|
|
7
7
|
module TottoriOpenDataCatalog
|
8
|
-
|
9
8
|
def self.get(cache:true)
|
10
|
-
TottoriOpenDataCatalog::Proxy.get(cache:cache)
|
9
|
+
TottoriOpenDataCatalog::Proxy.get(cache: cache)
|
11
10
|
end
|
12
|
-
|
13
11
|
end
|
@@ -1,28 +1,25 @@
|
|
1
1
|
require 'tottori-opendata-catalog/proxy'
|
2
2
|
|
3
3
|
module TottoriOpenDataCatalog
|
4
|
-
|
5
4
|
module Command
|
6
|
-
|
7
5
|
class << self
|
8
|
-
|
9
6
|
def to_json(cache:true)
|
10
7
|
require 'json'
|
11
|
-
JSON.pretty_generate(TottoriOpenDataCatalog::Proxy.get(cache:cache))
|
8
|
+
JSON.pretty_generate(TottoriOpenDataCatalog::Proxy.get(cache: cache))
|
12
9
|
end
|
13
10
|
|
14
11
|
def to_csv(cache:true)
|
15
12
|
require 'csv'
|
16
13
|
CSV(csv = '') do |line|
|
17
|
-
data = TottoriOpenDataCatalog::Proxy.get(cache:cache)
|
18
|
-
line << %w
|
14
|
+
data = TottoriOpenDataCatalog::Proxy.get(cache: cache)
|
15
|
+
line << %w(
|
19
16
|
category_name
|
20
17
|
resource_name formats department division tags
|
21
18
|
redistribution_allowed commercial_use_allowed
|
22
19
|
provider tel description comment
|
23
20
|
year month day
|
24
21
|
repeat_rule_frequency repeat_rule_interval repeat_rule_description
|
25
|
-
|
22
|
+
)
|
26
23
|
data[:categories].each do |category|
|
27
24
|
category[:resources].each do |resource|
|
28
25
|
row = []
|
@@ -48,10 +45,8 @@ module TottoriOpenDataCatalog
|
|
48
45
|
end
|
49
46
|
end
|
50
47
|
end
|
51
|
-
|
48
|
+
csv
|
52
49
|
end
|
53
50
|
end
|
54
|
-
|
55
51
|
end
|
56
|
-
|
57
52
|
end
|
@@ -3,11 +3,8 @@ require 'digest/sha1'
|
|
3
3
|
require 'tmpdir'
|
4
4
|
|
5
5
|
module TottoriOpenDataCatalog
|
6
|
-
|
7
6
|
module Net
|
8
|
-
|
9
7
|
class << self
|
10
|
-
|
11
8
|
def get(url, cache:true)
|
12
9
|
return open(url, &:read) unless cache
|
13
10
|
path = File.join(Dir.tmpdir, Digest::SHA1.hexdigest(url))
|
@@ -15,18 +12,15 @@ module TottoriOpenDataCatalog
|
|
15
12
|
if @memo.include?(path)
|
16
13
|
@memo[path]
|
17
14
|
else
|
18
|
-
if File.
|
15
|
+
if File.exist?(path)
|
19
16
|
@memo[path] ||= open(path, &:read)
|
20
17
|
else
|
21
18
|
content = open(url, &:read)
|
22
|
-
open(path, 'w'){ |io| io.write(content) }
|
19
|
+
open(path, 'w') { |io| io.write(content) }
|
23
20
|
@memo[path] ||= content
|
24
21
|
end
|
25
22
|
end
|
26
23
|
end
|
27
|
-
|
28
24
|
end
|
29
|
-
|
30
25
|
end
|
31
|
-
|
32
26
|
end
|
@@ -1,138 +1,133 @@
|
|
1
1
|
require 'nokogiri'
|
2
2
|
|
3
3
|
module TottoriOpenDataCatalog
|
4
|
-
|
5
4
|
module Parser
|
6
|
-
|
7
5
|
class << self
|
8
|
-
|
9
|
-
|
10
|
-
doc = Nokogiri::HTML(string, nil, 'Shift_JIS')
|
6
|
+
def parse_index(html)
|
7
|
+
doc = Nokogiri::HTML(html, nil, 'Shift_JIS')
|
11
8
|
# collect
|
12
9
|
name = doc.xpath('//title').text.strip
|
13
10
|
anchors = doc.xpath('//a')
|
14
|
-
categories = anchors.select{ |a|
|
11
|
+
categories = anchors.select { |a|
|
15
12
|
a[:href].include?('forweb_bunrui')
|
16
|
-
}.map{ |a|
|
17
|
-
{name:a.text.strip, link:a[:href].strip}
|
13
|
+
}.map { |a|
|
14
|
+
{ name: a.text.strip, link: a[:href].strip }
|
18
15
|
}
|
19
16
|
items = {
|
20
|
-
name:name,
|
21
|
-
categories:categories
|
17
|
+
name: name,
|
18
|
+
categories: categories
|
22
19
|
}
|
23
|
-
|
20
|
+
items
|
24
21
|
end
|
25
22
|
|
26
|
-
def parse_list(
|
27
|
-
doc = Nokogiri::HTML(
|
23
|
+
def parse_list(html)
|
24
|
+
doc = Nokogiri::HTML(html, nil, 'Shift_JIS')
|
28
25
|
# collect
|
29
|
-
items = doc.xpath('//table[@id="contentslist"]/tr[position() > 1]').map
|
26
|
+
items = doc.xpath('//table[@id="contentslist"]/tr[position() > 1]').map do |tr|
|
30
27
|
tds = tr.children
|
31
|
-
|
32
|
-
name:tds[0].text.strip,
|
33
|
-
link:tds[0].children[0][:href],
|
34
|
-
formats:tds[1].text.strip,
|
35
|
-
url:tds[2].children[0][:href],
|
36
|
-
department:tds[3].text.strip,
|
37
|
-
division:tds[4].text.strip
|
28
|
+
{
|
29
|
+
name: tds[0].text.strip,
|
30
|
+
link: tds[0].children[0][:href],
|
31
|
+
formats: tds[1].text.strip,
|
32
|
+
url: tds[2].children[0][:href],
|
33
|
+
department: tds[3].text.strip,
|
34
|
+
division: tds[4].text.strip
|
38
35
|
}
|
39
|
-
|
36
|
+
end
|
40
37
|
# trim
|
41
|
-
items.each
|
38
|
+
items.each do |item|
|
42
39
|
if item[:formats]
|
43
40
|
item[:formats].upcase!
|
44
41
|
item[:formats] = item[:formats].split
|
45
42
|
end
|
46
|
-
|
47
|
-
|
48
|
-
target = items.select{ |item|
|
49
|
-
item[:link] == 'list1_forweb/10EE759AAD20B54749257C68000A2845?OpenDocument'
|
50
|
-
}.first
|
51
|
-
target[:formats] = ['PDF'] if target
|
52
|
-
return items
|
43
|
+
end
|
44
|
+
items
|
53
45
|
end
|
54
46
|
|
55
47
|
def parse_record(string)
|
56
48
|
doc = Nokogiri::HTML(string, nil, 'Shift_JIS')
|
57
49
|
# collect
|
58
|
-
item = doc.xpath('//form/div[@id="all"]').children.map
|
50
|
+
item = doc.xpath('//form/div[@id="all"]').children.map do |e|
|
59
51
|
case e.text.strip
|
60
52
|
when /データ年次.*?:(.*)$/
|
61
|
-
{updated_at
|
53
|
+
{ updated_at: Regexp.last_match(1).strip }
|
62
54
|
when /情報.*?:(.*)/
|
63
|
-
{tags
|
55
|
+
{ tags: Regexp.last_match(1).strip }
|
64
56
|
when /再配布可否.*?:(.*)$/
|
65
|
-
{redistribution_allowed
|
57
|
+
{ redistribution_allowed: Regexp.last_match(1).strip }
|
66
58
|
when /商用利用可否.*?:(.*)$/
|
67
|
-
{commercial_use_allowed
|
59
|
+
{ commercial_use_allowed: Regexp.last_match(1).strip }
|
68
60
|
when /テータ提供.*?:(.*)$/
|
69
|
-
{provider
|
61
|
+
{ provider: Regexp.last_match(1).strip }
|
70
62
|
when /問い合わせ先電話番号.*?:(.*)$/
|
71
|
-
{tel
|
63
|
+
{ tel: Regexp.last_match(1).strip }
|
72
64
|
when /内容.*?:(.*)$/
|
73
|
-
{description
|
65
|
+
{ description: Regexp.last_match(1).strip }
|
74
66
|
when /コメント.*?:(.*)$/
|
75
|
-
{comment
|
67
|
+
{ comment: Regexp.last_match(1).strip }
|
76
68
|
end
|
77
|
-
|
69
|
+
end.compact.inject(&:merge)
|
78
70
|
# trim
|
79
71
|
if item[:redistribution_allowed] == '○'
|
80
72
|
item[:redistribution_allowed] = true
|
81
73
|
end
|
74
|
+
if item[:redistribution_allowed] == '×'
|
75
|
+
item[:redistribution_allowed] = false
|
76
|
+
end
|
82
77
|
if item[:commercial_use_allowed] == '○'
|
83
78
|
item[:commercial_use_allowed] = true
|
84
79
|
end
|
80
|
+
if item[:commercial_use_allowed] == '×'
|
81
|
+
item[:commercial_use_allowed] = false
|
82
|
+
end
|
85
83
|
updated_at = item.delete(:updated_at)
|
86
84
|
if updated_at
|
87
|
-
updated_at.
|
85
|
+
updated_at.tr!(' ', ' ')
|
88
86
|
updated_at.tr!('0-9', '0-9')
|
89
87
|
end
|
90
|
-
|
88
|
+
unless updated_at.delete(' ').empty?
|
91
89
|
date, repeat_rule_description = updated_at.split
|
92
90
|
year, month, day = date.split('.')
|
93
91
|
end
|
94
|
-
item[:year] = (year
|
92
|
+
item[:year] = (year ? year.to_i : nil)
|
95
93
|
item[:month] = (month ? month.to_i : nil)
|
96
|
-
item[:day] = (day
|
94
|
+
item[:day] = (day ? day.to_i : nil)
|
97
95
|
item[:repeat_rule] = {}
|
98
96
|
item[:repeat_rule].merge!(
|
99
97
|
case repeat_rule_description
|
100
98
|
when /毎年度/
|
101
|
-
{frequency:'fiscal_yearly', interval:nil}
|
99
|
+
{ frequency: 'fiscal_yearly', interval: nil }
|
102
100
|
when /毎年/
|
103
|
-
{frequency:'yearly', interval:nil}
|
101
|
+
{ frequency: 'yearly', interval: nil }
|
104
102
|
when /毎月/
|
105
|
-
{frequency:'monthly', interval:nil}
|
103
|
+
{ frequency: 'monthly', interval: nil }
|
106
104
|
when /毎週/
|
107
|
-
{frequency:'weekly', interval:nil}
|
105
|
+
{ frequency: 'weekly', interval: nil }
|
108
106
|
when /(\d)年度毎/
|
109
|
-
{frequency:'fiscal_yearly', interval
|
107
|
+
{ frequency: 'fiscal_yearly', interval: Regexp.last_match(1).to_i }
|
110
108
|
when /(\d)年毎/
|
111
|
-
{frequency:'yearly', interval
|
109
|
+
{ frequency: 'yearly', interval: Regexp.last_match(1).to_i }
|
112
110
|
when /(\d)月毎/, /(\d)ヶ月毎/
|
113
|
-
{frequency:'monthly', interval
|
111
|
+
{ frequency: 'monthly', interval: Regexp.last_match(1).to_i }
|
114
112
|
when /(\d)週毎/
|
115
|
-
{frequency:'weekly', interval
|
113
|
+
{ frequency: 'weekly', interval: Regexp.last_match(1).to_i }
|
116
114
|
when /随時/
|
117
|
-
{frequency:'as_needed', interval:nil}
|
115
|
+
{ frequency: 'as_needed', interval: nil }
|
118
116
|
when /不定期/
|
119
|
-
{frequency:'unscheduled', interval:nil}
|
117
|
+
{ frequency: 'unscheduled', interval: nil }
|
118
|
+
when /予算編成時/
|
119
|
+
{ frequency: 'budgeting', interval: nil }
|
120
120
|
else
|
121
|
-
{frequency:nil, interval:nil}
|
122
|
-
|
123
|
-
item[:repeat_rule].merge!(description:repeat_rule_description)
|
121
|
+
{ frequency: nil, interval: nil }
|
122
|
+
end)
|
123
|
+
item[:repeat_rule].merge!(description: repeat_rule_description)
|
124
124
|
# 繰り返しルールの説明が有るのに周期が無い場合は例外をスロー
|
125
125
|
if !item[:repeat_rule][:description].nil? && item[:repeat_rule][:frequency].nil?
|
126
|
-
|
127
|
-
end
|
128
|
-
if item.include?(:tags)
|
129
|
-
item[:tags] = item[:tags].split
|
126
|
+
fail
|
130
127
|
end
|
131
|
-
|
128
|
+
item[:tags] = item[:tags].split if item.include?(:tags)
|
129
|
+
item
|
132
130
|
end
|
133
|
-
|
134
131
|
end
|
135
|
-
|
136
132
|
end
|
137
|
-
|
138
133
|
end
|
@@ -1,28 +1,20 @@
|
|
1
|
-
|
2
1
|
module TottoriOpenDataCatalog
|
3
|
-
|
4
2
|
module Proxy
|
5
|
-
|
6
3
|
INDEX_URL = 'http://db.pref.tottori.jp/opendataResearch.nsf/index.html'
|
7
|
-
|
8
4
|
class << self
|
9
|
-
|
10
5
|
def get(cache:true)
|
11
|
-
index = Parser.parse_index(Net.get(INDEX_URL, cache:cache))
|
6
|
+
index = Parser.parse_index(Net.get(INDEX_URL, cache: cache))
|
12
7
|
index[:categories].each do |category|
|
13
8
|
category[:link] = File.join(File.dirname(INDEX_URL), category[:link])
|
14
9
|
category[:resources] ||= []
|
15
|
-
Parser.parse_list(Net.get(category[:link], cache:cache)).each do |resource|
|
10
|
+
Parser.parse_list(Net.get(category[:link], cache: cache)).each do |resource|
|
16
11
|
resource[:link] = File.join(File.dirname(INDEX_URL), resource[:link])
|
17
|
-
resource.merge!(Parser.parse_record(Net.get(resource[:link], cache:cache)))
|
12
|
+
resource.merge!(Parser.parse_record(Net.get(resource[:link], cache: cache)))
|
18
13
|
category[:resources] << resource
|
19
14
|
end
|
20
15
|
end
|
21
|
-
|
16
|
+
index
|
22
17
|
end
|
23
|
-
|
24
18
|
end
|
25
|
-
|
26
19
|
end
|
27
|
-
|
28
20
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,25 +1,18 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe TottoriOpenDataCatalog::Command do
|
4
|
-
|
5
4
|
describe '#to_csv' do
|
6
|
-
|
7
5
|
it 'does not raise errors.' do
|
8
6
|
expect do
|
9
7
|
TottoriOpenDataCatalog::Command.to_csv
|
10
8
|
end.not_to raise_error
|
11
9
|
end
|
12
|
-
|
13
10
|
end
|
14
|
-
|
15
11
|
describe '#to_json' do
|
16
|
-
|
17
12
|
it 'does not raise errors.' do
|
18
13
|
expect do
|
19
14
|
TottoriOpenDataCatalog::Command.to_json
|
20
15
|
end.not_to raise_error
|
21
16
|
end
|
22
|
-
|
23
17
|
end
|
24
|
-
|
25
18
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe TottoriOpenDataCatalog::Parser do
|
4
|
-
|
5
4
|
def index_url
|
6
5
|
TottoriOpenDataCatalog::Proxy::INDEX_URL
|
7
6
|
end
|
@@ -23,7 +22,6 @@ describe TottoriOpenDataCatalog::Parser do
|
|
23
22
|
end
|
24
23
|
|
25
24
|
describe '#parse_index' do
|
26
|
-
|
27
25
|
it 'does not raise errors.' do
|
28
26
|
expect do
|
29
27
|
parse_index
|
@@ -39,11 +37,9 @@ describe TottoriOpenDataCatalog::Parser do
|
|
39
37
|
expect(category[:link].blank?).to be false
|
40
38
|
end
|
41
39
|
end
|
42
|
-
|
43
40
|
end
|
44
41
|
|
45
42
|
describe '#parse_list' do
|
46
|
-
|
47
43
|
it 'does not raise errors.' do
|
48
44
|
parse_index[:categories].each do |list|
|
49
45
|
expect do
|
@@ -60,11 +56,9 @@ describe TottoriOpenDataCatalog::Parser do
|
|
60
56
|
end
|
61
57
|
end
|
62
58
|
end
|
63
|
-
|
64
59
|
end
|
65
60
|
|
66
61
|
describe '#parse_record' do
|
67
|
-
|
68
62
|
it 'does not raise errors.' do
|
69
63
|
parse_index[:categories].each do |list|
|
70
64
|
parse_list(list[:link]).each do |record|
|
@@ -76,9 +70,7 @@ describe TottoriOpenDataCatalog::Parser do
|
|
76
70
|
end
|
77
71
|
|
78
72
|
it 'returns valid data.' do
|
79
|
-
# TODO ;)
|
73
|
+
# TODO: ;)
|
80
74
|
end
|
81
|
-
|
82
75
|
end
|
83
|
-
|
84
76
|
end
|
@@ -1,29 +1,29 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
lib = File.expand_path('../lib', __FILE__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
require 'tottori-opendata-catalog/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
6
|
+
spec.name = 'tottori-opendata-catalog'
|
8
7
|
spec.version = TottoriOpenDataCatalog::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.summary =
|
12
|
-
spec.description =
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
8
|
+
spec.authors = ['Masayuki Higashino']
|
9
|
+
spec.email = ['mh.on.web@gmail.com']
|
10
|
+
spec.summary = 'An API and a CLI for Open Data Catalog of Tottori Prefecture.'
|
11
|
+
spec.description = 'An API and a CLI for Open Data Catalog of Tottori Prefecture.'
|
12
|
+
spec.homepage = 'https://github.com/mh61503891/tottori-opendata-catalog'
|
13
|
+
spec.license = 'MIT'
|
15
14
|
|
16
15
|
spec.files = `git ls-files -z`.split("\x0")
|
17
16
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = [
|
18
|
+
spec.require_paths = ['lib']
|
20
19
|
|
21
20
|
spec.required_ruby_version = '>= 2.1.0'
|
22
21
|
|
23
|
-
spec.add_dependency
|
24
|
-
spec.add_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
22
|
+
spec.add_dependency 'thor', '~> 0.19.1'
|
23
|
+
spec.add_dependency 'nokogiri', '~> 1.6.7'
|
24
|
+
spec.add_development_dependency 'bundler', '~> 1.10.6'
|
25
|
+
spec.add_development_dependency 'awesome_print', '~> 1.6.1'
|
26
|
+
spec.add_development_dependency 'rake'
|
27
|
+
spec.add_development_dependency 'rspec'
|
28
|
+
spec.add_development_dependency 'facets'
|
29
29
|
end
|
metadata
CHANGED
@@ -1,97 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tottori-opendata-catalog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masayuki Higashino
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.19.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.19.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.6.
|
33
|
+
version: 1.6.7
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.6.
|
40
|
+
version: 1.6.7
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 1.10.6
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 1.10.6
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: awesome_print
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.6.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.6.1
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rake
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- -
|
73
|
+
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '0'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- -
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rspec
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '0'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: facets
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
description: An API and a CLI for Open Data Catalog of Tottori Prefecture.
|
@@ -102,9 +116,10 @@ executables:
|
|
102
116
|
extensions: []
|
103
117
|
extra_rdoc_files: []
|
104
118
|
files:
|
105
|
-
- .gitignore
|
106
|
-
- .rspec
|
107
|
-
- .
|
119
|
+
- ".gitignore"
|
120
|
+
- ".rspec"
|
121
|
+
- ".rubocop.yml"
|
122
|
+
- ".travis.yml"
|
108
123
|
- Gemfile
|
109
124
|
- LICENSE.txt
|
110
125
|
- README.md
|
@@ -132,17 +147,17 @@ require_paths:
|
|
132
147
|
- lib
|
133
148
|
required_ruby_version: !ruby/object:Gem::Requirement
|
134
149
|
requirements:
|
135
|
-
- -
|
150
|
+
- - ">="
|
136
151
|
- !ruby/object:Gem::Version
|
137
152
|
version: 2.1.0
|
138
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
154
|
requirements:
|
140
|
-
- -
|
155
|
+
- - ">="
|
141
156
|
- !ruby/object:Gem::Version
|
142
157
|
version: '0'
|
143
158
|
requirements: []
|
144
159
|
rubyforge_project:
|
145
|
-
rubygems_version: 2.0
|
160
|
+
rubygems_version: 2.5.0
|
146
161
|
signing_key:
|
147
162
|
specification_version: 4
|
148
163
|
summary: An API and a CLI for Open Data Catalog of Tottori Prefecture.
|