castor-extractor 0.17.3__py3-none-any.whl → 0.18.2__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 castor-extractor might be problematic. Click here for more details.
- CHANGELOG.md +20 -0
- castor_extractor/commands/extract_metabase_api.py +2 -1
- castor_extractor/commands/extract_metabase_db.py +3 -1
- castor_extractor/commands/extract_mode.py +2 -3
- castor_extractor/utils/__init__.py +2 -1
- castor_extractor/utils/collection.py +8 -0
- castor_extractor/utils/safe_request.py +57 -0
- castor_extractor/utils/safe_request_test.py +77 -0
- castor_extractor/utils/salesforce/__init__.py +1 -2
- castor_extractor/utils/salesforce/constants.py +0 -11
- castor_extractor/utils/salesforce/credentials.py +22 -45
- castor_extractor/visualization/domo/__init__.py +1 -1
- castor_extractor/visualization/domo/client/__init__.py +1 -1
- castor_extractor/visualization/domo/client/client.py +37 -52
- castor_extractor/visualization/domo/client/credentials.py +14 -27
- castor_extractor/visualization/domo/extract.py +6 -12
- castor_extractor/visualization/looker/__init__.py +6 -1
- castor_extractor/visualization/looker/api/__init__.py +2 -1
- castor_extractor/visualization/looker/api/client.py +6 -4
- castor_extractor/visualization/looker/api/client_test.py +5 -3
- castor_extractor/visualization/looker/api/credentials.py +33 -0
- castor_extractor/visualization/looker/api/extraction_parameters.py +38 -0
- castor_extractor/visualization/looker/api/sdk.py +2 -28
- castor_extractor/visualization/looker/constant.py +4 -21
- castor_extractor/visualization/looker/constants.py +17 -0
- castor_extractor/visualization/looker/extract.py +30 -29
- castor_extractor/visualization/metabase/__init__.py +6 -1
- castor_extractor/visualization/metabase/client/__init__.py +2 -2
- castor_extractor/visualization/metabase/client/api/__init__.py +1 -0
- castor_extractor/visualization/metabase/client/api/client.py +8 -14
- castor_extractor/visualization/metabase/client/api/credentials.py +13 -40
- castor_extractor/visualization/metabase/client/db/__init__.py +1 -0
- castor_extractor/visualization/metabase/client/db/client.py +13 -34
- castor_extractor/visualization/metabase/client/db/credentials.py +19 -73
- castor_extractor/visualization/metabase/errors.py +5 -3
- castor_extractor/visualization/metabase/extract.py +1 -1
- castor_extractor/visualization/mode/__init__.py +1 -1
- castor_extractor/visualization/mode/client/__init__.py +1 -0
- castor_extractor/visualization/mode/client/client.py +9 -12
- castor_extractor/visualization/mode/client/client_test.py +3 -3
- castor_extractor/visualization/mode/client/credentials.py +18 -51
- castor_extractor/visualization/mode/extract.py +5 -3
- castor_extractor/visualization/powerbi/__init__.py +1 -1
- castor_extractor/visualization/powerbi/client/__init__.py +2 -1
- castor_extractor/visualization/powerbi/client/credentials.py +17 -9
- castor_extractor/visualization/powerbi/client/credentials_test.py +12 -4
- castor_extractor/visualization/powerbi/client/rest.py +2 -2
- castor_extractor/visualization/powerbi/client/rest_test.py +2 -2
- castor_extractor/visualization/powerbi/extract.py +2 -2
- castor_extractor/visualization/qlik/__init__.py +5 -1
- castor_extractor/visualization/qlik/client/__init__.py +1 -0
- castor_extractor/visualization/qlik/client/engine/__init__.py +1 -0
- castor_extractor/visualization/qlik/client/engine/client.py +5 -6
- castor_extractor/visualization/qlik/client/engine/credentials.py +26 -0
- castor_extractor/visualization/qlik/client/master.py +5 -11
- castor_extractor/visualization/qlik/client/rest.py +4 -4
- castor_extractor/visualization/qlik/client/rest_test.py +6 -2
- castor_extractor/visualization/qlik/extract.py +4 -8
- castor_extractor/visualization/sigma/__init__.py +1 -1
- castor_extractor/visualization/sigma/client/__init__.py +1 -1
- castor_extractor/visualization/sigma/client/client.py +12 -5
- castor_extractor/visualization/sigma/client/credentials.py +12 -28
- castor_extractor/visualization/sigma/extract.py +4 -8
- castor_extractor/visualization/tableau_revamp/client/credentials.py +40 -87
- castor_extractor/warehouse/redshift/queries/column.sql +0 -5
- castor_extractor/warehouse/salesforce/extract.py +2 -2
- castor_extractor/warehouse/snowflake/queries/column.sql +0 -1
- castor_extractor/warehouse/synapse/queries/column.sql +0 -1
- {castor_extractor-0.17.3.dist-info → castor_extractor-0.18.2.dist-info}/METADATA +9 -9
- {castor_extractor-0.17.3.dist-info → castor_extractor-0.18.2.dist-info}/RECORD +73 -73
- castor_extractor/visualization/domo/client/client_test.py +0 -60
- castor_extractor/visualization/domo/constants.py +0 -6
- castor_extractor/visualization/looker/env.py +0 -48
- castor_extractor/visualization/looker/parameters.py +0 -78
- castor_extractor/visualization/qlik/constants.py +0 -3
- castor_extractor/visualization/sigma/constants.py +0 -4
- {castor_extractor-0.17.3.dist-info → castor_extractor-0.18.2.dist-info}/LICENCE +0 -0
- {castor_extractor-0.17.3.dist-info → castor_extractor-0.18.2.dist-info}/WHEEL +0 -0
- {castor_extractor-0.17.3.dist-info → castor_extractor-0.18.2.dist-info}/entry_points.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
CHANGELOG.md,sha256=
|
|
1
|
+
CHANGELOG.md,sha256=qBflkUup535wc0FM_zDwfGLnLUKsgCuufANAPF7SA8w,11612
|
|
2
2
|
Dockerfile,sha256=HcX5z8OpeSvkScQsN-Y7CNMUig_UB6vTMDl7uqzuLGE,303
|
|
3
3
|
LICENCE,sha256=sL-IGa4hweyya1HgzMskrRdybbIa2cktzxb5qmUgDg8,8254
|
|
4
4
|
README.md,sha256=uF6PXm9ocPITlKVSh9afTakHmpLx3TvawLf-CbMP3wM,3578
|
|
@@ -8,9 +8,9 @@ castor_extractor/commands/extract_bigquery.py,sha256=dU4OiYO1V0n32orvZnMh1_xtFKF
|
|
|
8
8
|
castor_extractor/commands/extract_databricks.py,sha256=SVKyoa-BBUQAM6HRHf1Wdg9-tpICic2yyvXQwHcNBhA,1264
|
|
9
9
|
castor_extractor/commands/extract_domo.py,sha256=lwJ7XeYOeLMF2plf5PK3cL56N9n2yjcDsyRM6UFwKTM,1208
|
|
10
10
|
castor_extractor/commands/extract_looker.py,sha256=gwjIQPOHrXevgU_o2l8vDHHQT8Sb-mGdwcceb6wJJbg,1483
|
|
11
|
-
castor_extractor/commands/extract_metabase_api.py,sha256=
|
|
12
|
-
castor_extractor/commands/extract_metabase_db.py,sha256=
|
|
13
|
-
castor_extractor/commands/extract_mode.py,sha256
|
|
11
|
+
castor_extractor/commands/extract_metabase_api.py,sha256=5le3lXz91jMYkQO-Hwv1IJF2zrZ9aNWeDbQ9k1NR-zw,841
|
|
12
|
+
castor_extractor/commands/extract_metabase_db.py,sha256=qYHMk5Y6JjNV7KFfX4jjCwwq73vOat8Xmj1zvsRmcZ0,1483
|
|
13
|
+
castor_extractor/commands/extract_mode.py,sha256=f8-iS8uCyjGm0Az-h-4w39DQotaT11tnScyk6vX1Jn8,967
|
|
14
14
|
castor_extractor/commands/extract_mysql.py,sha256=7AH5qMzeLTsENCOeJwtesrWg8Vo8MCEq8fx2YT74Mcw,1034
|
|
15
15
|
castor_extractor/commands/extract_postgres.py,sha256=pX0RnCPi4nw6QQ6wiAuZ_Xt3ZbDuMUG9aQKuqFgJtAU,1154
|
|
16
16
|
castor_extractor/commands/extract_powerbi.py,sha256=e6MXDNOafdp0w4ZtOnE5z5o_CxvaodUbbQFk__pDiM4,875
|
|
@@ -44,7 +44,7 @@ castor_extractor/uploader/env_test.py,sha256=ClCWWtwd2N-5ClIDUxVMeKkWfhhOTxpppsX
|
|
|
44
44
|
castor_extractor/uploader/upload.py,sha256=W1TGqO8_PtFdR661qNlh6v-LOIRvoJoda65-5OujFXs,3239
|
|
45
45
|
castor_extractor/uploader/upload_test.py,sha256=7fwstdQe7FjuwGilsCdFpEQr1qLoR2WTRUzyy93fISw,402
|
|
46
46
|
castor_extractor/uploader/utils.py,sha256=Tx_i875L2vJ8btOLV3-L0UMEFiyhH8E5n0XXRyLjO0Y,793
|
|
47
|
-
castor_extractor/utils/__init__.py,sha256=
|
|
47
|
+
castor_extractor/utils/__init__.py,sha256=oP5yVp7Vw7PqixkumDydEBAOncaFXmwf1IHqtDwLXGs,1275
|
|
48
48
|
castor_extractor/utils/client/__init__.py,sha256=CRE-xJKm6fVV9dB8ljzB5YoOxX4I1sCD1KSgqs3Y8_Y,161
|
|
49
49
|
castor_extractor/utils/client/abstract.py,sha256=aA5Qcb9TwWDSMq8WpXbGkOB20hehwX2VTpqQAwV76wk,2048
|
|
50
50
|
castor_extractor/utils/client/api.py,sha256=AGDj2JH__Q_x7RQdodoVazGvjGQJ9TzNqs-XEX6Hrms,1840
|
|
@@ -53,7 +53,7 @@ castor_extractor/utils/client/postgres.py,sha256=n6ulaT222WWPY0_6qAZ0MHF0m91HtI9
|
|
|
53
53
|
castor_extractor/utils/client/query.py,sha256=O6D5EjD1KmBlwa786Uw4D4kzxx97_HH50xIIeSWt0B8,205
|
|
54
54
|
castor_extractor/utils/client/uri.py,sha256=jmP9hY-6PRqdc3-vAOdtll_U6q9VCqSqmBAN6QRs3ZI,150
|
|
55
55
|
castor_extractor/utils/client/uri_test.py,sha256=1XKF6qSseCeD4G4ckaNO07JXfGbt7XUVinOZdpEYrDQ,259
|
|
56
|
-
castor_extractor/utils/collection.py,sha256=
|
|
56
|
+
castor_extractor/utils/collection.py,sha256=9jMkDNrI-B0qSzMK_MeCIGVBt4K4GiH5uLFg2lvHvro,1752
|
|
57
57
|
castor_extractor/utils/collection_test.py,sha256=I9xLnBUPiAGj7UDqEd0G6pcgqjcNHJ5DYXbmTXVhBM8,1713
|
|
58
58
|
castor_extractor/utils/constants.py,sha256=qBQprS9U66mS-RIBXiLujdTSV3WvGv40Bc0khP4Abdk,39
|
|
59
59
|
castor_extractor/utils/dbt/__init__.py,sha256=LHQROlMqYWCc7tcmhdjXtROFpJqUvCg9jPC8avHgD4I,107
|
|
@@ -83,12 +83,14 @@ castor_extractor/utils/pager/pager_test.py,sha256=QPBVShSXhkiYZUfnAMs43xnys6CD8p
|
|
|
83
83
|
castor_extractor/utils/retry.py,sha256=OsUS3qysHCkgWge8BgBwyuvoWcJ6pR_RQmQDcHlors4,3410
|
|
84
84
|
castor_extractor/utils/retry_test.py,sha256=nsMttlmyKygVcffX3Hay8U2S1BspkGPiCmzIXPpLKyk,2230
|
|
85
85
|
castor_extractor/utils/safe.py,sha256=jpfIimwdBSVUvU2DPFrhqpKC_DSYwxQqd08MlIkSODY,1967
|
|
86
|
+
castor_extractor/utils/safe_request.py,sha256=Awpl1mvOMAK7k2fSprLyFyPUyU_f2VN1xP_M57lSsF0,1596
|
|
87
|
+
castor_extractor/utils/safe_request_test.py,sha256=d7T2I5EH6flZrM6aWwsRxLgJrxA0juMH73CyrSt4wYI,2052
|
|
86
88
|
castor_extractor/utils/safe_test.py,sha256=IHN1Z761tYMFslYC-2HAfkXmFPh4LYSqNLs4QZwykjk,2160
|
|
87
|
-
castor_extractor/utils/salesforce/__init__.py,sha256=
|
|
89
|
+
castor_extractor/utils/salesforce/__init__.py,sha256=fZ2U6t6AFFAIC-DLXvFHBgpBDjTvX0tFgZ8zJoehPAc,88
|
|
88
90
|
castor_extractor/utils/salesforce/client.py,sha256=KgqvncwDESb9pVkf4yeI8cRygB0n3QwSWsAUuYBSUWM,2861
|
|
89
91
|
castor_extractor/utils/salesforce/client_test.py,sha256=s6UTogjC36jrJOnYA-gFuyTQsvROCt9y_eoD2O41xCg,682
|
|
90
|
-
castor_extractor/utils/salesforce/constants.py,sha256=
|
|
91
|
-
castor_extractor/utils/salesforce/credentials.py,sha256=
|
|
92
|
+
castor_extractor/utils/salesforce/constants.py,sha256=7yPmUeyn4IHQiHLDutXE0L_OBd41E5080vFxqA_s4Dc,58
|
|
93
|
+
castor_extractor/utils/salesforce/credentials.py,sha256=Fp-7yaidGpeuaXad1ng6dr1jSOI9Bl2KMVZXPyTBVjM,1148
|
|
92
94
|
castor_extractor/utils/salesforce/credentials_test.py,sha256=FQRyNk2Jsh6KtYiW20oL43CVnGjXLcAjdFATkE7jK0s,586
|
|
93
95
|
castor_extractor/utils/store.py,sha256=D_pVaPsu1MKAJC0K47O_vYTs-Afl6oejravAJdvjmGc,2040
|
|
94
96
|
castor_extractor/utils/string.py,sha256=aW6bbjqEGnh9kT5KZBnMlV6fhdgOJ0ENCkCTDon1xA0,2377
|
|
@@ -100,43 +102,42 @@ castor_extractor/utils/validation.py,sha256=NNMkdyvMzConslnyCM3gmciEtPPvefW0vAT2
|
|
|
100
102
|
castor_extractor/utils/validation_test.py,sha256=aSetitOCkH_K-Wto9ISOVGso5jGfTUOBLm3AZnvavO8,1181
|
|
101
103
|
castor_extractor/utils/write.py,sha256=CbLMz-mkUFduwogERwe69GXXVO65HEDirVm-kDJkRxg,2135
|
|
102
104
|
castor_extractor/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
103
|
-
castor_extractor/visualization/domo/__init__.py,sha256=
|
|
105
|
+
castor_extractor/visualization/domo/__init__.py,sha256=1axOCPm4RpdIyUt9LQEvlMvbOPllW8rk63h6EjVgJ0Y,111
|
|
104
106
|
castor_extractor/visualization/domo/assets.py,sha256=bK1urFR2tnlWkVkkhR32mAKMoKbESNlop-CNGx-65PY,206
|
|
105
|
-
castor_extractor/visualization/domo/client/__init__.py,sha256=
|
|
106
|
-
castor_extractor/visualization/domo/client/client.py,sha256=
|
|
107
|
-
castor_extractor/visualization/domo/client/
|
|
108
|
-
castor_extractor/visualization/domo/client/credentials.py,sha256=CksQ9W9X6IGjTlYN0okwGAmURMRJKAjctxODAvAJUAo,1148
|
|
107
|
+
castor_extractor/visualization/domo/client/__init__.py,sha256=Do0fU4B8Hhlhahcv734gnJl_ryCztfTBDea7XNCKfB8,72
|
|
108
|
+
castor_extractor/visualization/domo/client/client.py,sha256=IloBGQ0F882Wt-4mzbyZI10tvI8o_96HXhTB5HDTB3E,9475
|
|
109
|
+
castor_extractor/visualization/domo/client/credentials.py,sha256=_dcoJCQa5dKz2EG-sFJzL663Mvx99phGFsPsEVbgKQI,890
|
|
109
110
|
castor_extractor/visualization/domo/client/endpoints.py,sha256=6UI5psMYaIa1Pq_Gulb4cNna7NZ16xMotScX7yg5TRQ,2367
|
|
110
111
|
castor_extractor/visualization/domo/client/pagination.py,sha256=ukVkHVzoH4mfZ29H9YcnC2YrdVolP10wv25J6Q3ehRw,821
|
|
111
112
|
castor_extractor/visualization/domo/client/pagination_test.py,sha256=nV4yZWfus13QFCr-tlBUgwva21VqfpF6P-0ks_Awwis,581
|
|
112
|
-
castor_extractor/visualization/domo/
|
|
113
|
-
castor_extractor/visualization/
|
|
114
|
-
castor_extractor/visualization/looker/__init__.py,sha256=
|
|
115
|
-
castor_extractor/visualization/looker/api/
|
|
116
|
-
castor_extractor/visualization/looker/api/
|
|
117
|
-
castor_extractor/visualization/looker/api/client_test.py,sha256=wsi20-neBXHaahDqf4nwCp8Ew5fRFCmVHG3OqrePKFs,1868
|
|
113
|
+
castor_extractor/visualization/domo/extract.py,sha256=RfaXHbjMKzcNsg27Avc-vpIH654H-g9boakWVJrCxfE,2230
|
|
114
|
+
castor_extractor/visualization/looker/__init__.py,sha256=mem0020YeP4_5zDnqRXOW3gWfiU1_vl_oKj0E8qA88g,194
|
|
115
|
+
castor_extractor/visualization/looker/api/__init__.py,sha256=HDLsLy3kDWHIplAzLl1_u_bvGlgY6cuplf8myJTdfTg,169
|
|
116
|
+
castor_extractor/visualization/looker/api/client.py,sha256=1iXFpwSL39K5Nimh6pFFg-PJ45nGrrdWjEUMH7cp8r8,9896
|
|
117
|
+
castor_extractor/visualization/looker/api/client_test.py,sha256=a80DpBOorFumXEA3D_qHuRZJqR51-DUtbz65XSLuSHc,1977
|
|
118
118
|
castor_extractor/visualization/looker/api/constants.py,sha256=pZpq09tqcGi2Vh8orXxn9eil8ewfPUOLKfVuqgV2W-A,4126
|
|
119
|
-
castor_extractor/visualization/looker/api/
|
|
119
|
+
castor_extractor/visualization/looker/api/credentials.py,sha256=-C6M93N2di0XEkvhBLf_Axhu8viY9y5v8wT2vJaEGlo,983
|
|
120
|
+
castor_extractor/visualization/looker/api/extraction_parameters.py,sha256=M5Z2gV9vN-wJfGWq5n7HXzXRJr2Ex-Ed9qIv6_xm2M8,1224
|
|
121
|
+
castor_extractor/visualization/looker/api/sdk.py,sha256=KEhVCpQ__K9yTxSoIDG5y1FFuAhmeHo65pvxh7g90Ts,1600
|
|
120
122
|
castor_extractor/visualization/looker/api/sdk_test.py,sha256=NHtKZTflPhqzBFHs1TyAQaubgxfzLLwYKFT8rEqR55I,1742
|
|
121
123
|
castor_extractor/visualization/looker/api/utils.py,sha256=TJqq9UBVFtS33VB1zHzT6kU8f9MOyqXsUcr57ZurJy4,588
|
|
122
124
|
castor_extractor/visualization/looker/assets.py,sha256=K08nV6MMIpfF9r91TmCO7_62smHzGRv3gR4aIOootMQ,827
|
|
123
|
-
castor_extractor/visualization/looker/constant.py,sha256=
|
|
124
|
-
castor_extractor/visualization/looker/
|
|
125
|
-
castor_extractor/visualization/looker/extract.py,sha256=
|
|
125
|
+
castor_extractor/visualization/looker/constant.py,sha256=UgfOdu6Xz3stXTeh3pzWus6I3tiPK51NL8EWi0C3G2c,129
|
|
126
|
+
castor_extractor/visualization/looker/constants.py,sha256=522UNbOxx-VDJn4iPUVCpSKCQwrvEOjugsuS1yzyecI,361
|
|
127
|
+
castor_extractor/visualization/looker/extract.py,sha256=8D0AsgvhS-19I-a8CiZ-iC2m-1AtHEgDLAWh4KwW6sI,5164
|
|
126
128
|
castor_extractor/visualization/looker/fields.py,sha256=WmiSehmczWTufCLg4r2Ozq2grUpzxDNvIAHyGuOoGs4,636
|
|
127
129
|
castor_extractor/visualization/looker/fields_test.py,sha256=7Cwq8Qky6aTZg8nCHp1gmPJtd9pGNB4QeMIRRWdHo5w,782
|
|
128
130
|
castor_extractor/visualization/looker/multithreading.py,sha256=6CrMOy9kMBfhHnZI7XrpNNyBiYYCO3CE4AuIjQVlLH0,2610
|
|
129
|
-
castor_extractor/visualization/
|
|
130
|
-
castor_extractor/visualization/metabase/__init__.py,sha256=hSIoVgPzhQh-9H8XRUzga4EZSOYejGdH-qY_hBNGbyw,125
|
|
131
|
+
castor_extractor/visualization/metabase/__init__.py,sha256=3E36cmkMyEgBB6Ot5rWk-N75i0G-7k24QTlc-Iol4pM,193
|
|
131
132
|
castor_extractor/visualization/metabase/assets.py,sha256=47fMax7QjFKyjEuH2twsjd-l9EM4RJutAZb4GbASdkU,2836
|
|
132
|
-
castor_extractor/visualization/metabase/client/__init__.py,sha256=
|
|
133
|
-
castor_extractor/visualization/metabase/client/api/__init__.py,sha256=
|
|
134
|
-
castor_extractor/visualization/metabase/client/api/client.py,sha256=
|
|
133
|
+
castor_extractor/visualization/metabase/client/__init__.py,sha256=KBvaPMofBRV3m_sZAnKNCrJGr-Z88EbpdzEzWPQ_uBk,99
|
|
134
|
+
castor_extractor/visualization/metabase/client/api/__init__.py,sha256=BYSPWHY4KbT-LvenNI0pRonxolzZ5HSl6v3-PbJr-7M,78
|
|
135
|
+
castor_extractor/visualization/metabase/client/api/client.py,sha256=sQIROc8lKEEUs496Qhi_Uvk9YV1Is4klqmn6Etvudbs,5935
|
|
135
136
|
castor_extractor/visualization/metabase/client/api/client_test.py,sha256=7Lb5yvrvHQmCIOnFzS2D00oR2Zps1SVxGIAukzRVeKg,559
|
|
136
|
-
castor_extractor/visualization/metabase/client/api/credentials.py,sha256=
|
|
137
|
-
castor_extractor/visualization/metabase/client/db/__init__.py,sha256=
|
|
138
|
-
castor_extractor/visualization/metabase/client/db/client.py,sha256=
|
|
139
|
-
castor_extractor/visualization/metabase/client/db/credentials.py,sha256=
|
|
137
|
+
castor_extractor/visualization/metabase/client/api/credentials.py,sha256=pghxuUJcdaNa6OJGDD6u5SeHGOzZdaozLgiZAMYZXek,530
|
|
138
|
+
castor_extractor/visualization/metabase/client/db/__init__.py,sha256=nawDhJ-JGlpM6VMzZZRjf066QXk9kWzZr6l9n6OHTZ0,76
|
|
139
|
+
castor_extractor/visualization/metabase/client/db/client.py,sha256=s38mubBaun4LfYWXqk_fyObWTk9f69AorDrXyW4HNiw,3369
|
|
140
|
+
castor_extractor/visualization/metabase/client/db/credentials.py,sha256=PTA2voPOvU68RjCnoCqK_5IARlSHO3xLHHYvbks9mIA,757
|
|
140
141
|
castor_extractor/visualization/metabase/client/db/queries/.sqlfluff,sha256=sOQQOpAa9QMj9cBlulfmt-DZ_kQzMpzSAEnh10QGSB0,76
|
|
141
142
|
castor_extractor/visualization/metabase/client/db/queries/base_url.sql,sha256=p2EL9kdt-hw_yh3aeCE91AXEB4RrYAbG2QrBBNqQjDE,79
|
|
142
143
|
castor_extractor/visualization/metabase/client/db/queries/card.sql,sha256=U4-ZrZP5XS7Kssd3CFlpGrABbHAMK09Bh_yeT3z7Yk8,419
|
|
@@ -149,63 +150,62 @@ castor_extractor/visualization/metabase/client/db/queries/user.sql,sha256=3aNAqx
|
|
|
149
150
|
castor_extractor/visualization/metabase/client/decryption.py,sha256=q1LyFlHUx1xUGFOjvzJJMe0L8MXPIYLleY7ECysLPsI,1076
|
|
150
151
|
castor_extractor/visualization/metabase/client/decryption_test.py,sha256=qZAIksj1gj5MKjapDPVWz3BrkzZ3Mhd1V0EPzG2vb0w,590
|
|
151
152
|
castor_extractor/visualization/metabase/client/shared.py,sha256=0uh-jwdELjZDFo5ZDyHPa7EeNCMTCMgz2k-pPQq99VI,389
|
|
152
|
-
castor_extractor/visualization/metabase/errors.py,sha256=
|
|
153
|
-
castor_extractor/visualization/metabase/extract.py,sha256=
|
|
153
|
+
castor_extractor/visualization/metabase/errors.py,sha256=A6uykA5IO-TwcnyoJsqzNFjPHIokmSRawL1Nkiv6750,1074
|
|
154
|
+
castor_extractor/visualization/metabase/extract.py,sha256=EEAgveLy_JUnQpaFTDiQnKRuPFALfWIpyHO7txEO9m8,1775
|
|
154
155
|
castor_extractor/visualization/metabase/types.py,sha256=2dBZCUs5_x_y2rWbUVo6IGDWbgRZQm-c-tNetbkBzg4,45
|
|
155
|
-
castor_extractor/visualization/mode/__init__.py,sha256=
|
|
156
|
+
castor_extractor/visualization/mode/__init__.py,sha256=AoXzz7dGzyjDm0mjUNmkCiT9CpkA-t_z_YEXwpxpOwI,149
|
|
156
157
|
castor_extractor/visualization/mode/assets.py,sha256=Gc8Z2oi5Jn8yyh9tj6OqYYYi2-gJ4zgos6XWLxirAzM,1574
|
|
157
|
-
castor_extractor/visualization/mode/client/__init__.py,sha256=
|
|
158
|
-
castor_extractor/visualization/mode/client/client.py,sha256=
|
|
158
|
+
castor_extractor/visualization/mode/client/__init__.py,sha256=iuxNaKR2KpBukDSVqpfgMoCVh5ilB3wiMvESROioxAw,68
|
|
159
|
+
castor_extractor/visualization/mode/client/client.py,sha256=CLuPCLFs0jgcJnBJ_BHfjjv5RLUdc5pqq15vQ3QcK74,7615
|
|
159
160
|
castor_extractor/visualization/mode/client/client_test.json,sha256=oGmzg7fTXQa67xvsvFKmogcNpj8hfMbzmlY7iP9oa9g,2087
|
|
160
|
-
castor_extractor/visualization/mode/client/client_test.py,sha256=
|
|
161
|
+
castor_extractor/visualization/mode/client/client_test.py,sha256=zljcREpnIm3ZQtj2Nmza1PlAuQiXZlz0-HgtLfxomCo,1462
|
|
161
162
|
castor_extractor/visualization/mode/client/constants.py,sha256=_Si5AF6VnpoSfnNNgb5afV1mby1E-_1GGE2WLSR_fRI,453
|
|
162
|
-
castor_extractor/visualization/mode/client/credentials.py,sha256=
|
|
163
|
+
castor_extractor/visualization/mode/client/credentials.py,sha256=fE12wiTeDvyKzDJ3XwXLk7bOW00uyESJpvIVmA9Xekk,617
|
|
163
164
|
castor_extractor/visualization/mode/errors.py,sha256=SKpFT2AiLOuWx2VRLyO7jbAiKcGDFXXrsebpNEKtr0E,1495
|
|
164
|
-
castor_extractor/visualization/mode/extract.py,sha256=
|
|
165
|
-
castor_extractor/visualization/powerbi/__init__.py,sha256=
|
|
165
|
+
castor_extractor/visualization/mode/extract.py,sha256=mR9AloDqxuxcpoYsgrl-mqDts5MvWWY4dh-wwvUHveQ,1618
|
|
166
|
+
castor_extractor/visualization/powerbi/__init__.py,sha256=VylJP6kw4yd2zGj31V-U9UXdhnPS9MK2Fz7Sd9KTkKI,119
|
|
166
167
|
castor_extractor/visualization/powerbi/assets.py,sha256=SASUjxtoOMag3NAlZfhpCy0sLap7WfENEMaEZuBrw6o,801
|
|
167
|
-
castor_extractor/visualization/powerbi/client/__init__.py,sha256=
|
|
168
|
+
castor_extractor/visualization/powerbi/client/__init__.py,sha256=ewaEKS_shQlBbCpf-12J-bx3aUIpxbFZRJUL4eNOOno,97
|
|
168
169
|
castor_extractor/visualization/powerbi/client/constants.py,sha256=gpcWE3Ov2xvZAZCqOsvzLtd3cWmfZBeQWvLnnt7-gac,2356
|
|
169
|
-
castor_extractor/visualization/powerbi/client/credentials.py,sha256=
|
|
170
|
-
castor_extractor/visualization/powerbi/client/credentials_test.py,sha256=
|
|
171
|
-
castor_extractor/visualization/powerbi/client/rest.py,sha256=
|
|
172
|
-
castor_extractor/visualization/powerbi/client/rest_test.py,sha256=
|
|
170
|
+
castor_extractor/visualization/powerbi/client/credentials.py,sha256=z2p3KbA095LFV8XCGV6xLdHuPgOy5sQwCIAjkPgl5n8,772
|
|
171
|
+
castor_extractor/visualization/powerbi/client/credentials_test.py,sha256=Zp7upzTUoGSArg-ujP0d9dGx31OMubIuA3S8X5Flv9Y,1016
|
|
172
|
+
castor_extractor/visualization/powerbi/client/rest.py,sha256=oBPc7n58We2TAcL7IuXPybbe1hFYMXG6iQC3x9b7SRc,9963
|
|
173
|
+
castor_extractor/visualization/powerbi/client/rest_test.py,sha256=WMd8042r0nbUZECCVVC9JpJuNica2qlQBBbM8QuYfcQ,8528
|
|
173
174
|
castor_extractor/visualization/powerbi/client/utils.py,sha256=0RcoWcKOdvIGH4f3lYDvufmiMo4tr_ABFlITSrvXjTs,541
|
|
174
175
|
castor_extractor/visualization/powerbi/client/utils_test.py,sha256=ULHL2JLrcv0xjW2r7QF_ce2OaGeeSzajkMDywJ8ZdVA,719
|
|
175
|
-
castor_extractor/visualization/powerbi/extract.py,sha256=
|
|
176
|
-
castor_extractor/visualization/qlik/__init__.py,sha256=
|
|
176
|
+
castor_extractor/visualization/powerbi/extract.py,sha256=PuWR4Q25k3NYNkMSrDVH5SJ6tTvBlxfdkeeP0FoSCiQ,1342
|
|
177
|
+
castor_extractor/visualization/qlik/__init__.py,sha256=u6lIfm_WOykBwt6SlaB7C0Dtx37XBliUbM5oWv26gC8,177
|
|
177
178
|
castor_extractor/visualization/qlik/assets.py,sha256=cG3Cqrj2s4inAqfW6dOaxRape2RPiCeGSYjKsRJRLLo,1657
|
|
178
|
-
castor_extractor/visualization/qlik/client/__init__.py,sha256=
|
|
179
|
+
castor_extractor/visualization/qlik/client/__init__.py,sha256=5O5N9Jrt3d99agFEJ28lKWs2KkDaXK-lZ07IUtLj56M,130
|
|
179
180
|
castor_extractor/visualization/qlik/client/constants.py,sha256=HM7_czk2v87bf3HCAIaNVhaSREI8-9ygaOmK69HquZQ,786
|
|
180
|
-
castor_extractor/visualization/qlik/client/engine/__init__.py,sha256=
|
|
181
|
-
castor_extractor/visualization/qlik/client/engine/client.py,sha256=
|
|
181
|
+
castor_extractor/visualization/qlik/client/engine/__init__.py,sha256=UhqIEpQy9TO0sXz1qS9vMZjGGml5iKvASKGYct9cNKw,77
|
|
182
|
+
castor_extractor/visualization/qlik/client/engine/client.py,sha256=hibqb7Ve6qP-wIkv5oIlcP8bgbgeZhAH3ZTOFINtlVA,2569
|
|
182
183
|
castor_extractor/visualization/qlik/client/engine/constants.py,sha256=euPZnUpr8p3M7BAA3IPWmcwEoXb2POPC8CxTjt8xd70,707
|
|
184
|
+
castor_extractor/visualization/qlik/client/engine/credentials.py,sha256=JXDc1x0rw_fqIP7Gj2PS_qWjkNKJgsMsjCgCjORA5bM,646
|
|
183
185
|
castor_extractor/visualization/qlik/client/engine/error.py,sha256=xdVMOsz5iaUK343-X5vkhxSrVmdeWom7DF0sDT-CtNQ,1229
|
|
184
186
|
castor_extractor/visualization/qlik/client/engine/error_test.py,sha256=YpyK3nWvOFpYC9JlPsbECkdBlCnZPTojUbimX5ZT1e8,1005
|
|
185
187
|
castor_extractor/visualization/qlik/client/engine/json_rpc.py,sha256=xu6AB7BnGIY2Thj3Hkm09ua6h3_7in8I7Eg4ZdTNbno,1411
|
|
186
188
|
castor_extractor/visualization/qlik/client/engine/json_rpc_test.py,sha256=WobE7aOnGwixS021xBqFDGWmUhW0u8m7nX0kFs8nyC8,1304
|
|
187
189
|
castor_extractor/visualization/qlik/client/engine/websocket.py,sha256=KVgymI51s7_FPWEEDcalbAJa7sOrjjtDFAusl-lduGs,2032
|
|
188
|
-
castor_extractor/visualization/qlik/client/master.py,sha256=
|
|
189
|
-
castor_extractor/visualization/qlik/client/rest.py,sha256=
|
|
190
|
-
castor_extractor/visualization/qlik/client/rest_test.py,sha256=
|
|
191
|
-
castor_extractor/visualization/qlik/
|
|
192
|
-
castor_extractor/visualization/qlik/extract.py,sha256=1ulrirDzoKEdsWxztR6MHcUAE8CiEMx75esdUE7PAmY,2397
|
|
190
|
+
castor_extractor/visualization/qlik/client/master.py,sha256=MQI62W9zG5wsIE2RZ9p-xuOF2kN1H90JU7H3qXh7CYo,3146
|
|
191
|
+
castor_extractor/visualization/qlik/client/rest.py,sha256=HCAzWkTNiscu_6i-9EAC65-uPqWNORevx4bMKKI-wPs,6015
|
|
192
|
+
castor_extractor/visualization/qlik/client/rest_test.py,sha256=yfiUht6BcpBYS2uGdaKCH-tYe0fQ-joM4MbitKwOf24,1799
|
|
193
|
+
castor_extractor/visualization/qlik/extract.py,sha256=1S5KPnAg7aynh_xd_gMQxRpMTyYAGyzO3-JT0VNDIs0,2300
|
|
193
194
|
castor_extractor/visualization/salesforce_reporting/__init__.py,sha256=MvArD0GKNIpCDvLIYcpKrjMjFLhMyDETK6i3k0Fb6Tk,124
|
|
194
195
|
castor_extractor/visualization/salesforce_reporting/assets.py,sha256=2J-iAmJGGDufOcJUgE47M3-dEcjYXcVyVUNcmHrj79w,271
|
|
195
196
|
castor_extractor/visualization/salesforce_reporting/client/__init__.py,sha256=DIA6f_vNJZqT89qVYxg98Le7QeDn2y0Qew03V3J9t9o,44
|
|
196
197
|
castor_extractor/visualization/salesforce_reporting/client/rest.py,sha256=hzaXWLcYt0aAHXK46DbsLmzocjRY1llwrNj8_3TObKs,1849
|
|
197
198
|
castor_extractor/visualization/salesforce_reporting/client/soql.py,sha256=DHTi058UEaZKZnxJVmsCouPfA9Lgr3gFY6vY7NiqyMM,1584
|
|
198
199
|
castor_extractor/visualization/salesforce_reporting/extract.py,sha256=5QwZwP27uXrFJSf00El7Ku592-9fhmCtTdiUGpNkHZM,1678
|
|
199
|
-
castor_extractor/visualization/sigma/__init__.py,sha256=
|
|
200
|
+
castor_extractor/visualization/sigma/__init__.py,sha256=GINql4yJLtjfOJgjHaWNpE13cMtnKNytiFRomwav27Q,114
|
|
200
201
|
castor_extractor/visualization/sigma/assets.py,sha256=JZ1Cpxnml8P3mIJoTUM57hvylB18ErECQXaP5FF63O4,268
|
|
201
|
-
castor_extractor/visualization/sigma/client/__init__.py,sha256=
|
|
202
|
-
castor_extractor/visualization/sigma/client/client.py,sha256=
|
|
202
|
+
castor_extractor/visualization/sigma/client/__init__.py,sha256=YQv06FBBQHvBMFg_tN0nUcmUp2NCL2s-eFTXG8rXaBg,74
|
|
203
|
+
castor_extractor/visualization/sigma/client/client.py,sha256=FzMPsBiGEy_FG1sbEEe5zIe5-8RjF6UBeGbQd_cY0-c,7143
|
|
203
204
|
castor_extractor/visualization/sigma/client/client_test.py,sha256=BdxJsmTyhslup4vePbkiaoTTaJ9RDY7UfK4OhBpu1Z4,1592
|
|
204
|
-
castor_extractor/visualization/sigma/client/credentials.py,sha256=
|
|
205
|
+
castor_extractor/visualization/sigma/client/credentials.py,sha256=vXFBUeU9XpfmCGAdm8b2dC0tLQ6ITQnGOZcYxKFn_2c,486
|
|
205
206
|
castor_extractor/visualization/sigma/client/endpoints.py,sha256=7yNDL0p9wZDE7CcVOj9Z1eP2tdJE1CUT9vbfSEV2kOY,1157
|
|
206
207
|
castor_extractor/visualization/sigma/client/pagination.py,sha256=EZGMaONTzZ15VINUAtH0sOmJae0JlDjOQPKBXK_V8sg,667
|
|
207
|
-
castor_extractor/visualization/sigma/
|
|
208
|
-
castor_extractor/visualization/sigma/extract.py,sha256=OgjUsc1o6lPPaO5XHgCrgQelBrqbdemxKggF4JBPBUI,2678
|
|
208
|
+
castor_extractor/visualization/sigma/extract.py,sha256=Qh0Dt1-IXg379Q4UWYhGul_zlj1LEowy25AcuwgYXV0,2501
|
|
209
209
|
castor_extractor/visualization/tableau/__init__.py,sha256=hDohrWjkorrX01JMc154aa9vi3ZqBKmA1lkfQtMFfYE,114
|
|
210
210
|
castor_extractor/visualization/tableau/assets.py,sha256=mfBUzcBCLyiU9gnTB_6rvtiB5yXSDU99nezhGC__HQo,1270
|
|
211
211
|
castor_extractor/visualization/tableau/client/__init__.py,sha256=FQX1MdxS8Opn3Oyq8eby7suk3ANbLlpzzCPQ3zqvk0I,78
|
|
@@ -245,7 +245,7 @@ castor_extractor/visualization/tableau_revamp/__init__.py,sha256=a3DGjQhaz17gBqW
|
|
|
245
245
|
castor_extractor/visualization/tableau_revamp/assets.py,sha256=owlwaI2E4UKk1YhkaHgaAXx6gu3Op6EqZ7bjp0tHI6s,351
|
|
246
246
|
castor_extractor/visualization/tableau_revamp/client/__init__.py,sha256=wmS9uLtUiqNYVloi0-DgD8d2qzu3RVZEAtWiaDp6G_M,90
|
|
247
247
|
castor_extractor/visualization/tableau_revamp/client/client.py,sha256=RSoHDfz79ma0YJRGpiCihnwLGmoxLzphYrxRVyvByHI,9742
|
|
248
|
-
castor_extractor/visualization/tableau_revamp/client/credentials.py,sha256=
|
|
248
|
+
castor_extractor/visualization/tableau_revamp/client/credentials.py,sha256=qA-EaX-4rbQRsn8v4zWh5Kh784ndHLjJaoZwnkQgCyo,1905
|
|
249
249
|
castor_extractor/visualization/tableau_revamp/client/errors.py,sha256=dTe1shqmWmAXpDpCz-E24m8dGYjt6rvIGV9qQb4jnvI,150
|
|
250
250
|
castor_extractor/visualization/tableau_revamp/client/gql_queries.py,sha256=-V3ToD5Gi7nmfVB2OxTOZw8dcOiF7_ciSWjjW2UdvvI,2270
|
|
251
251
|
castor_extractor/visualization/tableau_revamp/client/tsc_fields.py,sha256=WsDliPCo-XsQ7wN-j0gpW9bdxCHvgH-aePywiltzfbU,688
|
|
@@ -315,7 +315,7 @@ castor_extractor/warehouse/redshift/client.py,sha256=My7003HGBhTpS6X5NgYcKwntR7h
|
|
|
315
315
|
castor_extractor/warehouse/redshift/client_test.py,sha256=74lZfna71qs80EKAuitJ8_ZjAGtpYHf5tChySinVPoQ,1023
|
|
316
316
|
castor_extractor/warehouse/redshift/extract.py,sha256=XnAnBSapzXYUWVQKMhVaLlloA-uXEqseOhSt9flVsdw,2331
|
|
317
317
|
castor_extractor/warehouse/redshift/queries/.sqlfluff,sha256=W4pFQiY8KMtXwn3WguYQJA8cj78VR7K-iokPoZoy5aM,30
|
|
318
|
-
castor_extractor/warehouse/redshift/queries/column.sql,sha256=
|
|
318
|
+
castor_extractor/warehouse/redshift/queries/column.sql,sha256=ZXdurmaJRD2fejDksU5eh37Q4srmnVrEjSzsrtg_il8,6840
|
|
319
319
|
castor_extractor/warehouse/redshift/queries/database.sql,sha256=_C0knW159YDfReGuWLjIdvxHzefo1Xg2xw2dJKJzNk8,299
|
|
320
320
|
castor_extractor/warehouse/redshift/queries/group.sql,sha256=8p0wlqllnwOTiAgiV237DvFYHGOEcYwaHdyqVQg3F6E,101
|
|
321
321
|
castor_extractor/warehouse/redshift/queries/query.sql,sha256=yZNGnUdebvvDx0J0KMSJ2hNgkK4gPduyOfPM_7-DIfo,3465
|
|
@@ -328,7 +328,7 @@ castor_extractor/warehouse/redshift/query.py,sha256=0C81rkt2cpkWrJIxxwALDyqr-49v
|
|
|
328
328
|
castor_extractor/warehouse/salesforce/__init__.py,sha256=NR4aNea5jeE1xYqeZ_29deeN84CkN0_D_Z7CLQdJvFY,137
|
|
329
329
|
castor_extractor/warehouse/salesforce/client.py,sha256=ETnZ3n-GFFH0XohDB2ft74wI1HMspvTefR3k7ne-pmI,3891
|
|
330
330
|
castor_extractor/warehouse/salesforce/constants.py,sha256=GusduVBCPvwpk_Im6F3bDvXeNQ7hRnCMdIAjIg65RnE,52
|
|
331
|
-
castor_extractor/warehouse/salesforce/extract.py,sha256=
|
|
331
|
+
castor_extractor/warehouse/salesforce/extract.py,sha256=GaxkGWhdksDT_rlT24KX8DMpWnhKlhDMAUvBPGalli0,3454
|
|
332
332
|
castor_extractor/warehouse/salesforce/format.py,sha256=f5mMJyPsVU1ZSLe5WGCUOpj2SyW7_DFfzNVNu_m2aV0,3126
|
|
333
333
|
castor_extractor/warehouse/salesforce/format_test.py,sha256=HBlAYBoCOHaq_QOFudZlpcZb5TyZWV9v-cxK4tklg50,2253
|
|
334
334
|
castor_extractor/warehouse/salesforce/soql.py,sha256=pAEaJE8ZUcyN3ptBsZGzNcGRhCcU81X6RMlnF1HRMw4,1063
|
|
@@ -339,7 +339,7 @@ castor_extractor/warehouse/snowflake/credentials.py,sha256=wbUdbx9jVSHzg2kNDhMFu
|
|
|
339
339
|
castor_extractor/warehouse/snowflake/credentials_test.py,sha256=Lkc-DHXOvr50KrqAW4nt_x0IA0Mu_CsBVu6ATnzQB6I,673
|
|
340
340
|
castor_extractor/warehouse/snowflake/extract.py,sha256=fcze0VBe9OOAFSr25T9L6CY506Vm_xDEvvy8NWuLW1s,2956
|
|
341
341
|
castor_extractor/warehouse/snowflake/queries/.sqlfluff,sha256=vttrwcr64JVIuvc7WIg9C54cbOkjg_VjXNR7YnTGOPE,31
|
|
342
|
-
castor_extractor/warehouse/snowflake/queries/column.sql,sha256=
|
|
342
|
+
castor_extractor/warehouse/snowflake/queries/column.sql,sha256=Wy-arvS_3Dh0HFrzdpRmBsI58mMlN_5U097s5kMNluQ,1781
|
|
343
343
|
castor_extractor/warehouse/snowflake/queries/column_lineage.sql,sha256=YKBiZ6zySSNcXLDXwm31EjGIIkkkZc0-S6hI1SRM80o,1179
|
|
344
344
|
castor_extractor/warehouse/snowflake/queries/database.sql,sha256=ifZXoKUXtsrGOxml6AcNhA4yybIyatH5va7bcp-lgCU,483
|
|
345
345
|
castor_extractor/warehouse/snowflake/queries/function.sql,sha256=8LRh0ybhd-RldJ8UZspWUm3yv52evq11O2uqIO4KqeQ,372
|
|
@@ -365,15 +365,15 @@ castor_extractor/warehouse/sqlserver/query.py,sha256=j_d5-HMnzBouwGfywVZMRSSwbXz
|
|
|
365
365
|
castor_extractor/warehouse/synapse/__init__.py,sha256=-VyWS6O9gptZ-FTDnUVDi87r_PUA59dPXPjLG1lwzpY,36
|
|
366
366
|
castor_extractor/warehouse/synapse/extract.py,sha256=Tvo6BOXsw2T5Suf4b-aCwJf4GzssijjbpVhulBjazAs,538
|
|
367
367
|
castor_extractor/warehouse/synapse/queries/.sqlfluff,sha256=7eDQrhRQHKUc5zmmNCNG55acRNPMX4mzxylOLf2pM_g,26
|
|
368
|
-
castor_extractor/warehouse/synapse/queries/column.sql,sha256=
|
|
368
|
+
castor_extractor/warehouse/synapse/queries/column.sql,sha256=lNcFoIW3Y0PFOqoOzJEXmPvZvfAsY0AP63Mu2LuPzPo,1351
|
|
369
369
|
castor_extractor/warehouse/synapse/queries/database.sql,sha256=TwDKFsFda3LXTUPjAm79M80ZMZj0yYM9Ay7RwFOLh8I,138
|
|
370
370
|
castor_extractor/warehouse/synapse/queries/query.sql,sha256=LKEA3cEdFpVkw-MduM8p_fO2IzshPGcPXRmn06Zqk0Q,1110
|
|
371
371
|
castor_extractor/warehouse/synapse/queries/schema.sql,sha256=aX9xNrBD_ydwl-znGSFJV4BChIb_5zEXsEMnmM26BY8,250
|
|
372
372
|
castor_extractor/warehouse/synapse/queries/table.sql,sha256=mCE8bR1Vb7j7SwZW2gafcXidQ2fo1HwxcybA8wP2Kfs,1049
|
|
373
373
|
castor_extractor/warehouse/synapse/queries/user.sql,sha256=sTb_SS7Zj3AXW1SggKPLNMCd0qoTpL7XI_BJRMaEpBg,67
|
|
374
374
|
castor_extractor/warehouse/synapse/queries/view_ddl.sql,sha256=3EVbp5_yTgdByHFIPLHmnoOnqqLE77SrjAwFDvu4e54,249
|
|
375
|
-
castor_extractor-0.
|
|
376
|
-
castor_extractor-0.
|
|
377
|
-
castor_extractor-0.
|
|
378
|
-
castor_extractor-0.
|
|
379
|
-
castor_extractor-0.
|
|
375
|
+
castor_extractor-0.18.2.dist-info/LICENCE,sha256=sL-IGa4hweyya1HgzMskrRdybbIa2cktzxb5qmUgDg8,8254
|
|
376
|
+
castor_extractor-0.18.2.dist-info/METADATA,sha256=5Fjm4WkyShhmoOMNzgj8QB8tpOq_jw91ufKOVMIVeU0,7209
|
|
377
|
+
castor_extractor-0.18.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
378
|
+
castor_extractor-0.18.2.dist-info/entry_points.txt,sha256=SbyPk58Gh-FRztfCNnUZQ6w7SatzNJFZ6GIJLNsy7tI,1427
|
|
379
|
+
castor_extractor-0.18.2.dist-info/RECORD,,
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
from unittest.mock import patch
|
|
2
|
-
|
|
3
|
-
import pytest
|
|
4
|
-
import requests
|
|
5
|
-
|
|
6
|
-
from .client import DomoClient, DomoCredentials
|
|
7
|
-
from .endpoints import EndpointFactory
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class FakeResponse:
|
|
11
|
-
"""
|
|
12
|
-
Helper class to fake few requests Response capabilities in the test below
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
def __init__(self, content: dict, status_code: int = 200):
|
|
16
|
-
self.content = content
|
|
17
|
-
self.status_code = status_code
|
|
18
|
-
|
|
19
|
-
def json(self) -> dict:
|
|
20
|
-
return self.content
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@patch.object(DomoClient, "_get")
|
|
24
|
-
def test_client___get_element_with_error_status(mock_get):
|
|
25
|
-
# init
|
|
26
|
-
creds = DomoCredentials("bim", "bam", "boom", "lol")
|
|
27
|
-
client = DomoClient(creds)
|
|
28
|
-
any_endpoint = EndpointFactory("truc").datasets
|
|
29
|
-
|
|
30
|
-
# case no error
|
|
31
|
-
content = {"happy": "path"}
|
|
32
|
-
mock_get.return_value = FakeResponse(content=content)
|
|
33
|
-
assert client._get_element(any_endpoint) == content
|
|
34
|
-
|
|
35
|
-
# case error not ignored, no response -> raised
|
|
36
|
-
error = requests.exceptions.ConnectionError
|
|
37
|
-
mock_get.side_effect = error
|
|
38
|
-
with pytest.raises(error):
|
|
39
|
-
client._get_element(any_endpoint)
|
|
40
|
-
|
|
41
|
-
# case error not ignored, with response -> raised
|
|
42
|
-
error = requests.exceptions.ConnectionError
|
|
43
|
-
status_code = 403
|
|
44
|
-
response = FakeResponse(content={}, status_code=status_code)
|
|
45
|
-
mock_get.side_effect = error(response=response)
|
|
46
|
-
with pytest.raises(error):
|
|
47
|
-
client._get_element(any_endpoint)
|
|
48
|
-
|
|
49
|
-
# case error is ignored -> not raised
|
|
50
|
-
element = client._get_element(
|
|
51
|
-
any_endpoint, ignore_error_codes=(status_code,)
|
|
52
|
-
)
|
|
53
|
-
assert element == dict()
|
|
54
|
-
|
|
55
|
-
# case another error ignored -> raised
|
|
56
|
-
with pytest.raises(error):
|
|
57
|
-
another_status_code = status_code + 4
|
|
58
|
-
client._get_element(
|
|
59
|
-
any_endpoint, ignore_error_codes=(another_status_code,)
|
|
60
|
-
)
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
|
|
3
|
-
from .constant import (
|
|
4
|
-
DEFAULT_LOOKER_PAGE_SIZE,
|
|
5
|
-
DEFAULT_LOOKER_THREAD_POOL_SIZE,
|
|
6
|
-
DEFAULT_LOOKER_TIMEOUT_SECOND,
|
|
7
|
-
KEY_LOOKER_PAGE_SIZE,
|
|
8
|
-
KEY_LOOKER_THREAD_POOL_SIZE,
|
|
9
|
-
KEY_LOOKER_TIMEOUT_SECOND,
|
|
10
|
-
)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def _int_env(key_env_name: str, default_value: int) -> int:
|
|
14
|
-
value = os.environ.get(key_env_name, default_value)
|
|
15
|
-
try:
|
|
16
|
-
return int(value)
|
|
17
|
-
except ValueError:
|
|
18
|
-
return default_value
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def page_size() -> int:
|
|
22
|
-
"""
|
|
23
|
-
Either returns the page size parameter from env or from default value
|
|
24
|
-
"""
|
|
25
|
-
return _int_env(
|
|
26
|
-
key_env_name=KEY_LOOKER_PAGE_SIZE,
|
|
27
|
-
default_value=DEFAULT_LOOKER_PAGE_SIZE,
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def timeout_second() -> int:
|
|
32
|
-
"""
|
|
33
|
-
Either returns the timeout second parameter from env or from default value
|
|
34
|
-
"""
|
|
35
|
-
return _int_env(
|
|
36
|
-
key_env_name=KEY_LOOKER_TIMEOUT_SECOND,
|
|
37
|
-
default_value=DEFAULT_LOOKER_TIMEOUT_SECOND,
|
|
38
|
-
)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
def thread_pool_size() -> int:
|
|
42
|
-
"""
|
|
43
|
-
Either returns the thread pool size from env or from default value
|
|
44
|
-
"""
|
|
45
|
-
return _int_env(
|
|
46
|
-
key_env_name=KEY_LOOKER_THREAD_POOL_SIZE,
|
|
47
|
-
default_value=DEFAULT_LOOKER_THREAD_POOL_SIZE,
|
|
48
|
-
)
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
from typing import NamedTuple, Optional
|
|
2
|
-
|
|
3
|
-
from ...utils import OUTPUT_DIR, from_env, validate_baseurl
|
|
4
|
-
from .constant import (
|
|
5
|
-
BASE_URL,
|
|
6
|
-
CLIENT_ID,
|
|
7
|
-
CLIENT_SECRET,
|
|
8
|
-
LOG_TO_STDOUT,
|
|
9
|
-
SEARCH_PER_FOLDER,
|
|
10
|
-
)
|
|
11
|
-
from .env import thread_pool_size
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def _valid_thread_pool_size(**kwargs):
|
|
15
|
-
"""
|
|
16
|
-
Checks that the thread pool size is between 1 and 200 inclusive.
|
|
17
|
-
https://www.googlecloudcommunity.com/gc/Technical-Tips-Tricks/Is-there-a-limit-to-the-number-of-API-requests-you-can-send-at/ta-p/592612
|
|
18
|
-
"""
|
|
19
|
-
size = kwargs.get("thread_pool_size") or thread_pool_size()
|
|
20
|
-
if not 1 <= size <= 200:
|
|
21
|
-
raise ValueError("Thread pool size must be between 1 and 200 inclusive")
|
|
22
|
-
return size
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def _bool_env_variable(key: str) -> bool:
|
|
26
|
-
parameter = from_env(key, allow_missing=True)
|
|
27
|
-
return str(parameter).lower() == "true"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
class Parameters(NamedTuple):
|
|
31
|
-
"""Parameters for Looker extraction"""
|
|
32
|
-
|
|
33
|
-
base_url: str
|
|
34
|
-
client_id: str
|
|
35
|
-
client_secret: str
|
|
36
|
-
is_safe_mode: bool
|
|
37
|
-
log_to_stdout: bool
|
|
38
|
-
output_directory: str
|
|
39
|
-
search_per_folder: bool
|
|
40
|
-
thread_pool_size: int
|
|
41
|
-
timeout: Optional[int]
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def get_parameters(**kwargs) -> Parameters:
|
|
45
|
-
"""
|
|
46
|
-
Returns parameters for Looker extraction whether they come from script
|
|
47
|
-
argument, env variable or default value.
|
|
48
|
-
"""
|
|
49
|
-
output_directory = kwargs.get("output_directory") or from_env(OUTPUT_DIR)
|
|
50
|
-
|
|
51
|
-
base_url = validate_baseurl(kwargs.get("base_url") or from_env(BASE_URL))
|
|
52
|
-
client_id = kwargs.get("client_id") or from_env(CLIENT_ID)
|
|
53
|
-
client_secret = kwargs.get("client_secret") or from_env(CLIENT_SECRET)
|
|
54
|
-
|
|
55
|
-
thread_pool_size_ = _valid_thread_pool_size(**kwargs)
|
|
56
|
-
|
|
57
|
-
# timeout can be set with env variable however we don't use from_env because it has a default value
|
|
58
|
-
timeout = kwargs.get("timeout")
|
|
59
|
-
|
|
60
|
-
is_safe_mode = kwargs.get("safe_mode", False)
|
|
61
|
-
search_per_folder = kwargs.get("search_per_folder") or _bool_env_variable(
|
|
62
|
-
SEARCH_PER_FOLDER,
|
|
63
|
-
)
|
|
64
|
-
log_to_stdout = kwargs.get("log_to_stdout") or _bool_env_variable(
|
|
65
|
-
LOG_TO_STDOUT
|
|
66
|
-
)
|
|
67
|
-
|
|
68
|
-
return Parameters(
|
|
69
|
-
base_url=base_url,
|
|
70
|
-
client_id=client_id,
|
|
71
|
-
client_secret=client_secret,
|
|
72
|
-
is_safe_mode=is_safe_mode,
|
|
73
|
-
log_to_stdout=log_to_stdout,
|
|
74
|
-
output_directory=output_directory,
|
|
75
|
-
search_per_folder=search_per_folder,
|
|
76
|
-
thread_pool_size=thread_pool_size_,
|
|
77
|
-
timeout=timeout,
|
|
78
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|