Revise OpenCorporates resolutions.

This commit is contained in:
AccentuSoft
2022-07-06 20:02:37 +03:00
parent 05e0f2874d
commit 4b90313c26
3 changed files with 66 additions and 91 deletions

View File

@@ -2,11 +2,11 @@
class OpenCorporateCompanyOfficers:
name = "OpenCorporate Officers Lookup"
name = "OpenCorporate Company Officers Lookup"
category = "OpenCorporates"
description = "Returns Nodes of Officers"
description = "Returns the Officers of the specified company."
originTypes = {'Open Corporate Company'}
@@ -19,7 +19,7 @@ class OpenCorporateCompanyOfficers:
'value': '',
'default': '5'},
'Inactive Officers': {'description': 'Display Inactive Officers',
'Inactive Companies': {'description': 'Display Inactive Companies',
'type': 'SingleChoice',
'value': {'Yes', 'No'}
},
@@ -39,12 +39,14 @@ class OpenCorporateCompanyOfficers:
import time
returnResults = []
try:
linkNumbers = int(parameters['Max Results'])
maxResults = int(parameters['Max Results'])
except ValueError:
return "Invalid integer provided in 'Max Results' parameter"
if linkNumbers <= 0:
if maxResults <= 0:
return []
considerInactive = parameters['Inactive Companies'] == 'No'
for entity in entityJsonList:
jurisdictionCode = entity[list(entity)[3]]
companyCode = entity[list(entity)[1]]
@@ -79,48 +81,27 @@ class OpenCorporateCompanyOfficers:
return 'API Limit Reached'
try:
openCorporatesResults = data['results']['company']['officers']
openCorporatesResults = data['results']['company']['officers'][:maxResults]
except KeyError:
return returnResults
continue
if linkNumbers >= len(openCorporatesResults):
linkNumbers = int(len(openCorporatesResults))
for result in openCorporatesResults:
if (result['officer']['inactive'] and considerInactive) or not result['officer']['inactive']:
index_of_child = len(returnResults)
if parameters['Inactive Officers'] == 'Yes':
for i in range(linkNumbers):
returnResults.append([{'Full Name': openCorporatesResults[i]['officer']['Resolution'],
returnResults.append([{'Full Name': result['officer']['name'],
'Entity Type': 'Person'},
{uid: {'Resolution': 'Officer',
'Notes': openCorporatesResults[i]['officer']['position']}}])
'Notes': result['officer']['position']}}])
index_of_child = len(returnResults)
if result['officer']['end_date'] is not None:
returnResults.append(
[{'Date': result['officer']['end_date'], 'Entity Type': 'Date'},
{index_of_child: {'Resolution': 'Start Date', 'Notes': ''}}])
if openCorporatesResults[i]['officer']['start_date'] is not None:
for k in range(linkNumbers):
returnResults.append(
[{'Date': openCorporatesResults[k]['officer']['end_date'], 'Entity Type': 'Date'},
{index_of_child: {'Resolution': 'Start Date', 'Notes': ''}}])
if openCorporatesResults[i]['officer']['start_date'] is not None:
for j in range(linkNumbers):
returnResults.append(
[{'Date': openCorporatesResults[j]['officer']['start_date'], 'Entity Type': 'Date'},
{index_of_child: {'Resolution': 'Start Date', 'Notes': ''}}])
elif parameters['Inactive Officers'] == 'No':
for i in range(linkNumbers):
if not openCorporatesResults[i]['officer']['inactive']:
returnResults.append([{'Full Name': openCorporatesResults[i]['officer']['Resolution'],
'Entity Type': 'Person'},
{uid: {'Resolution': 'Officer',
'Notes': openCorporatesResults[i]['officer']['position']}}])
index_of_child = len(returnResults)
if openCorporatesResults[i]['officer']['start_date'] is not None:
for j in range(linkNumbers):
returnResults.append(
[{'Date': openCorporatesResults[j]['officer']['start_date'], 'Entity Type': 'Date'},
{index_of_child: {'Resolution': 'Start Date', 'Notes': ''}}])
if result['officer']['start_date'] is not None:
returnResults.append(
[{'Date': result['officer']['start_date'], 'Entity Type': 'Date'},
{index_of_child: {'Resolution': 'Start Date', 'Notes': ''}}])
return returnResults

View File

@@ -6,7 +6,7 @@ class OpenCorporateCompanyResults:
category = "OpenCorporates"
description = "Returns Results per Company"
description = "Look up Companies in the OpenCorporates data set."
originTypes = {'Phrase', 'Company', 'Open Corporate Company'}
@@ -38,10 +38,10 @@ class OpenCorporateCompanyResults:
returnResults = []
officer_url = 'https://api.opencorporates.com/v0.4/companies/search'
try:
linkNumbers = int(parameters['Max Results'])
maxResults = int(parameters['Max Results'])
except ValueError:
return "Invalid integer provided in 'Max Results' parameter"
if linkNumbers <= 0:
if maxResults <= 0:
return []
for entity in entityJsonList:
@@ -83,41 +83,38 @@ class OpenCorporateCompanyResults:
elif r.status_code == 403:
return 'API Limit Reached'
openCorporatesResults = data['results']['companies']
if linkNumbers >= len(openCorporatesResults):
linkNumbers = int(len(openCorporatesResults))
openCorporatesResults = data['results']['companies'][:maxResults]
if parameters['Inactive Companies'] == 'Yes':
for i in range(linkNumbers):
returnResults.append([{'Company Name': openCorporatesResults[i]['company']['name'],
'Company Number': openCorporatesResults[i]['company']['company_number'],
'Jurisdiction Code': openCorporatesResults[i]['company'][
for result in openCorporatesResults:
returnResults.append([{'Company Name': result['company']['name'],
'Company Number': result['company']['company_number'],
'Jurisdiction Code': result['company'][
'jurisdiction_code'],
'Current Status': openCorporatesResults[i]['company']['current_status'],
'Incorporation Date': openCorporatesResults[i]['company'][
'Current Status': result['company']['current_status'],
'Incorporation Date': result['company'][
'incorporation_date'],
'Dissolution Date': openCorporatesResults[i]['company']['dissolution_date'],
'Company Type': openCorporatesResults[i]['company']['company_type'],
'Registry URL': openCorporatesResults[i]['company']['registry_url'],
'Dissolution Date': result['company']['dissolution_date'],
'Company Type': result['company']['company_type'],
'Registry URL': result['company']['registry_url'],
'Entity Type': 'Open Corporate Company'},
{uid: {'Resolution': 'OpenCorpRes', 'Notes': ''}}])
{uid: {'Resolution': 'OpenCorporate Company Resolution', 'Notes': ''}}])
elif parameters['Inactive Companies'] == 'No':
for i in range(linkNumbers):
if not openCorporatesResults[i]['company']['inactive']:
returnResults.append([{'Company Name': openCorporatesResults[i]['company']['name'],
'Company Number': openCorporatesResults[i]['company']['company_number'],
'Jurisdiction Code': openCorporatesResults[i]['company'][
for result in openCorporatesResults:
if not result['company']['inactive']:
returnResults.append([{'Company Name': result['company']['name'],
'Company Number': result['company']['company_number'],
'Jurisdiction Code': result['company'][
'jurisdiction_code'],
'Current Status': openCorporatesResults[i]['company']['current_status'],
'Incorporation Date': openCorporatesResults[i]['company'][
'Current Status': result['company']['current_status'],
'Incorporation Date': result['company'][
'incorporation_date'],
'Dissolution Date': openCorporatesResults[i]['company'][
'Dissolution Date': result['company'][
'dissolution_date'],
'Company Type': openCorporatesResults[i]['company']['company_type'],
'Registry URL': openCorporatesResults[i]['company']['registry_url'],
'Company Type': result['company']['company_type'],
'Registry URL': result['company']['registry_url'],
'Entity Type': 'Open Corporate Company'},
{uid: {'Resolution': 'OpenCorpRes', 'Notes': ''}}])
{uid: {'Resolution': 'OpenCorporate Company Resolution', 'Notes': ''}}])
return returnResults

View File

@@ -1,12 +1,12 @@
#!/usr/bin/env python3
class OpenCorporateOfficerOccupation:
name = "Get OpenCorporate Officers"
class OpenCorporateOfficerCompanies:
name = "Get OpenCorporate Officer's Companies"
category = "OpenCorporates"
description = "Returns Nodes of Companies where the Person is an Officer"
description = "Returns Nodes of Companies where the Person is an Officer."
originTypes = {'Person', 'Phrase'}
@@ -16,10 +16,10 @@ class OpenCorporateOfficerOccupation:
'type': 'String',
'value': ''},
'Inactive Officers': {'description': 'Display Inactive Officers',
'type': 'SingleChoice',
'value': {'Yes', 'No'}
},
'Inactive Companies': {'description': 'Display Inactive Companies',
'type': 'SingleChoice',
'value': {'Yes', 'No'}
},
'OpenCorporates API Key': {
'description': 'Enter your API Key. If you do not have one, type: No Key (case sensitive).\n'
'Standard Free API limits: 50 requests per day, 5 requests per second.\n'
@@ -38,10 +38,10 @@ class OpenCorporateOfficerOccupation:
returnResults = []
officer_url = 'https://api.opencorporates.com/v0.4/officers/search'
try:
linkNumbers = int(parameters['Max Results'])
maxResults = int(parameters['Max Results'])
except ValueError:
return "Invalid integer provided in 'Max Results' parameter"
if linkNumbers <= 0:
if maxResults <= 0:
return []
for entity in entityJsonList:
@@ -84,24 +84,21 @@ class OpenCorporateOfficerOccupation:
elif r.status_code == 403:
return 'API Limit Reached'
openCorporateResults = data['results']['officers']
openCorporateResults = data['results']['officers'][:maxResults]
if linkNumbers >= len(openCorporateResults):
linkNumbers = int(len(openCorporateResults))
if parameters['Inactive Officers'] == 'Yes':
for i in range(linkNumbers):
returnResults.append([{'Company Name': openCorporateResults[i]['officer']['company']['name'],
if parameters['Inactive Companies'] == 'Yes':
for result in openCorporateResults:
returnResults.append([{'Company Name': result['officer']['company']['name'],
'Entity Type': 'Company'},
{uid: {'Resolution': openCorporateResults[i]['officer']['occupation'],
{uid: {'Resolution': result['officer']['occupation'],
'Notes': ''}}])
elif parameters['Inactive Officers'] == 'No':
for i in range(linkNumbers):
if not data['results']['officers'][i]['officer']['inactive']:
elif parameters['Inactive Companies'] == 'No':
for result in openCorporateResults:
if not result['officer']['inactive']:
returnResults.append(
[{'Company Name': openCorporateResults[i]['officer']['company']['name'],
[{'Company Name': result['officer']['company']['name'],
'Entity Type': 'Company'},
{uid: {'Resolution': openCorporateResults[i]['officer']['occupation'],
{uid: {'Resolution': result['officer']['occupation'],
'Notes': ''}}])
return returnResults