Skip to content

Commit 1a60217

Browse files
committed
refactor: Clean up imports in Company and Xbrl classes; update tests for Facts model
1 parent 5838f88 commit 1a60217

3 files changed

Lines changed: 9 additions & 17 deletions

File tree

edgar/company.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
from enum import Enum
66
from typing import TYPE_CHECKING, Union
77

8+
from edgar.filings import Filings
9+
from edgar.models import CompanyInfo, Facts, Filing
10+
from edgar.submissions import Submissions
11+
from edgar.xbrl import Xbrl
12+
813
if TYPE_CHECKING:
914
from edgar.session import EdgarSession
1015
from edgar.tickers import Tickers
@@ -120,8 +125,6 @@ def filings(
120125
>>> company.filings(form="10-K")
121126
"""
122127

123-
from edgar.filings import Filings
124-
125128
filings_service = Filings(session=self._session)
126129

127130
if form is not None:
@@ -152,8 +155,6 @@ def submissions(self) -> dict | None:
152155
>>> company.submissions()
153156
"""
154157

155-
from edgar.submissions import Submissions
156-
157158
submissions_service = Submissions(session=self._session)
158159
return submissions_service.get_submissions(cik=self.cik_unpadded)
159160

@@ -171,8 +172,6 @@ def xbrl_facts(self) -> dict | None:
171172
>>> company.xbrl_facts()
172173
"""
173174

174-
from edgar.xbrl import Xbrl
175-
176175
xbrl_service = Xbrl(session=self._session)
177176
return xbrl_service.company_facts(cik=self.cik_unpadded)
178177

@@ -219,8 +218,6 @@ def get_filings(
219218
'10-K'
220219
"""
221220

222-
from edgar.models import Filing
223-
224221
raw_filings = self.filings(
225222
form=form, start=start, number_of_filings=number_of_filings
226223
)
@@ -245,8 +242,6 @@ def get_info(self) -> object:
245242
'Apple Inc.'
246243
"""
247244

248-
from edgar.models import CompanyInfo
249-
250245
raw = self.submissions()
251246
if raw is None:
252247
return None
@@ -270,8 +265,6 @@ def get_facts(self) -> object:
270265
>>> facts.get("us-gaap", "Revenue")
271266
"""
272267

273-
from edgar.models import Facts
274-
275268
raw = self.xbrl_facts()
276269
if raw is None:
277270
return None

edgar/xbrl.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from enum import Enum
66
from typing import Union
7+
from edgar.models import Facts
78
from edgar.session import EdgarSession
89

910

@@ -166,8 +167,6 @@ def get_facts(self, cik: str) -> object:
166167
>>> facts.get('us-gaap', 'Revenue')
167168
"""
168169

169-
from edgar.models import Facts
170-
171170
raw = self.company_facts(cik=cik)
172171
if raw is None:
173172
return None

tests/test_xbrl_facts.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ def test_units(self):
338338
def test_units_missing(self):
339339
"""Verify units() returns empty list for missing concept."""
340340
facts = Facts(raw=SAMPLE_COMPANY_FACTS)
341-
assert facts.units("us-gaap", "Nonexistent") == []
341+
assert not facts.units("us-gaap", "Nonexistent")
342342

343343
def test_raw_attribute(self):
344344
"""Verify the raw dict is accessible."""
@@ -358,15 +358,15 @@ def test_empty_facts(self):
358358
facts = Facts(raw=SAMPLE_EMPTY_FACTS)
359359
assert facts.cik == 999999
360360
assert facts.entity_name == "Empty Corp"
361-
assert facts.taxonomies == []
361+
assert not facts.taxonomies
362362
assert facts.concepts() == []
363363

364364
def test_defaults_for_missing_keys(self):
365365
"""Verify graceful defaults for fully empty raw dict."""
366366
facts = Facts(raw={})
367367
assert facts.cik == 0
368368
assert facts.entity_name == ""
369-
assert facts.taxonomies == []
369+
assert not facts.taxonomies
370370

371371
def test_frozen(self):
372372
"""Verify the dataclass is immutable."""

0 commit comments

Comments
 (0)