downloader
xsdata.utils.downloader
Downloader
Remote recursive resource downloader.
Helper class to download a schema or a definitions with all their imports locally. The imports paths will be adjusted if necessary.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
output
|
Path
|
The output path |
required |
Attributes:
| Name | Type | Description |
|---|---|---|
base_path |
The base path for the resources |
|
downloaded |
dict
|
A cache of the downloaded resources |
Source code in xsdata/utils/downloader.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | |
__init__(output)
Initialize the downloader.
Source code in xsdata/utils/downloader.py
29 30 31 32 | |
wget(uri, location=None)
Download handler for any uri input with circular protection.
Source code in xsdata/utils/downloader.py
34 35 36 37 38 39 40 41 42 43 44 45 46 | |
parse_schema(uri, content)
Convert content to a schema instance and process all sub imports.
Source code in xsdata/utils/downloader.py
48 49 50 51 52 | |
parse_definitions(uri, content)
Convert content to a definitions instance and process all sub imports.
Source code in xsdata/utils/downloader.py
54 55 56 57 58 59 60 61 | |
wget_included(definition)
Download the definitions included resources.
Source code in xsdata/utils/downloader.py
63 64 65 66 67 68 | |
write_file(uri, location, content)
Write the downloaded uri to a local file.
Keep track of all the written file paths, in case we have to modify the location attribute in an upcoming schema/definition import.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
uri
|
str
|
The resource URI |
required |
location
|
str | None
|
The import location of the resource |
required |
content
|
str
|
The raw content string |
required |
Source code in xsdata/utils/downloader.py
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | |
adjust_imports(path, content)
Update the location of the imports to point to the downloaded files.
Source code in xsdata/utils/downloader.py
104 105 106 107 108 109 110 111 112 113 | |