turbot-runner 0.2.20 → 0.2.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/turbot_runner/version.rb +1 -1
- data/schema/schemas/includes/alternative_name.json +2 -1
- data/schema/schemas/includes/legislation.json +27 -0
- data/schema/schemas/includes/person.json +13 -2
- data/schema/schemas/includes/person_name.json +1 -1
- data/schema/schemas/includes/sanction.json +77 -0
- data/schema/schemas/sanctioned-entity-schema.json +115 -0
- metadata +63 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a9fdfb0bc2c0e85ec636a581d2fb4657f865daa
|
4
|
+
data.tar.gz: e89c05d192f3d2a503c05c41faa48dc99cd4e966
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0ca31bdbb3df8c219c98e0598243aa6dbd71557b1f69c18405bbb8410d636fa0a213fb03726f9f07b02b2277cb914814e58fbe542331f0f6621f76aa8e077bb
|
7
|
+
data.tar.gz: f8e09a2e31d4e1dce2a1fc473e72437a58d25f7e2eec2054c3313de2cbaf474c2d6db2610e69e48da2a749ec1d85ab33346b5e494df532b982815a0f0a44aa96
|
@@ -0,0 +1,27 @@
|
|
1
|
+
{
|
2
|
+
"$schema": "http://json-schema.org/draft-04/schema#",
|
3
|
+
"oneOf": [
|
4
|
+
{
|
5
|
+
"type": [
|
6
|
+
"string",
|
7
|
+
"null"
|
8
|
+
],
|
9
|
+
"format": "non-blank"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"description": "A piece of legislation. NB we expect to add additional properties to this over time",
|
13
|
+
"type": "object",
|
14
|
+
"properties": {
|
15
|
+
"name": {
|
16
|
+
"type": "string",
|
17
|
+
"format": "non-blank",
|
18
|
+
"description": "name of the the legislation"
|
19
|
+
},
|
20
|
+
"url": {
|
21
|
+
"type": "string",
|
22
|
+
"format": "non-blank"
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
]
|
27
|
+
}
|
@@ -11,7 +11,7 @@
|
|
11
11
|
"description": "Name of the jurisdiction in which the entity is based"
|
12
12
|
},
|
13
13
|
"company": {
|
14
|
-
"description": "Company the person is representing. NB If the licence holder is a company, and the individual is a just a contact, then use the company-schema for the entity. This is where the individual
|
14
|
+
"description": "Company the person is representing. NB If the licence holder is a company, and the individual is a just a contact, then use the company-schema for the entity. This is where the individual themselves are the subject entity (e.g. licence holder, disqualified director)",
|
15
15
|
"$ref": "company-for-nesting.json"
|
16
16
|
},
|
17
17
|
"relationship_with_company": {
|
@@ -40,6 +40,11 @@
|
|
40
40
|
}
|
41
41
|
]
|
42
42
|
},
|
43
|
+
"uid": {
|
44
|
+
"description": "Unique id of the person. Not the unique id is not expected to be globally unique, but only unique with reference to the source from which it is derived. No check is made for uniqueness",
|
45
|
+
"type": "string",
|
46
|
+
"minLength": 1
|
47
|
+
},
|
43
48
|
"telephone_number": {
|
44
49
|
"type": "string",
|
45
50
|
"minLength": 4
|
@@ -49,6 +54,7 @@
|
|
49
54
|
"minLength": 4
|
50
55
|
},
|
51
56
|
"registered_address": {
|
57
|
+
"description":"official address",
|
52
58
|
"$ref": "address.json"
|
53
59
|
},
|
54
60
|
"headquarters_address": {
|
@@ -69,9 +75,14 @@
|
|
69
75
|
"$ref": "alternative_name.json"
|
70
76
|
}
|
71
77
|
},
|
78
|
+
"date_of_birth": {
|
79
|
+
"type": "string",
|
80
|
+
"format": "date"
|
81
|
+
},
|
72
82
|
"nationality": {
|
73
83
|
"description": "The person's nationality",
|
74
|
-
"type": "string"
|
84
|
+
"type": "string",
|
85
|
+
"minLength": 2
|
75
86
|
}
|
76
87
|
},
|
77
88
|
"required": [
|
@@ -18,7 +18,7 @@
|
|
18
18
|
"null"
|
19
19
|
],
|
20
20
|
"format": "non-blank",
|
21
|
-
"description": "The given name (often first name) of a person, as opposed to their family name. Following FOAF practice, this is preferred to first_name"
|
21
|
+
"description": "The given name(s) (often first name) of a person, as opposed to their family name. Following FOAF practice, this is preferred to first_name"
|
22
22
|
},
|
23
23
|
"family_name": {
|
24
24
|
"type": [
|
@@ -0,0 +1,77 @@
|
|
1
|
+
{
|
2
|
+
"$schema": "http://json-schema.org/draft-04/schema#",
|
3
|
+
"oneOf": [
|
4
|
+
{
|
5
|
+
"type": [
|
6
|
+
"string",
|
7
|
+
"null"
|
8
|
+
],
|
9
|
+
"minLength": 2
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"name": "sanction",
|
13
|
+
"description": "A sanction issued by a government or regulatory body to an entity to prevent it operating (e.g. disqualified director) or ban others from dealing with it (e.g. a OFAC sanctioned entity).",
|
14
|
+
"type": "object",
|
15
|
+
"properties": {
|
16
|
+
"sanction_type": {
|
17
|
+
"enum": [
|
18
|
+
"disqualification",
|
19
|
+
"sanctions_listing",
|
20
|
+
"debarment"
|
21
|
+
],
|
22
|
+
"description": "types of sanction - one of 'disqualification', 'sanctions_list', 'debarment'"
|
23
|
+
},
|
24
|
+
"restrictions": {
|
25
|
+
"type": "array",
|
26
|
+
"description": "conditions or restrictions on the sanctions",
|
27
|
+
"items": {
|
28
|
+
"type": "string"
|
29
|
+
}
|
30
|
+
},
|
31
|
+
"cause": {
|
32
|
+
"type": "array",
|
33
|
+
"description": "reasons for the sanction being applied",
|
34
|
+
"items": {
|
35
|
+
"type": "string"
|
36
|
+
}
|
37
|
+
},
|
38
|
+
"legal_basis": {
|
39
|
+
"type": ["array","null"],
|
40
|
+
"items": {
|
41
|
+
"$ref": "legislation.json"
|
42
|
+
}
|
43
|
+
},
|
44
|
+
"sanction_jurisdictions": {
|
45
|
+
"description": "list of jurisdictions that this sanction applies to",
|
46
|
+
"type": "array",
|
47
|
+
"items": {
|
48
|
+
"type": "string"
|
49
|
+
}
|
50
|
+
},
|
51
|
+
"sanction_issuer": {
|
52
|
+
"oneOf": [
|
53
|
+
{
|
54
|
+
"type": [
|
55
|
+
"string",
|
56
|
+
"null"
|
57
|
+
],
|
58
|
+
"minLength": 2
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"$ref": "organisation.json"
|
62
|
+
}
|
63
|
+
]
|
64
|
+
},
|
65
|
+
"notes": {
|
66
|
+
"type": "string"
|
67
|
+
},
|
68
|
+
"other_attributes": {
|
69
|
+
"type": "object"
|
70
|
+
}
|
71
|
+
},
|
72
|
+
"required": [
|
73
|
+
"sanction_type"
|
74
|
+
]
|
75
|
+
}
|
76
|
+
]
|
77
|
+
}
|
@@ -0,0 +1,115 @@
|
|
1
|
+
{
|
2
|
+
"$schema": "http://json-schema.org/draft-04/schema#",
|
3
|
+
"description": "A sanctioned entity is a record of a person or company that has been barred or prohibited from some activity, e.g. disqualified from being a director, banned from bidding for contracts, or is on a sanctions list",
|
4
|
+
"properties": {
|
5
|
+
"subject_entity": {
|
6
|
+
"$ref": "includes/entity.json"
|
7
|
+
},
|
8
|
+
"category": {
|
9
|
+
"description": "Category of sanction. This field is required (other options may be added in the future). A listed_sanctioned_entity is an entity that is on a national or international sanctions list, e.g. OFAC",
|
10
|
+
"enum": [
|
11
|
+
"DisqualifiedDirector",
|
12
|
+
"ListedSanctionedEntity",
|
13
|
+
"DebarredSupplier"
|
14
|
+
]
|
15
|
+
},
|
16
|
+
"sanctions_list": {"$ref": "#/definitions/sanctions_list"},
|
17
|
+
|
18
|
+
"sanctions": {
|
19
|
+
"type": "array",
|
20
|
+
"items": {
|
21
|
+
"$ref": "includes/sanction.json"
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"uid": {
|
25
|
+
"description": "Unique id/reference for the sanctioned entity record if the sanctioning body has given it one",
|
26
|
+
"type": "string"
|
27
|
+
},
|
28
|
+
"title": {
|
29
|
+
"description": "The title of the sanction entity record, if given",
|
30
|
+
"type": "string"
|
31
|
+
},
|
32
|
+
"url": {
|
33
|
+
"description": "Persistent URL for the sanctioned entity record, if there is one",
|
34
|
+
"type": "string"
|
35
|
+
},
|
36
|
+
"source_url": {
|
37
|
+
"description": "Source url of the web page for the filing or if there is not persistent URL the page from which it can be found (e.g. search page). This field is required.",
|
38
|
+
"type": "string",
|
39
|
+
"minLength": 11
|
40
|
+
},
|
41
|
+
"confidence": {
|
42
|
+
"description": "Confidence in accuracy of data",
|
43
|
+
"type": "string",
|
44
|
+
"enum": [
|
45
|
+
"HIGH",
|
46
|
+
"MEDIUM",
|
47
|
+
"LOW"
|
48
|
+
]
|
49
|
+
},
|
50
|
+
"start_date": {
|
51
|
+
"description": "Date on which the sanction started",
|
52
|
+
"type": "string",
|
53
|
+
"format": "date"
|
54
|
+
},
|
55
|
+
"end_date": {
|
56
|
+
"description": "Date on which the sanction ended, or is scheduled to end",
|
57
|
+
"type": "string",
|
58
|
+
"format": "date"
|
59
|
+
},
|
60
|
+
"retrieved_at": {
|
61
|
+
"description": "Date-time this was retrieved from the source",
|
62
|
+
"type": "string",
|
63
|
+
"format": "date-time"
|
64
|
+
},
|
65
|
+
"sample_date": {
|
66
|
+
"description": "Date on which we know this to be true (for example the date the sanction list was published)",
|
67
|
+
"type": "string",
|
68
|
+
"format": "date"
|
69
|
+
},
|
70
|
+
"other_attributes": {
|
71
|
+
"description": "Use for other attributes for which we don't yet have curated schema attributes",
|
72
|
+
"type": "object"
|
73
|
+
}
|
74
|
+
},
|
75
|
+
"additionalProperties": false,
|
76
|
+
"required": [
|
77
|
+
"category",
|
78
|
+
"subject_entity",
|
79
|
+
"retrieved_at",
|
80
|
+
"source_url",
|
81
|
+
"sample_date"
|
82
|
+
],
|
83
|
+
"definitions": {
|
84
|
+
"sanctions_list": {
|
85
|
+
"title": "Sanctions List",
|
86
|
+
"description": "The sanctions list from which this entry is taken",
|
87
|
+
"type": "object",
|
88
|
+
"properties": {
|
89
|
+
"publisher": {
|
90
|
+
"description": "The publisher/maintainer of the sanctions list",
|
91
|
+
"$ref": "includes/organisation.json"
|
92
|
+
},
|
93
|
+
"jurisdiction": {
|
94
|
+
"description": "The jurisdiction covered by the register",
|
95
|
+
"type": "string"
|
96
|
+
},
|
97
|
+
"title": {
|
98
|
+
"description": "The title of the sanctions list",
|
99
|
+
"type": "string"
|
100
|
+
},
|
101
|
+
"url": {
|
102
|
+
"description": "The URL of the sanctions list",
|
103
|
+
"type": "string",
|
104
|
+
"format": "uri"
|
105
|
+
}
|
106
|
+
},
|
107
|
+
"additionalProperties": false,
|
108
|
+
"required": [
|
109
|
+
"title"
|
110
|
+
]
|
111
|
+
}
|
112
|
+
|
113
|
+
}
|
114
|
+
|
115
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: turbot-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenCorporates
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- schema/schemas/includes/financial-payment-data-object.json
|
124
124
|
- schema/schemas/includes/identifier.json
|
125
125
|
- schema/schemas/includes/industry_code.json
|
126
|
+
- schema/schemas/includes/legislation.json
|
126
127
|
- schema/schemas/includes/licence-data-object.json
|
127
128
|
- schema/schemas/includes/officer.json
|
128
129
|
- schema/schemas/includes/organisation.json
|
@@ -130,6 +131,7 @@ files:
|
|
130
131
|
- schema/schemas/includes/person.json
|
131
132
|
- schema/schemas/includes/person_name.json
|
132
133
|
- schema/schemas/includes/previous_name.json
|
134
|
+
- schema/schemas/includes/sanction.json
|
133
135
|
- schema/schemas/includes/share-parcel-data.json
|
134
136
|
- schema/schemas/includes/share-parcel.json
|
135
137
|
- schema/schemas/includes/subsidiary-relationship-data.json
|
@@ -138,6 +140,7 @@ files:
|
|
138
140
|
- schema/schemas/licence-schema.json
|
139
141
|
- schema/schemas/primary-data-schema.json
|
140
142
|
- schema/schemas/register-entry-schema.json
|
143
|
+
- schema/schemas/sanctioned-entity-schema.json
|
141
144
|
- schema/schemas/share-parcel-schema.json
|
142
145
|
- schema/schemas/simple-financial-payment-schema.json
|
143
146
|
- schema/schemas/simple-licence-schema.json
|
@@ -225,5 +228,61 @@ rubygems_version: 2.4.5
|
|
225
228
|
signing_key:
|
226
229
|
specification_version: 4
|
227
230
|
summary: Utilities for running bots with Turbot
|
228
|
-
test_files:
|
229
|
-
|
231
|
+
test_files:
|
232
|
+
- spec/bots/bot-that-crashes-immediately/manifest.json
|
233
|
+
- spec/bots/bot-that-crashes-immediately/scraper.rb
|
234
|
+
- spec/bots/bot-that-crashes-immediately/transformer1.rb
|
235
|
+
- spec/bots/bot-that-crashes-in-scraper/manifest.json
|
236
|
+
- spec/bots/bot-that-crashes-in-scraper/scraper.rb
|
237
|
+
- spec/bots/bot-that-crashes-in-scraper/transformer1.rb
|
238
|
+
- spec/bots/bot-that-crashes-in-transformer/manifest.json
|
239
|
+
- spec/bots/bot-that-crashes-in-transformer/scraper.rb
|
240
|
+
- spec/bots/bot-that-crashes-in-transformer/transformer1.rb
|
241
|
+
- spec/bots/bot-that-crashes-in-transformer/transformer2.rb
|
242
|
+
- spec/bots/bot-that-emits-run-ended/manifest.json
|
243
|
+
- spec/bots/bot-that-emits-run-ended/scraper.rb
|
244
|
+
- spec/bots/bot-that-emits-snapshot-ended/manifest.json
|
245
|
+
- spec/bots/bot-that-emits-snapshot-ended/scraper.rb
|
246
|
+
- spec/bots/bot-that-expects-file/manifest.json
|
247
|
+
- spec/bots/bot-that-expects-file/scraper.rb
|
248
|
+
- spec/bots/bot-that-expects-file/something.txt
|
249
|
+
- spec/bots/bot-that-is-allowed-to-produce-duplicates/manifest.json
|
250
|
+
- spec/bots/bot-that-is-allowed-to-produce-duplicates/scraper.rb
|
251
|
+
- spec/bots/bot-that-produces-duplicates/manifest.json
|
252
|
+
- spec/bots/bot-that-produces-duplicates/scraper.rb
|
253
|
+
- spec/bots/bot-with-invalid-data-type/manifest.json
|
254
|
+
- spec/bots/bot-with-invalid-data-type/scraper.rb
|
255
|
+
- spec/bots/bot-with-invalid-sample-date/manifest.json
|
256
|
+
- spec/bots/bot-with-invalid-sample-date/scraper.rb
|
257
|
+
- spec/bots/bot-with-pause/manifest.json
|
258
|
+
- spec/bots/bot-with-pause/scraper.rb
|
259
|
+
- spec/bots/bot-with-transformer/manifest.json
|
260
|
+
- spec/bots/bot-with-transformer/scraper.rb
|
261
|
+
- spec/bots/bot-with-transformer/transformer.rb
|
262
|
+
- spec/bots/bot-with-transformers/manifest.json
|
263
|
+
- spec/bots/bot-with-transformers/scraper.rb
|
264
|
+
- spec/bots/bot-with-transformers/transformer1.rb
|
265
|
+
- spec/bots/bot-with-transformers/transformer2.rb
|
266
|
+
- spec/bots/invalid-json-bot/manifest.json
|
267
|
+
- spec/bots/invalid-json-bot/scraper.rb
|
268
|
+
- spec/bots/invalid-record-bot/manifest.json
|
269
|
+
- spec/bots/invalid-record-bot/scraper.rb
|
270
|
+
- spec/bots/logging-bot/manifest.json
|
271
|
+
- spec/bots/logging-bot/scraper.rb
|
272
|
+
- spec/bots/python-bot/manifest.json
|
273
|
+
- spec/bots/python-bot/scraper.py
|
274
|
+
- spec/bots/ruby-bot/manifest.json
|
275
|
+
- spec/bots/ruby-bot/scraper.rb
|
276
|
+
- spec/bots/slow-bot/manifest.json
|
277
|
+
- spec/bots/slow-bot/scraper.rb
|
278
|
+
- spec/lib/processor_spec.rb
|
279
|
+
- spec/lib/runner_spec.rb
|
280
|
+
- spec/lib/utils_spec.rb
|
281
|
+
- spec/lib/validator_spec.rb
|
282
|
+
- spec/manual.rb
|
283
|
+
- spec/outputs/full-scraper.out
|
284
|
+
- spec/outputs/full-transformer.out
|
285
|
+
- spec/outputs/truncated-scraper.out
|
286
|
+
- spec/spec_helper.rb
|
287
|
+
- spec/support/custom_matchers.rb
|
288
|
+
- spec/support/helpers.rb
|