atomicshop 2.21.1__py3-none-any.whl → 3.0.0__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 atomicshop might be problematic. Click here for more details.

Files changed (29) hide show
  1. atomicshop/__init__.py +1 -1
  2. atomicshop/basics/multiprocesses.py +228 -30
  3. atomicshop/dns.py +2 -0
  4. atomicshop/mitm/config_static.py +2 -1
  5. atomicshop/mitm/engines/create_module_template.py +2 -7
  6. atomicshop/mitm/import_config.py +30 -26
  7. atomicshop/mitm/initialize_engines.py +9 -24
  8. atomicshop/mitm/mitm_main.py +187 -59
  9. atomicshop/networks.py +448 -0
  10. atomicshop/wrappers/ctyping/setup_device.py +466 -0
  11. atomicshop/wrappers/dockerw/dockerw.py +17 -21
  12. atomicshop/wrappers/mongodbw/mongodbw.py +1 -0
  13. atomicshop/wrappers/psutilw/{networks.py → psutil_networks.py} +3 -1
  14. atomicshop/wrappers/pywin32w/wmis/msft_netipaddress.py +76 -0
  15. atomicshop/wrappers/pywin32w/wmis/win32_networkadapterconfiguration.py +262 -0
  16. atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py +51 -82
  17. atomicshop/wrappers/pywin32w/wmis/wmi_helpers.py +235 -0
  18. atomicshop/wrappers/socketw/accepter.py +15 -1
  19. atomicshop/wrappers/socketw/creator.py +7 -1
  20. atomicshop/wrappers/socketw/dns_server.py +33 -39
  21. atomicshop/wrappers/socketw/exception_wrapper.py +20 -11
  22. atomicshop/wrappers/socketw/socket_wrapper.py +29 -78
  23. atomicshop/wrappers/winregw/winreg_network.py +20 -0
  24. {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/METADATA +2 -1
  25. {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/RECORD +28 -24
  26. atomicshop/wrappers/pywin32w/wmis/helpers.py +0 -131
  27. {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/LICENSE.txt +0 -0
  28. {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/WHEEL +0 -0
  29. {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- atomicshop/__init__.py,sha256=FYQ8-qAL9PVUMgBs-HklwbCpRvP--eHNx3_VzcTLtVM,123
1
+ atomicshop/__init__.py,sha256=9f0rOX9Jqmk2GA6tIFVRTSMlFWo9yFeOiKfDQ-jt_oE,122
2
2
  atomicshop/_basics_temp.py,sha256=6cu2dd6r2dLrd1BRNcVDKTHlsHs_26Gpw8QS6v32lQ0,3699
3
3
  atomicshop/_create_pdf_demo.py,sha256=Yi-PGZuMg0RKvQmLqVeLIZYadqEZwUm-4A9JxBl_vYA,3713
4
4
  atomicshop/_patch_import.py,sha256=ENp55sKVJ0e6-4lBvZnpz9PQCt3Otbur7F6aXDlyje4,6334
@@ -10,7 +10,7 @@ atomicshop/console_output.py,sha256=AOSJjrRryE97PAGtgDL03IBtWSi02aNol8noDnW3k6M,
10
10
  atomicshop/console_user_response.py,sha256=OHcjuzWAys6WmfRnMIU_nkJA634kKmJh6T8w1VtUTJM,2714
11
11
  atomicshop/datetimes.py,sha256=IQZ66lmta-ZqxYbyHzm_9eugbJFSilXK1e0kfMgoXGg,18371
12
12
  atomicshop/diff_check.py,sha256=vxTDccVbGZHEge6Ja9_ArLWwslOUgIoJAdYPylh4cZg,27176
13
- atomicshop/dns.py,sha256=5Gimq_WY2arqg7BeGmR7P--fGfnH0Dsh8lrOt_H0jRY,6817
13
+ atomicshop/dns.py,sha256=FVrXYk-r3zH6HbUyB3wvhhWM-J0RKmd_CCO50TXVq1A,6831
14
14
  atomicshop/domains.py,sha256=Rxu6JhhMqFZRcoFs69IoEd1PtYca0lMCG6F1AomP7z4,3197
15
15
  atomicshop/emails.py,sha256=I0KyODQpIMEsNRi9YWSOL8EUPBiWyon3HRdIuSj3AEU,1410
16
16
  atomicshop/file_types.py,sha256=-0jzQMRlmU1AP9DARjk-HJm1tVE22E6ngP2mRblyEjY,763
@@ -23,6 +23,7 @@ atomicshop/http_parse.py,sha256=1Tna9YbOM0rE3t6i_M-klBlwd1KNSA9skA_BqKGXDFc,1186
23
23
  atomicshop/inspect_wrapper.py,sha256=sGRVQhrJovNygHTydqJj0hxES-aB2Eg9KbIk3G31apw,11429
24
24
  atomicshop/ip_addresses.py,sha256=penRFeJ1-LDVTko4Q0EwK4JiN5cU-KzCBR2VXg9qbUY,1238
25
25
  atomicshop/keyboard_press.py,sha256=1W5kRtOB75fulVx-uF2yarBhW0_IzdI1k73AnvXstk0,452
26
+ atomicshop/networks.py,sha256=XiQYQEPcBRX_HwNNHa1c8jN1OnRj6E8azcR24oFCkng,17922
26
27
  atomicshop/on_exit.py,sha256=9XlOnzoAG8zlI8wBF4AB8hyrC6Q1b84gkhqpAhhdN9g,6977
27
28
  atomicshop/pbtkmultifile_argparse.py,sha256=aEk8nhvoQVu-xyfZosK3ma17CwIgOjzO1erXXdjwtS4,4574
28
29
  atomicshop/print_api.py,sha256=SJNQIMqSLlYaPtjHnALySAI-jQYuYHOCGgfP7oe96fU,10957
@@ -106,7 +107,7 @@ atomicshop/basics/isinstancing.py,sha256=fQ35xfqbguQz2BUn-3a4KVGskhTcIn8JjRtxV2r
106
107
  atomicshop/basics/list_of_classes.py,sha256=PJoE1VJdhhQ4gSFr88zW7IApXd4Ez7xLz-7vAM-7gug,978
107
108
  atomicshop/basics/list_of_dicts.py,sha256=tj0LNPf1ljNI_qpoO-PiOT4Ulmk1M-UpTGyn9twVcw8,8039
108
109
  atomicshop/basics/lists.py,sha256=I0C62vrDrNwCTNl0EjUZNa1Jsd8l0rTkp28GEx9QoEI,4258
109
- atomicshop/basics/multiprocesses.py,sha256=vzL1lGiXpfPWbuLsQF9e7c9vbo59rITL2dBLi0CCpZ0,21741
110
+ atomicshop/basics/multiprocesses.py,sha256=D-xe4KNWy-CffhQkWcDcROl00KYzdTk-9itrxTotirs,31019
110
111
  atomicshop/basics/numbers.py,sha256=ESX0z_7o_ok3sOmCKAUBoZinATklgMy2v-4RndqXlVM,1837
111
112
  atomicshop/basics/package_module.py,sha256=fBd0uVgFce25ZCVtLq83iyowRlbwdWYFj_t4Ml7LU14,391
112
113
  atomicshop/basics/randoms.py,sha256=DmYLtnIhDK29tAQrGP1Nt-A-v8WC7WIEB8Edi-nk3N4,282
@@ -133,18 +134,18 @@ atomicshop/file_io/tomls.py,sha256=vZ_Wng5alLf8z6HSEZj7PS0XKDA-Iies9ihVWOkTcKo,1
133
134
  atomicshop/file_io/xlsxs.py,sha256=v_dyg9GD4LqgWi6wA1QuWRZ8zG4ZwB6Dz52ytdcmmmI,2184
134
135
  atomicshop/file_io/xmls.py,sha256=zh3SuK-dNaFq2NDNhx6ivcf4GYCfGM8M10PcEwDSpxk,2104
135
136
  atomicshop/mitm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
- atomicshop/mitm/config_static.py,sha256=dQH9AJFnwuO8qNVmoN4f3OrllIHlUvC5tkCGAPteK_U,8066
137
+ atomicshop/mitm/config_static.py,sha256=N3D06C_wUytwm80PQCL90ZGHLMHeQlCcI2XQQU2FZ1I,8145
137
138
  atomicshop/mitm/config_toml_editor.py,sha256=2p1CMcktWRR_NW-SmyDwylu63ad5e0-w1QPMa8ZLDBw,1635
138
139
  atomicshop/mitm/connection_thread_worker.py,sha256=IZtcdW9ZZrtgL-dawt_o56emGCrzWtbd8fUAwgKX9NU,27972
139
- atomicshop/mitm/import_config.py,sha256=Aj_q3GEovZgN_ig15PWi-LhkuEG0CjDSwakhJg4xp2U,17575
140
- atomicshop/mitm/initialize_engines.py,sha256=ygxTtfpjlSErF-tKS3rYCyA1X4WT0GyQCZNbtzjPngk,7339
140
+ atomicshop/mitm/import_config.py,sha256=tSqn1mKoHZPanbFOhccSiQomTtXAHS5M6-FMP02jx6o,17434
141
+ atomicshop/mitm/initialize_engines.py,sha256=bBlm7xAjWq8MZHo4MZKBHUVWqq6Drm2UN-VHfYnQ3Nk,6614
141
142
  atomicshop/mitm/message.py,sha256=CDhhm4BTuZE7oNZCjvIZ4BuPOW4MuIzQLOg91hJaxDI,3065
142
- atomicshop/mitm/mitm_main.py,sha256=3R0_bc7zQkSzBwVJHivwr88wQDKDUaRzxn4hrP5Z4bs,23620
143
+ atomicshop/mitm/mitm_main.py,sha256=cfQLaPaUZgluatlZDRiToi14ekZbPT2KM4-AiivTs3w,30055
143
144
  atomicshop/mitm/recs_files.py,sha256=ZAAD0twun-FtmbSniXe3XQhIlawvANNB_HxwbHj7kwI,3151
144
145
  atomicshop/mitm/shared_functions.py,sha256=0lzeyINd44sVEfFbahJxQmz6KAMWbYrW5ou3UYfItvw,1777
145
146
  atomicshop/mitm/statistic_analyzer.py,sha256=5_sAYGX2Xunzo_pS2W5WijNCwr_BlGJbbOO462y_wN4,27533
146
147
  atomicshop/mitm/engines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
- atomicshop/mitm/engines/create_module_template.py,sha256=MmW6T0SCwm1aI-ijgciD5anGbtsCg9aMYfUUukVNon8,5512
148
+ atomicshop/mitm/engines/create_module_template.py,sha256=OSX6iM54_PFdo45AMO4f4eToYmLN3UTXZF7mVoQOBko,5104
148
149
  atomicshop/mitm/engines/create_module_template_main_example.py,sha256=LeQ44Rp2Gi_KbIDY_4OMS0odkSK3zFZWra_oAka5eJY,243
149
150
  atomicshop/mitm/engines/__parent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
151
  atomicshop/mitm/engines/__parent/parser___parent.py,sha256=HHaCXhScl3OlPjz6eUxsDpJaZyk6BNuDMc9xCkeo2Ws,661
@@ -209,6 +210,7 @@ atomicshop/wrappers/certauthw/certauthw.py,sha256=4WvhjANI7Kzqrr_nKmtA8Kf7B6rute
209
210
  atomicshop/wrappers/ctyping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
211
  atomicshop/wrappers/ctyping/file_details_winapi.py,sha256=dmdnCMwx4GgVEctiUIyniVShAoXmv_bZu_o81C450PY,2810
211
212
  atomicshop/wrappers/ctyping/process_winapi.py,sha256=QcXL-ETtlSSkoT8F7pYle97ubGWsjYp8cx8HxkVMgAc,2762
213
+ atomicshop/wrappers/ctyping/setup_device.py,sha256=y5w5Dw6sukrYwgDOTHGgAM63bhd5LMgXRHA1tEcmRB8,19573
212
214
  atomicshop/wrappers/ctyping/win_console.py,sha256=uTtjkz9rY559AaV0dhyZYUSSEe9cn6Du2DgurdMtX-M,1158
213
215
  atomicshop/wrappers/ctyping/etw_winapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
216
  atomicshop/wrappers/ctyping/etw_winapi/const.py,sha256=W-NMYlJ8RrMxLRjKcatEHe6wJwNxNMGSmYbXRXrlz6o,11223
@@ -219,7 +221,7 @@ atomicshop/wrappers/ctyping/msi_windows_installer/cabs.py,sha256=htzwb2ROYI8yyc8
219
221
  atomicshop/wrappers/ctyping/msi_windows_installer/extract_msi_main.py,sha256=AEkjnqEhfCbCUcYaulv3uba5hZjTB03xm-puAINsZGM,5488
220
222
  atomicshop/wrappers/ctyping/msi_windows_installer/tables.py,sha256=tHsu0YfBgzuIk9L-PyqLgU_IzyVbCfy8L1EqelNnvWk,17674
221
223
  atomicshop/wrappers/dockerw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
- atomicshop/wrappers/dockerw/dockerw.py,sha256=mwQT8d1aUrn8FbMCwcmUjoP35UWexl8DztNSuJAHJQo,9865
224
+ atomicshop/wrappers/dockerw/dockerw.py,sha256=cVLUiMetBDlvFVNnX9wzVsUO1ylJxQfEwEw8FOEg37w,9659
223
225
  atomicshop/wrappers/dockerw/install_docker.py,sha256=7NTMxCPBesr0QcqB0RZ5YU0I8FDPtNux_mYAX28wI0I,9982
224
226
  atomicshop/wrappers/elasticsearchw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
227
  atomicshop/wrappers/elasticsearchw/config_basic.py,sha256=fDujtrjEjbWiYh_WQ3OcYp_8mXhXPYeKLy4wSPL5qM0,1177
@@ -271,7 +273,7 @@ atomicshop/wrappers/mongodbw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
271
273
  atomicshop/wrappers/mongodbw/install_mongodb_ubuntu.py,sha256=2eEOb35T259lhn5koynfTIm1hanxD02zN97ExGSBM2o,4021
272
274
  atomicshop/wrappers/mongodbw/install_mongodb_win.py,sha256=64EUQYx7VuMC3ndO2x3nSErh5NZ_BsqMwGvPcybfC-Q,8499
273
275
  atomicshop/wrappers/mongodbw/mongo_infra.py,sha256=IjEF0jPzQz866MpTm7rnksnyyWQeUT_B2h2DA9ryAio,2034
274
- atomicshop/wrappers/mongodbw/mongodbw.py,sha256=it1TDnOF64YgDbkkBvUmUb9XGuUg6SwGnHhuqar3aHE,55929
276
+ atomicshop/wrappers/mongodbw/mongodbw.py,sha256=_C-v0ZKM7SRThZOnpOtUKmy3fvcvdiGQNvLCo3Drgls,56053
275
277
  atomicshop/wrappers/nodejsw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
276
278
  atomicshop/wrappers/nodejsw/install_nodejs_ubuntu.py,sha256=wjpJdfAaY92RYl_L9esDIWuBMGeYH35RHJ5BVgMof8Y,6260
277
279
  atomicshop/wrappers/nodejsw/install_nodejs_windows.py,sha256=WvXIcEVnKcQYD-KNwhVP094s__1tt0Ir2Y87MABl8Nc,6283
@@ -290,8 +292,8 @@ atomicshop/wrappers/playwrightw/waits.py,sha256=PBFdz_PoM7Fo7O8hLqMrxNPzBEYgPoXw
290
292
  atomicshop/wrappers/psutilw/cpus.py,sha256=w6LPBMINqS-T_X8vzdYkLS2Wzuve28Ydp_GafTCngrc,236
291
293
  atomicshop/wrappers/psutilw/disks.py,sha256=3ZSVoommKH1TWo37j_83frB-NqXF4Nf5q5mBCX8G4jE,9221
292
294
  atomicshop/wrappers/psutilw/memories.py,sha256=_S0aL8iaoIHebd1vOFrY_T9aROM5Jx2D5CvDh_4j0Vc,528
293
- atomicshop/wrappers/psutilw/networks.py,sha256=dsCos1MaMdFYjyCyZAlM4N1NWAZh5gKOPNcIX3hQ7jA,2848
294
295
  atomicshop/wrappers/psutilw/processes.py,sha256=ihYnxfMTVEXHWy92iewktoZGxazx3v5QCIn0bNLnfsU,2859
296
+ atomicshop/wrappers/psutilw/psutil_networks.py,sha256=79FplDAj45ofBCudlft77O3lfi0RDwJ3ijye0ZGRR44,2870
295
297
  atomicshop/wrappers/psutilw/psutilw.py,sha256=q3EwgprqyrR4zLCjl4l5DHFOQoukEvQMIPjNB504oQ0,21262
296
298
  atomicshop/wrappers/psycopgw/psycopgw.py,sha256=XJvVf0oAUjCHkrYfKeFuGCpfn0Oxj3u4SbKMKA1508E,7118
297
299
  atomicshop/wrappers/pycharmw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -308,30 +310,32 @@ atomicshop/wrappers/pywin32w/win_event_log/subscribes/process_create.py,sha256=I
308
310
  atomicshop/wrappers/pywin32w/win_event_log/subscribes/process_terminate.py,sha256=OJFWywGGGkBHq1N0MKGtHSFFQMFQSDVU6FXCRIdssg8,3761
309
311
  atomicshop/wrappers/pywin32w/win_event_log/subscribes/schannel_logging.py,sha256=8nxIcNcbeEuvoBwhujgh7-oIpL9A6J-gg1NM8hOGAVA,3442
310
312
  atomicshop/wrappers/pywin32w/wmis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
311
- atomicshop/wrappers/pywin32w/wmis/helpers.py,sha256=uMXa27UfBpqXInvnmk7CZlqwRI2pg_I_HXelxO9nLLg,5020
312
- atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py,sha256=Jzl95viXZExrrlDTGHR0-wiXJo3jQRztmLXkigahFww,5574
313
+ atomicshop/wrappers/pywin32w/wmis/msft_netipaddress.py,sha256=jCfLS81byOgBwtZWTRPzDWm2IUkcODy1REYjdN80fJo,3482
314
+ atomicshop/wrappers/pywin32w/wmis/win32_networkadapterconfiguration.py,sha256=Iz-p--cE2iP6wyD9ceSF3scMMvdXC5fF-VKP1v-iIDo,10813
315
+ atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py,sha256=iao4OK6u097uRacw6vQuya1kOtJzLA1IM4cgo6UCWLM,3941
313
316
  atomicshop/wrappers/pywin32w/wmis/win32process.py,sha256=qMzXtJ5hBZ5ydAyqpDbSx0nO2RJQL95HdmV5SzNKMhk,6826
317
+ atomicshop/wrappers/pywin32w/wmis/wmi_helpers.py,sha256=H8QIiHlm9ei8GSudKECFpEc1qny_1PNnVxZuIDK9xfU,8604
314
318
  atomicshop/wrappers/socketw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
315
- atomicshop/wrappers/socketw/accepter.py,sha256=hZZKVYlF3LOHQJsSIEKXZUf6QXXWm-AtqXZevvaYigE,1732
319
+ atomicshop/wrappers/socketw/accepter.py,sha256=4I9ORugRDvwaqSzm_gWSjZnRwQGY8hDTlCdsYHwH_ZE,2377
316
320
  atomicshop/wrappers/socketw/base.py,sha256=EcosGkD8VzgBY3GeIHDSG29ThQfXwg3-GQPmBTAqTdw,3048
317
321
  atomicshop/wrappers/socketw/certificator.py,sha256=mtWPJ_ew3OSwt0-1W4jaoco1VIY4NRCrMv3mDUxb_Cc,12418
318
- atomicshop/wrappers/socketw/creator.py,sha256=ePGjde04Jgq1gscTfiIam9u7nx3GfszUz1Oi1_5j5b0,13243
319
- atomicshop/wrappers/socketw/dns_server.py,sha256=UwLK53ZHXnWuxHEtpNWSuV3cpB14f76HNQtoZ1tu9uk,54905
320
- atomicshop/wrappers/socketw/exception_wrapper.py,sha256=B-X5SHLSUIWToihH2MKnOB1F4A81_X0DpLLfnYKYbEc,7067
322
+ atomicshop/wrappers/socketw/creator.py,sha256=LGI4gcgJ47thx6f96rjwjPz3CsTAIv6VxWFY4EyUF2E,13667
323
+ atomicshop/wrappers/socketw/dns_server.py,sha256=2Y0yE1jIwv--wgNG8SnleqHttPjnKRksndVE_e0CSGM,53806
324
+ atomicshop/wrappers/socketw/exception_wrapper.py,sha256=qW_1CKyPgGlsIt7_jusKkMV4A4hih4bX324u0PLnoO8,7382
321
325
  atomicshop/wrappers/socketw/get_process.py,sha256=aJC-_qFUv3NgWCSUzDI72E4z8_-VTZE9NVZ0CwUoNlM,5698
322
326
  atomicshop/wrappers/socketw/receiver.py,sha256=9B3MvcDqr4C3x2fsnjG5SQognd1wRqsBgikxZa0wXG8,8243
323
327
  atomicshop/wrappers/socketw/sender.py,sha256=aX_K8l_rHjd5AWb8bi5mt8-YTkMYVRDB6DnPqK_XDUE,4754
324
328
  atomicshop/wrappers/socketw/sni.py,sha256=q-F-R1KtE94g8WGrR3QHgi-otXZJUPBprEwQqnY80_A,17639
325
329
  atomicshop/wrappers/socketw/socket_client.py,sha256=AQKjm_GZLH2PO7gkFbwzIbXzUXxRFvBTc6onrgapFqs,22048
326
330
  atomicshop/wrappers/socketw/socket_server_tester.py,sha256=Qobmh4XV8ZxLUaw-eW4ESKAbeSLecCKn2OWFzMhadk0,6420
327
- atomicshop/wrappers/socketw/socket_wrapper.py,sha256=cGTCFbVZPAa8FyBxfhJ_eXY94dzcq8I9zSvQyfX-SMs,44226
331
+ atomicshop/wrappers/socketw/socket_wrapper.py,sha256=_EKATBlY4N-fYI9MX7Egaai1DDs9MSaRARcVu5cLJoY,40893
328
332
  atomicshop/wrappers/socketw/ssl_base.py,sha256=kmiif84kMhBr5yjQW17p935sfjR5JKG0LxIwBA4iVvU,2275
329
333
  atomicshop/wrappers/socketw/statistics_csv.py,sha256=WcNyaqEZ82S5-f3kzqi1nllNT2Nd2P_zg8HqCc7vW4s,4120
330
334
  atomicshop/wrappers/winregw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
331
335
  atomicshop/wrappers/winregw/winreg_installed_software.py,sha256=Qzmyktvob1qp6Tjk2DjLfAqr_yXV0sgWzdMW_9kwNjY,2345
332
- atomicshop/wrappers/winregw/winreg_network.py,sha256=AENV88H1qDidrcpyM9OwEZxX5svfi-Jb4N6FkS1xtqA,8851
333
- atomicshop-2.21.1.dist-info/LICENSE.txt,sha256=lLU7EYycfYcK2NR_1gfnhnRC8b8ccOTElACYplgZN88,1094
334
- atomicshop-2.21.1.dist-info/METADATA,sha256=xGsV5SmY4zYzw1ns7OPlC7zX0NkYGx2ZQh0fpVUyHvQ,10630
335
- atomicshop-2.21.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
336
- atomicshop-2.21.1.dist-info/top_level.txt,sha256=EgKJB-7xcrAPeqTRF2laD_Np2gNGYkJkd4OyXqpJphA,11
337
- atomicshop-2.21.1.dist-info/RECORD,,
336
+ atomicshop/wrappers/winregw/winreg_network.py,sha256=3Ts1sVqSUiCDsHRHwJCbiZ9EYvv2ELGxF0Y_pibGU4k,9596
337
+ atomicshop-3.0.0.dist-info/LICENSE.txt,sha256=lLU7EYycfYcK2NR_1gfnhnRC8b8ccOTElACYplgZN88,1094
338
+ atomicshop-3.0.0.dist-info/METADATA,sha256=BX3R74_ae6siK07Aq7t0R6MbfRd-tEZ0Yn7gUO2pNSo,10653
339
+ atomicshop-3.0.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
340
+ atomicshop-3.0.0.dist-info/top_level.txt,sha256=EgKJB-7xcrAPeqTRF2laD_Np2gNGYkJkd4OyXqpJphA,11
341
+ atomicshop-3.0.0.dist-info/RECORD,,
@@ -1,131 +0,0 @@
1
- import win32com.client
2
-
3
-
4
- class WmiMethodExecutionError(Exception):
5
- pass
6
-
7
-
8
- class WmiMethodParameterError(Exception):
9
- pass
10
-
11
-
12
- class EmptyValue:
13
- pass
14
-
15
-
16
- def get_method(
17
- wmi_object: win32com.client.CDispatch,
18
- method_name: str
19
- ):
20
- """
21
- Get the WMI method.
22
-
23
- :param wmi_object: WMI object.
24
- :param method_name: str, name of the method.
25
- :return: WMI method object.
26
- """
27
-
28
- return wmi_object.Methods_(method_name)
29
-
30
-
31
- def get_method_parameter_instance(
32
- method: win32com.client.CDispatch
33
- ):
34
- """
35
- Get the WMI method parameter.
36
-
37
- :param method: WMI method object.
38
- :return: WMI method parameter object.
39
- """
40
-
41
- return method.inParameters.SpawnInstance_()
42
-
43
-
44
- def call_method(
45
- wmi_object: win32com.client.CDispatch,
46
- method_name: str,
47
- value: any = EmptyValue
48
- ):
49
- """
50
- Call the WMI method.
51
-
52
- :param wmi_object: WMI object.
53
- :param method_name: str, name of the method.
54
- :param value: any, value to pass to the method.
55
- Methods can receive a None value if they don't require any parameters.
56
- If the method doesn't require any parameters, leave it as 'EmptyValue' class.
57
- :return: WMI method object.
58
- """
59
-
60
- # Get the method instance out of the WMI object.
61
- method = get_method(wmi_object, method_name)
62
-
63
- # Check if the method requires any parameters.
64
- if not method.InParameters and not isinstance(value, EmptyValue):
65
- raise WmiMethodParameterError(f"Method '{method_name}' doesn't require any parameters.\nValue: {value}")
66
- elif method.InParameters and isinstance(value, EmptyValue):
67
- raise WmiMethodParameterError(f"Method '{method_name}' requires parameters.\nValue: {value}")
68
-
69
- # If value was passed for the method to set.
70
- if not isinstance(value, EmptyValue):
71
- # Get the input parameters names that a method requires.
72
- # The names are stored in a list of tuples where the first element is the name of the parameter and the second
73
- # element is a boolean that indicates if the parameter is an array.
74
- input_parameters_names = [
75
- (input_parameter.Name, input_parameter.IsArray) for input_parameter in method.InParameters.Properties_]
76
-
77
- # Check if the value and the input parameter is a list.
78
- if not (isinstance(value, list) or value is None) and input_parameters_names[0][1]:
79
- raise WmiMethodParameterError(f"Parameter '{input_parameters_names[0][0]}' must be a list.\nValue: {value}")
80
- elif (isinstance(value, list) or value is None) and not input_parameters_names[0][1]:
81
- raise WmiMethodParameterError(f"Parameter '{input_parameters_names[0][0]}' "
82
- f"must be a single value.\nValue: {value}")
83
-
84
- # Get generic parameter instance.
85
- parameter_instance = get_method_parameter_instance(method)
86
- # Set the attribute of the parameter name instance that we retrieved from above to the value.
87
- # At this point only been using one parameter for a method, so maybe need to refactor this part if needed
88
- # in the future for more than one parameter.
89
- setattr(parameter_instance, input_parameters_names[0][0], value)
90
-
91
- # Execute the method with the parameter instance.
92
- result = wmi_object.ExecMethod_(method_name, parameter_instance)
93
- else:
94
- # Execute the method without any parameters.
95
- result = wmi_object.ExecMethod_(method_name)
96
-
97
- # Getting Result.
98
- # Get the output parameters names that a method returns.
99
- if method.OutParameters:
100
- out_properties_names = [
101
- (out_property.Name, out_property.IsArray) for out_property in method.OutParameters.Properties_]
102
- else:
103
- out_properties_names = []
104
-
105
- # Get the results for each parameter the method returns.
106
- results = []
107
- for name, is_array in out_properties_names:
108
- value = result.Properties_(name).Value
109
- if is_array:
110
- results.append(list(value or []))
111
- else:
112
- results.append(value)
113
-
114
- # Check if the method executed successfully.
115
- for result in results:
116
- if result != 0:
117
- if result == 91:
118
- raise PermissionError(f"Failed to execute method '{method_name}' with error code: {result}, "
119
- f"Try with Admin rights.")
120
- else:
121
- raise WmiMethodExecutionError(f"Failed to execute method '{method_name}' with error code: {result}")
122
-
123
-
124
- """
125
- # Setting SeDebugPrivilege
126
- import win32security, ntsecuritycon, win32con, win32api
127
- privs = ((win32security.LookupPrivilegeValue('',ntsecuritycon.SE_DEBUG_NAME), win32con.SE_PRIVILEGE_ENABLED),)
128
- hToken = win32security.OpenProcessToken(win32api.GetCurrentProcess(), win32security.TOKEN_ALL_ACCESS)
129
- win32security.AdjustTokenPrivileges(hToken, False, privs)
130
- win32api.CloseHandle(hToken)
131
- """