followthemoney 3.7.1__py2.py3-none-any.whl → 3.7.3__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of followthemoney might be problematic. Click here for more details.

@@ -3,7 +3,7 @@ import os
3
3
  from followthemoney.model import Model
4
4
  from followthemoney.util import set_model_locale
5
5
 
6
- __version__ = "3.7.1"
6
+ __version__ = "3.7.3"
7
7
 
8
8
 
9
9
  model_path = os.path.dirname(__file__)
@@ -47,7 +47,7 @@ class CSVMixin(object):
47
47
  return writer
48
48
 
49
49
  def close(self) -> None:
50
- for (handle, _) in self.handles.values():
50
+ for handle, _ in self.handles.values():
51
51
  handle.close()
52
52
 
53
53
 
@@ -104,11 +104,6 @@ Company:
104
104
  ticker:
105
105
  label: Stock ticker symbol
106
106
  type: identifier
107
- permId:
108
- label: PermID
109
- description: LSEG/Refinitiv code for a company
110
- type: identifier
111
- maxLength: 16
112
107
  ricCode:
113
108
  label: Reuters Instrument Code
114
109
  type: identifier
@@ -22,3 +22,8 @@ Organization:
22
22
  label: CAGE
23
23
  description: Commercial and Government Entity Code (CAGE)
24
24
  type: identifier
25
+ permId:
26
+ label: PermID
27
+ description: LSEG/Refinitiv code for a company
28
+ type: identifier
29
+ maxLength: 16
@@ -28,6 +28,7 @@ class CountryType(EnumType):
28
28
  names = {
29
29
  "zz": gettext("Global"),
30
30
  "eu": gettext("European Union"),
31
+ "un": gettext("United Nations"),
31
32
  "zr": gettext("Zaire"),
32
33
  # Overwrite "Czechia" label:
33
34
  "cz": gettext("Czech Republic"),
@@ -46,11 +47,12 @@ class CountryType(EnumType):
46
47
  "cy-trnc": gettext("Northern Cyprus"),
47
48
  "az-nk": gettext("Nagorno-Karabakh"),
48
49
  "cn-xz": gettext("Tibet"),
49
- "gg-srk": gettext("Sark"),
50
+ "cq": gettext("Sark"),
50
51
  "gb-wls": gettext("Wales"),
51
52
  "gb-sct": gettext("Scotland"),
52
53
  "gb-nir": gettext("Northern Ireland"),
53
54
  "md-pmr": gettext("Transnistria (PMR)"),
55
+ "pk-km": gettext("Kashmir"),
54
56
  }
55
57
  for code, label in locale.territories.items():
56
58
  code = code.lower()
@@ -60,6 +62,12 @@ class CountryType(EnumType):
60
62
  int(code)
61
63
  except ValueError:
62
64
  names[code] = label
65
+ # Remove some ISO-3611 codes that are not countries:
66
+ names.pop("xa", None)
67
+ names.pop("xb", None)
68
+ names.pop("qo", None)
69
+ names.pop("ea", None)
70
+ names.pop("ez", None)
63
71
  return names
64
72
 
65
73
  def clean_text(
followthemoney/util.py CHANGED
@@ -18,12 +18,8 @@ DEFAULT_LOCALE = "en"
18
18
  T = TypeVar("T")
19
19
  K = TypeVar("K")
20
20
  V = TypeVar("V")
21
- try:
22
- # Work-around for Python 3.8 backward compat:
23
- PathLike = Union[str, os.PathLike[str]]
24
- except TypeError:
25
- PathLike = Union[str, os.PathLike] # type: ignore
26
21
 
22
+ PathLike = Union[str, os.PathLike[str]]
27
23
  i18n_path = os.path.join(os.path.dirname(__file__), "translations")
28
24
  state = local()
29
25
  log = logging.getLogger(__name__)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: followthemoney
3
- Version: 3.7.1
3
+ Version: 3.7.3
4
4
  Home-page: https://followthemoney.tech/
5
5
  Author: Organized Crime and Corruption Reporting Project
6
6
  Author-email: data@occrp.org
@@ -1,4 +1,4 @@
1
- followthemoney/__init__.py,sha256=6hMjBgb9YywaZiMkhsA8krBJLg9cw2fafkZAovou5mM,360
1
+ followthemoney/__init__.py,sha256=CszTkzvwgXMhYQpwAC8cW3DZHzbqfirdRH8R8ZTxJ0U,360
2
2
  followthemoney/compare.py,sha256=1GFkCfTzA8QR0CH90kvySR8hvl9hQRUerW5Xw2Ivmpg,5134
3
3
  followthemoney/exc.py,sha256=ynZs_UnTVxHR-iBfat_CpVLraYzVX5yLtVf5Ti14hl4,734
4
4
  followthemoney/graph.py,sha256=VNDKrUBkz_-DmKsr5v-Xm8VfxzabnTwkU_MFk92_TjA,10848
@@ -13,7 +13,7 @@ followthemoney/proxy.py,sha256=M7RIPF0k-P3v7GYKYhRVVaO1cnUf5FArJepE-2c0KMQ,20033
13
13
  followthemoney/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  followthemoney/rdf.py,sha256=_BzWiBc61UYjiyadvGKya4P4JlJfvZtNrn8SP2hC2JM,328
15
15
  followthemoney/schema.py,sha256=Tk61vRmWaawW-1HOmu-hbYZtkD8it0fIvNtSRxBEQxA,16774
16
- followthemoney/util.py,sha256=ec_n8Q_CVAfN4HkUnOZB6IRbMz-p4XXxxwTm1RzLYV4,4508
16
+ followthemoney/util.py,sha256=wpbofEWScRrbaVAFjfpzcYf_V-qT-XruWJRnWGM9WIY,4376
17
17
  followthemoney/cli/__init__.py,sha256=Fl05wMr5-FlOSMRpmu1HJSNfPRpy8u9as5IRbGXdo4U,421
18
18
  followthemoney/cli/aggregate.py,sha256=Gwfi5Bt1LCwqbpsCu4P1Cr-QJtCWhbaqgGEzfwJUUL4,2142
19
19
  followthemoney/cli/cli.py,sha256=yrPw2iyKY-E-uRWe6KN9W3ayvz-22vfpe_ZeD0RiI0c,3591
@@ -23,7 +23,7 @@ followthemoney/cli/sieve.py,sha256=Wh1UQxzyM9Gh60ooS4s4ydlW1b69bMzFM08tg8ttSIY,1
23
23
  followthemoney/cli/util.py,sha256=CFcS-PEwpMasMWX_Yg283O_PaAhcPwkvahFNWc13C8c,4769
24
24
  followthemoney/export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  followthemoney/export/common.py,sha256=_YrXrwsqmyboDZDhtJ_PazUUJYe1Y-Trqc9lz4YlVR8,991
26
- followthemoney/export/csv.py,sha256=WPAeHMEKnQE1ZL1_I5qgxki-qKJ5gytur-sTOHAubW0,2635
26
+ followthemoney/export/csv.py,sha256=AvWgyWg0nICAVLv4k9QgWRlgJhJonKCjzlZkrahe5Tg,2633
27
27
  followthemoney/export/excel.py,sha256=pj6zNpIbye_Zm3vhCamcqHEe9Fw-RyjtWQDCFY6608s,2645
28
28
  followthemoney/export/graph.py,sha256=v0z1FgadyFk5aQ0A5q8E9R4fSO-Tpi5JU9YTDwnRKD8,2765
29
29
  followthemoney/export/neo4j.py,sha256=JCLb1eW5FFIJXqmnpNMRzRs1KYuYkCtHZp7KJcu-JNY,7104
@@ -46,7 +46,7 @@ followthemoney/schema/Audio.yaml,sha256=Eb1rZGUEOX7XDAj_1YIN28NCBzMvkopQBNwgHt_k
46
46
  followthemoney/schema/BankAccount.yaml,sha256=Pvw9FxJYwwnJMoo3IblyPki9VRjLsM4F30jzKZWv9dE,1452
47
47
  followthemoney/schema/Call.yaml,sha256=kbVCnVxucBrEplxehXHThLSJAJjy_GhWan-IeZZjr0M,980
48
48
  followthemoney/schema/CallForTenders.yaml,sha256=2IWonTzfSbrkynMoEWqv5fekUeFM_xDKpKIbRe1XDbo,3227
49
- followthemoney/schema/Company.yaml,sha256=T3ATP_RBbdjaTbntD9lW-Ax1veosXKzwFvkKOdO_g_I,3381
49
+ followthemoney/schema/Company.yaml,sha256=s0zAckdj0b2Ht1I7dT101NE4NpBquJKLYfwuAseYJaE,3253
50
50
  followthemoney/schema/Contract.yaml,sha256=-wVVUBu_KvmiWEjXrw1zgY2m9AAkiHCDd-hxFCUzj6k,1586
51
51
  followthemoney/schema/ContractAward.yaml,sha256=b2spaZHYCaP1yR1RCsrI7mUjk-fAF7BUE3dc8Vl3cUQ,1689
52
52
  followthemoney/schema/CourtCase.yaml,sha256=lcovnY0Ne_xcggvkqfCW_RHvsRKo8kFTCPCyovAXRtI,599
@@ -74,7 +74,7 @@ followthemoney/schema/Mention.yaml,sha256=nBeulR_Jm4x75aJ7yNF0TAVhHJqXQaEzOutLIn
74
74
  followthemoney/schema/Message.yaml,sha256=89k3kdN2w_Vfz1UjbUUPojZtMsAvmZGiDSkHeSNMl8w,1484
75
75
  followthemoney/schema/Note.yaml,sha256=NohwtFupxIssZuEgQowiQWqKit4uQ-OatAu3yp9eJj4,411
76
76
  followthemoney/schema/Occupancy.yaml,sha256=-alsy15cz3RXC_2xYN6rXxwxSOW_hazCNyIvmp7Jawo,773
77
- followthemoney/schema/Organization.yaml,sha256=AxASyXY18xGXO9FmAwIrARoRy8OxxRPUXlbUqch7Vi4,562
77
+ followthemoney/schema/Organization.yaml,sha256=cy8Fu4R1ZE3qSfYlr9tHz600ymB67CnsCHQYffFAAqY,690
78
78
  followthemoney/schema/Ownership.yaml,sha256=naWvWoqJph463fwk6SdC14RAVF03l98bWwpscrW_vJg,997
79
79
  followthemoney/schema/Package.yaml,sha256=gPr-P3lcg7OOAav_KVa8baK4yK57JwfcXwxXheD96UQ,310
80
80
  followthemoney/schema/Page.yaml,sha256=sQt_CnVyjDVGVECLQoGYZH4hxpjdPhxVRz4XJW-_1OU,1107
@@ -132,7 +132,7 @@ followthemoney/types/__init__.py,sha256=X9XeM6JktzirAw5gGkyDKGM70NuiJ9Tbjoq0IwVc
132
132
  followthemoney/types/address.py,sha256=P6ctzojJks70RZIwk5Bhc9djxejZo4Te0m5pQ9M7bAM,1651
133
133
  followthemoney/types/checksum.py,sha256=OqjCsBPyMIV3_Y20kTTvjkyayy32pBtaI5KKwYQb6lY,937
134
134
  followthemoney/types/common.py,sha256=Yk-7LZ6uDgFzKXUZxQ_j5miN2ZMnlBOziU0iFC7FE9I,10202
135
- followthemoney/types/country.py,sha256=Ll4NENog6XgPZmt85GCQWnBzpswlZvwDCvhSmJhiVJs,3073
135
+ followthemoney/types/country.py,sha256=v4Y28X7GYs8Te2kbXZG3y0PcdRX4GUwpKtXRn2_WI9A,3366
136
136
  followthemoney/types/date.py,sha256=4lZCd0aws-T3HE2BYkb-a-t8iQDr0nqFSAEBoUKiTlM,2683
137
137
  followthemoney/types/email.py,sha256=zAnMHwC_FZh7IagpDRhGZf-GfQR6uW8d-lZP4UCdGcM,2745
138
138
  followthemoney/types/entity.py,sha256=RCDD9j7MWA_dd0Ib33dl1E6PubsiS1yfVeIOsDxWYpY,2431
@@ -177,10 +177,10 @@ tests/types/test_phones.py,sha256=_GTl-0r5hok8ovUJPRqP7k9kJYMVbanjYUMLrbzFb5U,11
177
177
  tests/types/test_registry.py,sha256=IkrHjrEiIIPd4PdMFUg_jVh_gsE6CzGXIF8s3LIbnl0,296
178
178
  tests/types/test_topic.py,sha256=m35GSwTy-r77YACGDDac09nYLBIUua42Dy7z292m9EU,707
179
179
  tests/types/test_urls.py,sha256=JVmzJ0DKDBle_xLjmOHn0hgDTCpLmljrcfbOM1GSGRw,1170
180
- followthemoney-3.7.1.dist-info/LICENSE,sha256=Jln3uF70A9AQySyrP9JAW6sQTubLoKVQunvuJqISv7w,1098
181
- followthemoney-3.7.1.dist-info/METADATA,sha256=_2AsZMq64-w-F0Nwg6uJ5ZTbtVpOoEFrSaYfc4Whe1g,4453
182
- followthemoney-3.7.1.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
183
- followthemoney-3.7.1.dist-info/entry_points.txt,sha256=wpgi-5-jyqCy-yw0eYZbnhBuPja_q3RJmiEl7NymXtQ,593
184
- followthemoney-3.7.1.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
185
- followthemoney-3.7.1.dist-info/top_level.txt,sha256=O33_kGPehy6-69B_k01UgMK55_JOhwqe2de7ND23b-Y,21
186
- followthemoney-3.7.1.dist-info/RECORD,,
180
+ followthemoney-3.7.3.dist-info/LICENSE,sha256=Jln3uF70A9AQySyrP9JAW6sQTubLoKVQunvuJqISv7w,1098
181
+ followthemoney-3.7.3.dist-info/METADATA,sha256=n1OHjUg-uXmTbh8bariDKjdpcIyPL2wCwj0HyBAtLGg,4453
182
+ followthemoney-3.7.3.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
183
+ followthemoney-3.7.3.dist-info/entry_points.txt,sha256=wpgi-5-jyqCy-yw0eYZbnhBuPja_q3RJmiEl7NymXtQ,593
184
+ followthemoney-3.7.3.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
185
+ followthemoney-3.7.3.dist-info/top_level.txt,sha256=O33_kGPehy6-69B_k01UgMK55_JOhwqe2de7ND23b-Y,21
186
+ followthemoney-3.7.3.dist-info/RECORD,,