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 | Optional[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 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
__init__(output)
Initialize the downloader.
Source code in xsdata/utils/downloader.py
29 30 31 32 33 |
|
wget(uri, location=None)
Download handler for any uri input with circular protection.
Source code in xsdata/utils/downloader.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
parse_schema(uri, content)
Convert content to a schema instance and process all sub imports.
Source code in xsdata/utils/downloader.py
52 53 54 55 56 |
|
parse_definitions(uri, content)
Convert content to a definitions instance and process all sub imports.
Source code in xsdata/utils/downloader.py
58 59 60 61 62 63 64 65 |
|
wget_included(definition)
Download the definitions included resources.
Source code in xsdata/utils/downloader.py
67 68 69 70 71 72 |
|
adjust_base_path(uri)
Adjust base path for every new uri loaded.
Example runs
- file:///schemas/air_v48_0/Air.wsdl -> file:///schemas/air_v48_0
- file:///schemas/common_v48_0/CommonReqRsp.xsd -> file:///schemas
Parameters:
Name | Type | Description | Default |
---|---|---|---|
uri | str | A resource location URI | required |
Source code in xsdata/utils/downloader.py
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
|
adjust_imports(path, content)
Update the location of the imports to point to the downloaded files.
Source code in xsdata/utils/downloader.py
96 97 98 99 100 101 102 103 104 105 |
|
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 | Optional[str] | The import location of the resource | required |
content | str | The raw content string | required |
Source code in xsdata/utils/downloader.py
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|