datamule 1.8.0__py3-none-any.whl → 1.8.1__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.
- datamule/submission.py +17 -3
- {datamule-1.8.0.dist-info → datamule-1.8.1.dist-info}/METADATA +1 -1
- {datamule-1.8.0.dist-info → datamule-1.8.1.dist-info}/RECORD +5 -5
- {datamule-1.8.0.dist-info → datamule-1.8.1.dist-info}/WHEEL +0 -0
- {datamule-1.8.0.dist-info → datamule-1.8.1.dist-info}/top_level.txt +0 -0
datamule/submission.py
CHANGED
@@ -3,17 +3,21 @@ import json
|
|
3
3
|
from .document.document import Document
|
4
4
|
from secsgml import parse_sgml_content_into_memory
|
5
5
|
from secsgml.parse_sgml import transform_metadata_string
|
6
|
+
from secsgml.utils import bytes_to_str
|
7
|
+
from .sec.utils import headers
|
6
8
|
import tarfile
|
7
9
|
import zstandard as zstd
|
8
10
|
import gzip
|
11
|
+
import urllib.request
|
12
|
+
|
9
13
|
|
10
14
|
|
11
15
|
class Submission:
|
12
16
|
def __init__(self, path=None, sgml_content=None, keep_document_types=None,
|
13
|
-
batch_tar_path=None, accession_prefix=None, portfolio_ref=None):
|
17
|
+
batch_tar_path=None, accession_prefix=None, portfolio_ref=None,url=None):
|
14
18
|
|
15
19
|
# Validate parameters
|
16
|
-
param_count = sum(x is not None for x in [path, sgml_content, batch_tar_path])
|
20
|
+
param_count = sum(x is not None for x in [path, sgml_content, batch_tar_path,url])
|
17
21
|
if param_count != 1:
|
18
22
|
raise ValueError("Exactly one of path, sgml_content, or batch_tar_path must be provided")
|
19
23
|
|
@@ -25,9 +29,19 @@ class Submission:
|
|
25
29
|
self.accession_prefix = accession_prefix
|
26
30
|
self.portfolio_ref = portfolio_ref
|
27
31
|
|
28
|
-
if sgml_content is not None:
|
32
|
+
if url is not None or sgml_content is not None:
|
33
|
+
if url is not None:
|
34
|
+
request = urllib.request.Request(url, headers=headers)
|
35
|
+
response = urllib.request.urlopen(request)
|
36
|
+
|
37
|
+
if response.getcode() == 200:
|
38
|
+
sgml_content=response.read()
|
39
|
+
else:
|
40
|
+
raise ValueError(f"URL: {url}, Error: {response.getcode()}")
|
41
|
+
|
29
42
|
self.path = None
|
30
43
|
metadata, raw_documents = parse_sgml_content_into_memory(sgml_content)
|
44
|
+
metadata = bytes_to_str(metadata)
|
31
45
|
|
32
46
|
# standardize metadata
|
33
47
|
metadata = transform_metadata_string(metadata)
|
@@ -6,7 +6,7 @@ datamule/package_updater.py,sha256=Z9zaa_y0Z5cknpRn8oPea3gg4kquFHfpfhduKKCZ6NU,9
|
|
6
6
|
datamule/portfolio.py,sha256=tADqQMkFaFyjanbJ0QcaOHGdJJB254rOg29FW7a13l0,11835
|
7
7
|
datamule/portfolio_compression_utils.py,sha256=8OPYEN5zAdV1FiTxgVN3S7cTKs99Elv74bwgoIJP4QY,12654
|
8
8
|
datamule/sheet.py,sha256=V5iR9_LkuwTFxfHCfzgadO6qgB6qOhzWiCAED-y8ZJQ,22744
|
9
|
-
datamule/submission.py,sha256=
|
9
|
+
datamule/submission.py,sha256=IHfEvHcLj9mrJGCNaJSMRqP9kHuJerGGM9IrN5mLDtM,10865
|
10
10
|
datamule/data/listed_filer_metadata.csv,sha256=dT9fQ8AC5P1-Udf_UF0ZkdXJ88jNxJb_tuhi5YYL1rc,2426827
|
11
11
|
datamule/datamule/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
12
|
datamule/datamule/sec_connector.py,sha256=qCDsOgSFtfp-uz-APJjX4YrRoIGnnX-xHCL_JjLmRxk,2387
|
@@ -65,7 +65,7 @@ datamule/seclibrary/query.py,sha256=qGuursTERRbOGfoDcYcpo4oWkW3PCBW6x1Qf1Puiak4,
|
|
65
65
|
datamule/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
66
66
|
datamule/utils/construct_submissions_data.py,sha256=aX7ZaAp3zXHLcv4TFk_rGwjb8r7yNDQDFVg4nPf60kM,5934
|
67
67
|
datamule/utils/format_accession.py,sha256=60RtqoNqoT9zSKVb1DeOv1gncJxzPTFMNW4SNOVmC_g,476
|
68
|
-
datamule-1.8.
|
69
|
-
datamule-1.8.
|
70
|
-
datamule-1.8.
|
71
|
-
datamule-1.8.
|
68
|
+
datamule-1.8.1.dist-info/METADATA,sha256=EANuFHyM9j25cEgk3wWP9eY1Pgb8hT2xV_g0010zpAA,524
|
69
|
+
datamule-1.8.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
70
|
+
datamule-1.8.1.dist-info/top_level.txt,sha256=iOfgmtSMFVyr7JGl_bYSTDry79JbmsG4p8zKq89ktKk,9
|
71
|
+
datamule-1.8.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|