brreg 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 342cd80cd65030dd047e2b1c0f9d5127961fb335
4
+ data.tar.gz: 399f5a15fef2c057bfd10ba0f383e867847fa0d6
5
+ SHA512:
6
+ metadata.gz: 6a98cb6c42e8dd7bcde8d6ba8d0c8ce48a0713440659f7d02a20c4cd3e748481487a41e95177696fbd2e7f58ded3dbf4b0e51ea95ef4b05ab8e30461e62a4730
7
+ data.tar.gz: 8a1a857d48460b981991ffa28e606b5dade213fb5d161c4b0e2d4de116816730ae48dd6265cba12660f0b85977113d38d82a2fc84b8dbc80520f5a8d18f49719
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in brreg.gemspec
4
+ gemspec
@@ -0,0 +1,8 @@
1
+ The MIT License (MIT)
2
+ Copyright (c) 2012 Espen Antonsen
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5
+
6
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,55 @@
1
+ # Søk i Enhetsregisteret i Brønnøysundregisteret
2
+
3
+ Søk i Enhetsregisteret basert på firmanavn, organisasjonsnummer eller ved oppslag på norske domener hos Norid.
4
+
5
+ ## Installasjon
6
+
7
+ ```shell
8
+ $ gem install brreg
9
+ $ brreg -h
10
+ ```
11
+
12
+ ## I bruk
13
+
14
+ ```shell
15
+ brreg [options]
16
+ -n, --orgnr ORGNR Organisasjonsnummer
17
+ -q, --query QUERY Firmanavn
18
+ -d, --domain DOMAIN Domenenavn (kun .no)
19
+ -v, --version Versjon
20
+ ```
21
+
22
+ ## Eksempel
23
+
24
+ ```shell
25
+ ~ brreg inspired
26
+ Søker etter 'inspired'
27
+ ...............
28
+ 994502085 GET INSPIRED AS
29
+ 996617742 INSPIRED BY ADELINA GRENMAR
30
+ 992842318 INDIGO INSPIRED INITIATIVE STENSRUD
31
+ 999205224 UNGDOMSBEDRIFTEN INSPIRED
32
+ 999309755 INSPIRED UNGDOMSBEDRIFT
33
+ 994317318 INSPIRED THINKING Wenche A Buchman
34
+ 990610924 INSPIRED AS
35
+
36
+ ~ brreg 990610924
37
+ Viser oppføring for orgnr 990610924
38
+ ...............
39
+ INSPIRED AS
40
+ Nustadsløyfa 41
41
+ 3970 LANGESUND
42
+ c/o Espen Antonsen Sverdrups gate 26B
43
+ 0559 OSLO
44
+
45
+ ~ brreg makeplans.no
46
+ Viser oppføring for orgnr 990610924
47
+ ...............
48
+ INSPIRED AS
49
+ Nustadsløyfa 41
50
+ 3970 LANGESUND
51
+ c/o Espen Antonsen Sverdrups gate 26B
52
+ 0559 OSLO
53
+
54
+ Basert på Whois fra domenet makeplans.no
55
+ ```
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ require 'optparse'
5
+ require 'brreg'
6
+
7
+ cli_params = {}
8
+
9
+ opts = OptionParser.new do |opt|
10
+ opt.banner = "Usage: brreg [options] OR brreg orgnr/query/domain"
11
+
12
+ opt.on('-n', '--orgnr ORGNR', 'Organisasjonsnummer') do |orgnr|
13
+ cli_params[:orgnr] = orgnr.to_i
14
+ end
15
+
16
+ opt.on('-q', '--query QUERY', 'Firmanavn') do |query|
17
+ cli_params[:query] = query
18
+ end
19
+
20
+ opt.on('-d', '--domain DOMAIN', 'Domenenavn (kun .no)') do |domain|
21
+ cli_params[:domain] = domain
22
+ end
23
+
24
+ opt.on('-v', '--version', 'Versjon') { puts "Brreg version #{Brreg.version}"; exit }
25
+ end
26
+ begin
27
+ opts.parse!
28
+ rescue OptionParser::InvalidOption, OptionParser::MissingArgument
29
+ puts opts
30
+ exit
31
+ end
32
+
33
+ def numeric?(object)
34
+ true if Float(object) rescue false
35
+ end
36
+
37
+
38
+ if cli_params.length > 0
39
+ if cli_params[:orgnr]
40
+ Brreg.find_by_orgnr(cli_params[:orgnr])
41
+ elsif cli_params[:query]
42
+ Brreg.find( cli_params[:query])
43
+ elsif cli_params[:domain]
44
+ Brreg.find_by_domain( cli_params[:domain])
45
+ end
46
+ elsif ARGV.length > 0
47
+ input = ARGV.first
48
+ if numeric?(input)
49
+ Brreg.find_by_orgnr( input.to_i )
50
+ elsif input.include?('.no')
51
+ Brreg.find_by_domain( input )
52
+ else
53
+ Brreg.find( input )
54
+ end
55
+ else
56
+ puts opts
57
+ end
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "brreg"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,22 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'brreg/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "brreg"
8
+ spec.version = Brreg::VERSION
9
+ spec.authors = ["Espen Antonsen"]
10
+ spec.email = ["espen@inspired.no"]
11
+
12
+ spec.summary = "Search Enhetsregisteret i Brønnøysundsregisteret"
13
+ spec.description = "Search Norwegian companies"
14
+ spec.homepage = "http://github.com/espen/brreg"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.executables = "brreg"
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_development_dependency "bundler", "~> 1.10"
21
+ spec.add_development_dependency "rake", "~> 10.0"
22
+ end
@@ -0,0 +1,82 @@
1
+ require 'brreg/version'
2
+ require 'net/http'
3
+ require 'json'
4
+
5
+ module Brreg
6
+ BrregURI = 'http://hotell.difi.no/api/json/brreg/enhetsregisteret'
7
+ def self.find_by_orgnr(orgnr)
8
+ res = get_json( { :orgnr => orgnr } )
9
+ if res.is_a?(Net::HTTPSuccess)
10
+ jsonres = JSON.parse(res.body)
11
+ if jsonres['posts'].to_i > 0
12
+ company = jsonres['entries'].first
13
+ puts "\n"
14
+ puts "\e[32mViser oppføring for orgnr #{orgnr}\e[0m"
15
+ puts "\n"
16
+ puts company['navn']
17
+ puts company['forretningsadr']
18
+ puts company['forradrpostnr'] + ' ' + company['forradrpoststed']
19
+ if !company['postadresse'].empty?
20
+ puts 'Postadresse:'
21
+ puts company['postadresse']
22
+ puts company['ppostnr'] + ' ' + company['ppoststed']
23
+ end
24
+ else
25
+ puts "Fant ingen oppføring for #{orgnr}"
26
+ end
27
+ end
28
+ end
29
+
30
+ def self.find_by_domain(domain)
31
+ res = `whois #{domain}`
32
+ res.force_encoding('BINARY').encode!('UTF-8', :invalid => :replace, :undef => :replace)
33
+ if res.gsub('Id Number').first
34
+ orgnr = /\Id Number..................:\s(\d{9})/
35
+ if res.match(orgnr)
36
+ Brreg.find_by_orgnr( res.scan(orgnr).first.first.to_i )
37
+ puts "\nBasert på Whois fra domenet #{domain}"
38
+ else
39
+ puts "Domenet har ikke et vanlig orgnr."
40
+ end
41
+ elsif res.gsub('% No match').first
42
+ puts "Domenet #{domain} er ikke registert"
43
+ else
44
+ puts "Ukjent svar fra Whois. Det er kun mulig å søke på .no domener."
45
+ end
46
+ end
47
+
48
+ def self.find(query)
49
+ puts "\n"
50
+ puts "\e[32mTreff i Enhetsregisteret basert på søket '#{query}'\e[0m"
51
+ puts "\n"
52
+ res = self.get_json( { :query => query } )
53
+ if res.is_a?(Net::HTTPSuccess)
54
+ jsonres = JSON.parse(res.body)
55
+ matches = jsonres['posts'].to_i
56
+ if matches > 0
57
+ if matches == 1
58
+ puts "Fant 1 oppføring"
59
+ Brreg.find_by_orgnr( jsonres['entries'].first['orgnr'] )
60
+ else
61
+ for entry in jsonres['entries']
62
+ puts entry['orgnr'] + ' ' + entry['navn']
63
+ end
64
+ end
65
+ else
66
+ puts "Fant ingen oppføringer med navn #{query}"
67
+ end
68
+ end
69
+ end
70
+
71
+ def self.version
72
+ VERSION
73
+ end
74
+
75
+ private
76
+
77
+ def self.get_json(params)
78
+ uri = URI(BrregURI)
79
+ uri.query = URI.encode_www_form(params)
80
+ Net::HTTP.get_response(uri)
81
+ end
82
+ end
@@ -0,0 +1,3 @@
1
+ module Brreg
2
+ VERSION = "0.3.0"
3
+ end
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brreg
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Espen Antonsen
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: Search Norwegian companies
42
+ email:
43
+ - espen@inspired.no
44
+ executables:
45
+ - brreg
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - ".gitignore"
50
+ - Gemfile
51
+ - LICENSE.md
52
+ - README.md
53
+ - Rakefile
54
+ - bin/brreg
55
+ - bin/console
56
+ - bin/setup
57
+ - brreg.gemspec
58
+ - lib/brreg.rb
59
+ - lib/brreg/version.rb
60
+ homepage: http://github.com/espen/brreg
61
+ licenses: []
62
+ metadata: {}
63
+ post_install_message:
64
+ rdoc_options: []
65
+ require_paths:
66
+ - lib
67
+ required_ruby_version: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ requirements: []
78
+ rubyforge_project:
79
+ rubygems_version: 2.4.8
80
+ signing_key:
81
+ specification_version: 4
82
+ summary: Search Enhetsregisteret i Brønnøysundsregisteret
83
+ test_files: []