micropython-stubber 1.23.1.post1__py3-none-any.whl → 1.23.3__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.
- {micropython_stubber-1.23.1.post1.dist-info → micropython_stubber-1.23.3.dist-info}/LICENSE +30 -30
- {micropython_stubber-1.23.1.post1.dist-info → micropython_stubber-1.23.3.dist-info}/METADATA +5 -5
- micropython_stubber-1.23.3.dist-info/RECORD +158 -0
- mpflash/README.md +220 -220
- mpflash/libusb_flash.ipynb +203 -203
- mpflash/mpflash/add_firmware.py +98 -98
- mpflash/mpflash/ask_input.py +236 -236
- mpflash/mpflash/basicgit.py +304 -284
- mpflash/mpflash/bootloader/__init__.py +2 -2
- mpflash/mpflash/bootloader/activate.py +60 -60
- mpflash/mpflash/bootloader/detect.py +82 -82
- mpflash/mpflash/bootloader/manual.py +101 -101
- mpflash/mpflash/bootloader/micropython.py +12 -12
- mpflash/mpflash/bootloader/touch1200.py +36 -36
- mpflash/mpflash/cli_download.py +129 -129
- mpflash/mpflash/cli_flash.py +224 -216
- mpflash/mpflash/cli_group.py +111 -111
- mpflash/mpflash/cli_list.py +87 -87
- mpflash/mpflash/cli_main.py +39 -39
- mpflash/mpflash/common.py +207 -166
- mpflash/mpflash/config.py +44 -44
- mpflash/mpflash/connected.py +96 -77
- mpflash/mpflash/download.py +364 -364
- mpflash/mpflash/downloaded.py +130 -130
- mpflash/mpflash/errors.py +9 -9
- mpflash/mpflash/flash/__init__.py +55 -55
- mpflash/mpflash/flash/esp.py +59 -59
- mpflash/mpflash/flash/stm32.py +19 -19
- mpflash/mpflash/flash/stm32_dfu.py +104 -104
- mpflash/mpflash/flash/uf2/__init__.py +88 -88
- mpflash/mpflash/flash/uf2/boardid.py +15 -15
- mpflash/mpflash/flash/uf2/linux.py +136 -130
- mpflash/mpflash/flash/uf2/macos.py +42 -42
- mpflash/mpflash/flash/uf2/uf2disk.py +12 -12
- mpflash/mpflash/flash/uf2/windows.py +43 -43
- mpflash/mpflash/flash/worklist.py +170 -170
- mpflash/mpflash/list.py +106 -106
- mpflash/mpflash/logger.py +41 -41
- mpflash/mpflash/mpboard_id/__init__.py +93 -93
- mpflash/mpflash/mpboard_id/add_boards.py +251 -251
- mpflash/mpflash/mpboard_id/board.py +37 -37
- mpflash/mpflash/mpboard_id/board_id.py +86 -86
- mpflash/mpflash/mpboard_id/store.py +48 -43
- mpflash/mpflash/mpremoteboard/__init__.py +266 -266
- mpflash/mpflash/mpremoteboard/mpy_fw_info.py +152 -141
- mpflash/mpflash/mpremoteboard/runner.py +140 -140
- mpflash/mpflash/vendor/click_aliases.py +91 -91
- mpflash/mpflash/vendor/dfu.py +165 -165
- mpflash/mpflash/vendor/pydfu.py +605 -605
- mpflash/mpflash/vendor/readme.md +2 -2
- mpflash/mpflash/versions.py +135 -135
- mpflash/poetry.lock +1687 -1599
- mpflash/pyproject.toml +65 -65
- mpflash/stm32_udev_rules.md +62 -62
- stubber/__init__.py +3 -3
- stubber/board/board_info.csv +193 -193
- stubber/board/boot.py +34 -34
- stubber/board/createstubs.py +986 -986
- stubber/board/createstubs_db.py +825 -825
- stubber/board/createstubs_db_min.py +331 -331
- stubber/board/createstubs_lvgl.py +741 -741
- stubber/board/createstubs_lvgl_min.py +741 -741
- stubber/board/createstubs_mem.py +766 -766
- stubber/board/createstubs_mem_min.py +306 -306
- stubber/board/createstubs_min.py +294 -294
- stubber/board/fw_info.py +141 -141
- stubber/board/info.py +183 -183
- stubber/board/main.py +19 -19
- stubber/board/modulelist.txt +247 -247
- stubber/board/pyrightconfig.json +34 -34
- stubber/bulk/mcu_stubber.py +437 -437
- stubber/codemod/_partials/__init__.py +48 -48
- stubber/codemod/_partials/db_main.py +147 -147
- stubber/codemod/_partials/lvgl_main.py +77 -77
- stubber/codemod/_partials/modules_reader.py +80 -80
- stubber/codemod/add_comment.py +53 -53
- stubber/codemod/add_method.py +65 -65
- stubber/codemod/board.py +317 -317
- stubber/codemod/enrich.py +145 -145
- stubber/codemod/merge_docstub.py +284 -284
- stubber/codemod/modify_list.py +54 -54
- stubber/codemod/utils.py +56 -56
- stubber/commands/build_cmd.py +94 -94
- stubber/commands/cli.py +49 -49
- stubber/commands/clone_cmd.py +78 -78
- stubber/commands/config_cmd.py +29 -29
- stubber/commands/enrich_folder_cmd.py +71 -71
- stubber/commands/get_core_cmd.py +71 -71
- stubber/commands/get_docstubs_cmd.py +92 -92
- stubber/commands/get_frozen_cmd.py +117 -117
- stubber/commands/get_mcu_cmd.py +102 -102
- stubber/commands/merge_cmd.py +66 -66
- stubber/commands/publish_cmd.py +118 -118
- stubber/commands/stub_cmd.py +31 -31
- stubber/commands/switch_cmd.py +62 -62
- stubber/commands/variants_cmd.py +48 -48
- stubber/cst_transformer.py +178 -178
- stubber/data/board_info.csv +193 -193
- stubber/data/board_info.json +1729 -1729
- stubber/data/micropython_tags.csv +15 -15
- stubber/data/requirements-core-micropython.txt +38 -38
- stubber/data/requirements-core-pycopy.txt +39 -39
- stubber/downloader.py +37 -37
- stubber/freeze/common.py +72 -72
- stubber/freeze/freeze_folder.py +69 -69
- stubber/freeze/freeze_manifest_2.py +126 -126
- stubber/freeze/get_frozen.py +131 -131
- stubber/get_cpython.py +112 -112
- stubber/get_lobo.py +59 -59
- stubber/minify.py +423 -423
- stubber/publish/bump.py +86 -86
- stubber/publish/candidates.py +275 -275
- stubber/publish/database.py +18 -18
- stubber/publish/defaults.py +40 -40
- stubber/publish/enums.py +24 -24
- stubber/publish/helpers.py +29 -29
- stubber/publish/merge_docstubs.py +132 -132
- stubber/publish/missing_class_methods.py +51 -51
- stubber/publish/package.py +150 -150
- stubber/publish/pathnames.py +51 -51
- stubber/publish/publish.py +120 -120
- stubber/publish/pypi.py +42 -42
- stubber/publish/stubpackage.py +1051 -1051
- stubber/rst/__init__.py +9 -9
- stubber/rst/classsort.py +78 -78
- stubber/rst/lookup.py +531 -531
- stubber/rst/output_dict.py +401 -401
- stubber/rst/reader.py +814 -814
- stubber/rst/report_return.py +77 -77
- stubber/rst/rst_utils.py +541 -541
- stubber/stubber.py +38 -38
- stubber/stubs_from_docs.py +90 -90
- stubber/tools/manifestfile.py +654 -654
- stubber/tools/readme.md +6 -6
- stubber/update_fallback.py +117 -117
- stubber/update_module_list.py +123 -123
- stubber/utils/__init__.py +6 -6
- stubber/utils/config.py +137 -137
- stubber/utils/makeversionhdr.py +54 -54
- stubber/utils/manifest.py +90 -90
- stubber/utils/post.py +80 -80
- stubber/utils/repos.py +156 -156
- stubber/utils/stubmaker.py +139 -139
- stubber/utils/typed_config_toml.py +80 -80
- stubber/variants.py +106 -106
- micropython_stubber-1.23.1.post1.dist-info/RECORD +0 -159
- mpflash/basicgit.py +0 -288
- {micropython_stubber-1.23.1.post1.dist-info → micropython_stubber-1.23.3.dist-info}/WHEEL +0 -0
- {micropython_stubber-1.23.1.post1.dist-info → micropython_stubber-1.23.3.dist-info}/entry_points.txt +0 -0
@@ -1,159 +0,0 @@
|
|
1
|
-
mpflash/README.md,sha256=A6nAq_2AQnyrJuEdxviVARW7KVf2Swx1QanltQCig9k,15824
|
2
|
-
mpflash/basicgit.py,sha256=b6-gdK_DT0dmW3jEY9T0cjKR-TSEQOSl9U9sRcJh538,9257
|
3
|
-
mpflash/libusb_flash.ipynb,sha256=sw5MVQvPmH-DJy9kOdXyO80BSjEPMEXf_GJsGk3usrc,6428
|
4
|
-
mpflash/mpflash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
|
-
mpflash/mpflash/add_firmware.py,sha256=h-Nu9AnXO6ug2CurmgLoUVG1gNy6CA1NjwQl1nUoMZ4,3330
|
6
|
-
mpflash/mpflash/ask_input.py,sha256=EsPPlPS_wLC8j9f4o68yKIcqex0dV5tRH7k3rP3spG0,8710
|
7
|
-
mpflash/mpflash/basicgit.py,sha256=r_bI2U6QYFiS8ypUd6KtrjyZjK4JCANyK80L6wEzFoU,9213
|
8
|
-
mpflash/mpflash/bootloader/__init__.py,sha256=cRIxVRtUc4jZAgtFggRNhEn0BW-9WFpzm5xRy5B4B2U,105
|
9
|
-
mpflash/mpflash/bootloader/activate.py,sha256=sN2YuIuFGjLBd_PdG6P3N1yLuLyjnsVWDksrTMhzr_M,2301
|
10
|
-
mpflash/mpflash/bootloader/detect.py,sha256=eXL_JPcowb8g0tpZmj9DQXYbpfZFoSrzq86lScKhkT4,2608
|
11
|
-
mpflash/mpflash/bootloader/manual.py,sha256=qGInguhYil4v8EkUxPFlxzvs3m__KraPAj3LAKbV1Ts,3069
|
12
|
-
mpflash/mpflash/bootloader/micropython.py,sha256=0KDrfdZPtK7fLaxh-_4VxSO-u4IUj7qCyNVw9-LQ74M,517
|
13
|
-
mpflash/mpflash/bootloader/touch1200.py,sha256=tL2H4ERh0-YSdR8_v6aK_pDRPMjMevHWUGq4-TTFcWo,1083
|
14
|
-
mpflash/mpflash/cli_download.py,sha256=_9JGBZ0zXtHe3W61rZmsrKRLQQaF58yLsnHYarejyuM,3531
|
15
|
-
mpflash/mpflash/cli_flash.py,sha256=U64IAqwTVeYubXTUO6UXY9SiS_e5NsQwyPYxf1juX8s,7166
|
16
|
-
mpflash/mpflash/cli_group.py,sha256=JFBtp4qhakJeQkuupEoObHeSFke8eWIU1HjnOZ-JfH0,2504
|
17
|
-
mpflash/mpflash/cli_list.py,sha256=51iLSehG9vWOvgeovJ8UYBjKkdnZStG1gAgYa0Cheog,2340
|
18
|
-
mpflash/mpflash/cli_main.py,sha256=cElgh8Soq3U5TEAvrrD1sj7NDi-Eb-pei3QcMI0tlwE,1094
|
19
|
-
mpflash/mpflash/common.py,sha256=O-Zb8ASNmEFmBD5JVgVtS1RyGUXJI2o4WH99dr6RMRg,5884
|
20
|
-
mpflash/mpflash/config.py,sha256=h2Oq7kSe40tOnglpo02wkpaPHxHNVqyB3uGxreIu57U,1029
|
21
|
-
mpflash/mpflash/connected.py,sha256=LtyNWloEtEOKvmnTCSSNOADT0KeVbtjHpDQwu4dot2o,3053
|
22
|
-
mpflash/mpflash/download.py,sha256=mckR3pdMFQMYBKNmKBEJm9bJnTtQEnkuQ1vWYXcRRv8,13941
|
23
|
-
mpflash/mpflash/downloaded.py,sha256=YPN0LDf8DSDvdB9gbVny61bvaJHIDbUs81XUwftTb1c,4808
|
24
|
-
mpflash/mpflash/errors.py,sha256=6lUhVtECY3syV2bBGKzegGH4pPKXhevvhYQZd74sy6o,238
|
25
|
-
mpflash/mpflash/flash/__init__.py,sha256=xX2ZJGNX9xpX2s8V7SEJ1It7eOEbl8WkdFzpRd3TLzk,2041
|
26
|
-
mpflash/mpflash/flash/esp.py,sha256=LcOgjpE4zmPawHNwSd_6WFkaIYYazA__rf3ihGXR7I0,2228
|
27
|
-
mpflash/mpflash/flash/stm32.py,sha256=W8SJ2_8FGXyMS6cRcZpfOvOM8iOC_cn4vK8xd8tKzI4,555
|
28
|
-
mpflash/mpflash/flash/stm32_dfu.py,sha256=uTn06H0ZezzCv5O0hvry8ohBtuZXHe_GX2zNUfCxu58,2986
|
29
|
-
mpflash/mpflash/flash/uf2/__init__.py,sha256=PWEVxzZEca3pfLx_Qy5c4zlHH4W5fAjd0BmDTkS7s6g,2766
|
30
|
-
mpflash/mpflash/flash/uf2/boardid.py,sha256=2s4K3QiKWK5HKFKWYsDV3hI8alfWSxEOMeurER3eZtM,408
|
31
|
-
mpflash/mpflash/flash/uf2/linux.py,sha256=4azbcx_YqLZ3RyYNWljejHG_Y6SU-wREL8hhkTYqCjI,4099
|
32
|
-
mpflash/mpflash/flash/uf2/macos.py,sha256=sncXJsc2FVfm9rvLDjcEu7ZIyrDeHmazHiNQTUaf1Y0,1187
|
33
|
-
mpflash/mpflash/flash/uf2/uf2disk.py,sha256=dQ8_U6e3qkFOyfXZDpWAsvEBIlMr-ZzLkzTDD8SADqM,286
|
34
|
-
mpflash/mpflash/flash/uf2/windows.py,sha256=k9Yv71YswPnLx-Z5rf4KjhtVkEWr8SU8EXpeRv87h3A,1290
|
35
|
-
mpflash/mpflash/flash/worklist.py,sha256=1uBvn-T35Oey04g6xxNxo5t68q5_tp18eZcRAamF0tY,5828
|
36
|
-
mpflash/mpflash/list.py,sha256=Qt_3AUgA6LqejfGETgaa49fzqlI-m_OvsPosr6xMBMY,3464
|
37
|
-
mpflash/mpflash/logger.py,sha256=BAVrSXMGZLfSDRFbtVBtvb7Rl0sTJxooCgBS5t-6bXo,1057
|
38
|
-
mpflash/mpflash/mpboard_id/__init__.py,sha256=rQrPCN30GP-lfB2a2deA-lQ6iKvaKPK_xbtBoIavGsM,3716
|
39
|
-
mpflash/mpflash/mpboard_id/add_boards.py,sha256=ehQn560S0XxAD3nsUMo4o_f6w8XTVAfO0GCnfTKa6-4,9379
|
40
|
-
mpflash/mpflash/mpboard_id/board.py,sha256=yQ8IDHQS09AelvTvmPhpmsL4oX3L7IXGqHorkxDOkoE,1114
|
41
|
-
mpflash/mpflash/mpboard_id/board_id.py,sha256=wzGrxJu_ciOVT7n2861lhoKmPAjh1QjWnAdfcqNUUqc,2871
|
42
|
-
mpflash/mpflash/mpboard_id/board_info.zip,sha256=F6YowS96DAqjten4ySe4MXgZwPtE-saZOUfY5OQkqKk,19759
|
43
|
-
mpflash/mpflash/mpboard_id/store.py,sha256=lQQgHSxcaM_ZURcfZNSUv3-ZJjUKMC_xEOOSdpzVvBU,1493
|
44
|
-
mpflash/mpflash/mpremoteboard/__init__.py,sha256=oB0HwQOBhTtI4KR46_FvXZ_I6V5xuuxQ3MPeR6lVGVk,9240
|
45
|
-
mpflash/mpflash/mpremoteboard/mpy_fw_info.py,sha256=BTupe4rZDTs3UHRqvs429XqWHCchSpwa05yACOiOt5U,4413
|
46
|
-
mpflash/mpflash/mpremoteboard/runner.py,sha256=YUmo5Y0aOgMaww8CXSdNdgXD-wRKncILuMZ0OB_2qRU,4646
|
47
|
-
mpflash/mpflash/vendor/click_aliases.py,sha256=K98inhtze8td1dw312kexJS7OX_0ojlptPQ5Z0SHxJY,3065
|
48
|
-
mpflash/mpflash/vendor/dfu.py,sha256=jGsiD3lbSV1Ar9qJubhoY_hy-L8FI-K55aow8vgwoYQ,5590
|
49
|
-
mpflash/mpflash/vendor/pydfu.py,sha256=1ObubGsPFrQ7T9M3JRlIPNIG2xx8uYffaEe0Y6bdf_g,19937
|
50
|
-
mpflash/mpflash/vendor/readme.md,sha256=ZVg7kuUYyXcWcrWkaSJ0CunwebCqu2SiS2sqDadwrT8,84
|
51
|
-
mpflash/mpflash/versions.py,sha256=x5VrdVfWhZJfH7tZmwu2vVx-mPrK1iunYSpSce9VUXU,4492
|
52
|
-
mpflash/poetry.lock,sha256=JBMsMo9yzGVD9SdckwbYHFDUnHfg-wHzUQYg6K93APg,118420
|
53
|
-
mpflash/pyproject.toml,sha256=r8RxT8MwjaEAfKHJj7THC6KmUqiTFKpjtJpP31MbMeY,1695
|
54
|
-
mpflash/stm32_udev_rules.md,sha256=LJelvFFA8w9mBcEUDA02SZ4yzNKfUFL_NWLNUb6geWY,2622
|
55
|
-
stubber/__init__.py,sha256=6KpMPO6c9ZEvZBPPZx5uuHwyJypuElaoMoTPmiTw7d0,46
|
56
|
-
stubber/board/board_info.csv,sha256=3BBwHOtKfq_U0Xl8iWgNsN3akhbNMjb-TIeusDwtTXQ,8434
|
57
|
-
stubber/board/boot.py,sha256=TEBSaKXY_TYJy9YrTRWv22m8jZRefaRNiwM8xNAlH5M,1086
|
58
|
-
stubber/board/createstubs.py,sha256=sXSMviwCmlXL2tjyMq18L2L7Y4fOzMVFHdrqAXMxo7A,31936
|
59
|
-
stubber/board/createstubs_db.py,sha256=RS6ywP7m_C22HEQs_rhvLn5OgNnN5dKrCwdjjwzG7cQ,29558
|
60
|
-
stubber/board/createstubs_db_min.py,sha256=W4GQ1iDV7M-2QZ4EfuBQ7M-ZrqzKU_adOZ-Y7WykEJ8,11142
|
61
|
-
stubber/board/createstubs_db_mpy.mpy,sha256=oHZUyh-iTIzMN_hUFyDauX8WL8ghj-YKFpTfOQRReDM,9536
|
62
|
-
stubber/board/createstubs_lvgl.py,sha256=LDlY2AxT5S_IZ5twi2wK9gm3SnHsDt9inrpCLOYmZIk,26476
|
63
|
-
stubber/board/createstubs_lvgl_min.py,sha256=9L9JsZUCY0E5x4F_Uyckkd8GjiB_49guU6DN-u7XhgU,26466
|
64
|
-
stubber/board/createstubs_lvgl_mpy.mpy,sha256=ex-nlq2V5e8anQBJvRWEEc-FzU7nlwg5NSrZ8vOadIA,9267
|
65
|
-
stubber/board/createstubs_mem.py,sha256=9VTkI51ReZdBGh7U0cnJsg6D3jZcO4srmGCpk_y-FpI,27953
|
66
|
-
stubber/board/createstubs_mem_min.py,sha256=T4joCuKAxUf1Op6kVtc4dZ4TSnIHrKNIZ5qUsSyAkJs,10713
|
67
|
-
stubber/board/createstubs_mem_mpy.mpy,sha256=QpuonHENnSzxDYQTOhxo9f8D8YV84KlzSLzjzUh9AOI,9118
|
68
|
-
stubber/board/createstubs_min.py,sha256=6PLxTD8XD7JGeTfJ_97DuJf-6iDbkMKCbKLHFvQE3KM,13405
|
69
|
-
stubber/board/createstubs_mpy.mpy,sha256=Nj0rwiGFEkCiaQcs-AiYcDp3NvPY2Hr-1xPRBBf9HwM,12388
|
70
|
-
stubber/board/fw_info.py,sha256=BTupe4rZDTs3UHRqvs429XqWHCchSpwa05yACOiOt5U,4413
|
71
|
-
stubber/board/info.py,sha256=0FCQZ5J3KFDbYe0D5iOuwhmZUUBVASPU7-L6fA7ZRGc,5446
|
72
|
-
stubber/board/main.py,sha256=l-5RCT-MMV93SkVwXh3guzx_kxFIJciSEgH1e4UrqT8,394
|
73
|
-
stubber/board/modulelist.txt,sha256=LH3tz0w9MxZEAoYRl0JPmVSrYlbsrhkHd9lBP9z2h88,2653
|
74
|
-
stubber/board/pyrightconfig.json,sha256=4jEkjN3pTfa8Ok5wxW0_W2mAOWIjKZPq5GRsk8oTBN4,1342
|
75
|
-
stubber/bulk/mcu_stubber.py,sha256=JtzXy48ercd6sLB2m0KsEw3lAPgBa_-EnuxOC1aqRug,15294
|
76
|
-
stubber/codemod/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
|
-
stubber/codemod/_partials/__init__.py,sha256=SKt5UKja7SGdJ2PIQLp7-CURTQ-EimrswhW-ZTaRBEk,1382
|
78
|
-
stubber/codemod/_partials/db_main.py,sha256=yvl1ydyiWJDhNmuH7P_5b85Crfrh2CAroA_i_8aCqIw,3856
|
79
|
-
stubber/codemod/_partials/lvgl_main.py,sha256=ANMJr4XpWyLHhk3ZHsR0YnGe8fNtIi58YOdN6TLay1o,1887
|
80
|
-
stubber/codemod/_partials/modules_reader.py,sha256=kIYUxrCNtR7K1D0NVxePuNjhPoPkOx9qbjh-mdW1IVs,1966
|
81
|
-
stubber/codemod/add_comment.py,sha256=qGaa-sF3WyeLZwa5FPyT_Yp-ARFruKlBIIe0tayUiTk,1912
|
82
|
-
stubber/codemod/add_method.py,sha256=AbHmfwjgTYWes3XrqPGk0-FjKxnGQuDLXbE5APhApF4,2544
|
83
|
-
stubber/codemod/board.py,sha256=WVeUbVOV8MlDAyr5JLhOLdlmyFdlOpdRunjdzM_ULsM,11564
|
84
|
-
stubber/codemod/enrich.py,sha256=hvrRxonYD-5mtRF_4dJzVvoVio329_XxKuTUzDW5IfY,5291
|
85
|
-
stubber/codemod/merge_docstub.py,sha256=5cyPT-tA1QnpDqtp70SjXSZx7nJ626X3y2JRzhQLgyA,12395
|
86
|
-
stubber/codemod/modify_list.py,sha256=_YTj3E44dwb7QaRqKaIq0IWg-BzH69AZRqTr3QMkFnY,2064
|
87
|
-
stubber/codemod/utils.py,sha256=7I69E23wnlwABTbfszq6lZN7PNA7H5y4_KiSEu0fJ84,2403
|
88
|
-
stubber/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
89
|
-
stubber/commands/build_cmd.py,sha256=pvgXZ6QidZqMJ1dlaHC8w2SVXpIxXRYtc7Rz9oqwUsI,2379
|
90
|
-
stubber/commands/cli.py,sha256=wbQE_FOzezRx1Z2xdW3_8zID1OoEDZmFMjsE9EA_swA,1507
|
91
|
-
stubber/commands/clone_cmd.py,sha256=knY7AV0oDHdybfY9rA-mSAm8Q5YjqFZ1yV7YxDy0Wmk,2687
|
92
|
-
stubber/commands/config_cmd.py,sha256=uqIKHED8n1OyMRrMLmlfVGwMWkqN6wwRiTvpcLtS91M,962
|
93
|
-
stubber/commands/enrich_folder_cmd.py,sha256=m6Fu6WC3yzpSMQajVVRVFcJ_5Dci8lK0vCcci5XhVVk,1796
|
94
|
-
stubber/commands/get_core_cmd.py,sha256=u4dObHXQzuCMYilv6-w4py6AYIdl97wCM4ilVlKLx9U,2238
|
95
|
-
stubber/commands/get_docstubs_cmd.py,sha256=Lm-b5xevPOKhKXz0piJshBEubxNqpsKoA84z0llj_pk,2983
|
96
|
-
stubber/commands/get_frozen_cmd.py,sha256=4nU_-UMk3Bx1Adf959N__fkNVTRwptp_xhL3KsWGMB4,3906
|
97
|
-
stubber/commands/get_mcu_cmd.py,sha256=jRtHK6STwR_woH4Mu-Goy0xlg4xUEX_Rc6xwz9Q8mgA,2693
|
98
|
-
stubber/commands/merge_cmd.py,sha256=YYMQHxCgT701tLGaLPMx3dEuoHuL5UG4LGZ_wu6Z8wg,1603
|
99
|
-
stubber/commands/publish_cmd.py,sha256=bdUgVL5XEKni7BBIX749RgdHPPlyUjhs7hq2SUzU-18,2786
|
100
|
-
stubber/commands/stub_cmd.py,sha256=CEMASBL6H5jAHydkh_ibANvE02FEAtTF6Q-fig0xAqQ,1169
|
101
|
-
stubber/commands/switch_cmd.py,sha256=qfJxshcKZggHsmGX-FBpLj06PAnIfHFU6hmCcFv-n34,1819
|
102
|
-
stubber/commands/variants_cmd.py,sha256=4EMwkouIGhllQluVFoVJoD-sCtIr7peEogCxZev6kjU,1232
|
103
|
-
stubber/cst_transformer.py,sha256=Er9kww4hgdeQ9dARMx8lB5PLIvPaKjtKJMe8BofKOzY,6301
|
104
|
-
stubber/data/board_info.csv,sha256=3BBwHOtKfq_U0Xl8iWgNsN3akhbNMjb-TIeusDwtTXQ,8434
|
105
|
-
stubber/data/board_info.json,sha256=LbyNo3qeij8bY_PRTxWoS5nFuDv6VyaRTKGiXC_-zRQ,57210
|
106
|
-
stubber/data/micropython_tags.csv,sha256=95Y4zBefqi65QNvQy5bJXr7Fw8sVHmspeo2rnyLZECQ,1894
|
107
|
-
stubber/data/requirements-core-micropython.txt,sha256=mRQ8Sj-PqYP74lVgpWWXSYkVJilSKVsjijoLARQNAwY,1279
|
108
|
-
stubber/data/requirements-core-pycopy.txt,sha256=UKZooNXL7GbojDwmaiBTxHEQzzd-H8kI6l5eJCX-oyk,1012
|
109
|
-
stubber/downloader.py,sha256=J2MHge4AhAU98M93IH-2JEhzYVEfYSeIZGlxEaWdoTE,1169
|
110
|
-
stubber/freeze/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
111
|
-
stubber/freeze/common.py,sha256=fbrHINPTtWQpdhwz-n9xiOGUVZL1pa5xFNAss5YnEpY,2599
|
112
|
-
stubber/freeze/freeze_folder.py,sha256=E3Kb7PparM77jW4xAOgrQ2cW-SFWiLDYaKih5viF5pA,2421
|
113
|
-
stubber/freeze/freeze_manifest_2.py,sha256=S1t9pGumQyrE-umhon2pndQGhxTw0smnJE5mTsphBz8,4015
|
114
|
-
stubber/freeze/get_frozen.py,sha256=4sIhYJvCz186n6JajpamepzPqJmtqD6rrjmF9CJXPmk,5201
|
115
|
-
stubber/get_cpython.py,sha256=g_HeVdzePLBIQkBSOm43v7nDhRxpR2ynhl62pRiasbY,3773
|
116
|
-
stubber/get_lobo.py,sha256=I6bVpcGX7TaD4CI9UID8R9brOG-bBdeL07j1WsTXQH4,1717
|
117
|
-
stubber/minify.py,sha256=lt8Fub09upOL1isZUBOQd14-jRaedPD8DHX_pheAQMs,14650
|
118
|
-
stubber/publish/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
119
|
-
stubber/publish/bump.py,sha256=M9ePaH-K1lbh-OVyPNAv6uxumDtHe3cOD2rXeAMWDqY,3176
|
120
|
-
stubber/publish/candidates.py,sha256=VqeE8WFOlwOULo0SFDyxOI9emP1bjQ7nqyfGxHMjgCY,10545
|
121
|
-
stubber/publish/database.py,sha256=fH_-Zjd_JHTEaW2Yf8kEB6DQduKrmZl9R-67mNYE3HI,605
|
122
|
-
stubber/publish/defaults.py,sha256=x9E03Im7d7aCAotRSg2vjTl0bbxG-X8Sa2pxc9n61EQ,1492
|
123
|
-
stubber/publish/enums.py,sha256=BRzoSjLxYPLcEHySaFprY1ndLLdUetqRjYJmi5CW7xU,756
|
124
|
-
stubber/publish/helpers.py,sha256=XRN9KZgPtIEgVW6NSmZunvTiT0UqP_rr63lM69hcqbs,687
|
125
|
-
stubber/publish/merge_docstubs.py,sha256=fNOVOCjzgNwVnrssUeMQspV6YT5XJn2RIyuMEsCoY30,5217
|
126
|
-
stubber/publish/missing_class_methods.py,sha256=skS8DDI2m_C2oHQeMUCbPAuEl1HYrzONXgweAOvn-ls,1782
|
127
|
-
stubber/publish/package.py,sha256=b6G4HOdSXybuBLnOuKoXXbW9U0_j2-WM1dZ0SR6R8j0,5140
|
128
|
-
stubber/publish/pathnames.py,sha256=ZnQv31BoGZVu0FylwgM-GF-lu_G-MZDlIl9aRgYexG8,1752
|
129
|
-
stubber/publish/publish.py,sha256=o-sOOssjxhTUkn7SHSx2G4PyT63hUVEGS8Lf4nulxXo,3825
|
130
|
-
stubber/publish/pypi.py,sha256=Ml-rX25XX2lvNN4XhmFmPsPB-L7lMVqp1mLVQWksOe4,1230
|
131
|
-
stubber/publish/stubpackage.py,sha256=hIMVY4iMI48fJnpRFcl6alsgwn1RSeHsHU5NjKtHIMM,44060
|
132
|
-
stubber/rst/__init__.py,sha256=8KUzMFNdDU9X6U1VMU1q5bGu_KGxB1XNcJhzNg7tF98,284
|
133
|
-
stubber/rst/classsort.py,sha256=Ap9GsrDz34UGZSqWvhr7LWSvtWL0vgB0owMbfcJLKqI,2577
|
134
|
-
stubber/rst/lookup.py,sha256=UukjRxy1posEunJrEeVczbkIWQMpmz0Kiw0b_AgKh5Q,19750
|
135
|
-
stubber/rst/output_dict.py,sha256=tH_32ZTNj7BndvY2YcZCa1uB-lLeyJUeltoEkTT_Np8,14354
|
136
|
-
stubber/rst/reader.py,sha256=HFPem4oxfkWh39Rt4GOGvGUzh1yfM_ENAEm1QoaVE_4,32795
|
137
|
-
stubber/rst/report_return.py,sha256=M_7c0gCU9uq1UTplDOYuKHTxDi9uGwBB5qDfidGUdvU,2947
|
138
|
-
stubber/rst/rst_utils.py,sha256=K4DAnShcIGXaLBr7oqu5KNSaJL6evElo26bxQQYLrLY,17276
|
139
|
-
stubber/stubber.py,sha256=sScRIAq7vvUZUS9Mzh4Ne6ny0qpsReGNqo0u8vtZXEc,1596
|
140
|
-
stubber/stubs_from_docs.py,sha256=ugKYknJnRpvtAWQBl2TqwIxCD-BxN8bEZmMu37axJeg,2741
|
141
|
-
stubber/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
142
|
-
stubber/tools/manifestfile.py,sha256=12DBJlmiybPv7qo9-X-eT7N53xuP3csUOzsE-Fe5oto,25097
|
143
|
-
stubber/tools/readme.md,sha256=NJ_g0oeeExhiRs2lMQVekccnR_c2lGLt-snu1RnUIx0,278
|
144
|
-
stubber/update_fallback.py,sha256=DVlym7rRWJHs9rC8niiAyeDi5C_Id9BkEkXjS14sSvI,4796
|
145
|
-
stubber/update_module_list.py,sha256=O9huvx6-4VEJ45iBAviQrSlqaOuWia410j-jwUGfDdE,3884
|
146
|
-
stubber/utils/__init__.py,sha256=FzTO7K7X4pBCRxbZjl15JyRNusidLX7uk_DgYMcIFzM,228
|
147
|
-
stubber/utils/config.py,sha256=H0D0ntWwJfBw7kunX9gkRoGL5cXhMdQLwF0WgHwp7ag,4794
|
148
|
-
stubber/utils/makeversionhdr.py,sha256=65VXDavYQU5GnR8OfbFAXAq6RCAtLdbEM-a7a3UiLxc,1899
|
149
|
-
stubber/utils/manifest.py,sha256=ROGiUEZsvMZ-8c8uUYMU_Uh8_HddY3u96vkUH2o8BH0,3149
|
150
|
-
stubber/utils/post.py,sha256=ykux4VF_DAVe0mgSf9wXdUs78DRPr-7WH9QMenhtfpE,2757
|
151
|
-
stubber/utils/repos.py,sha256=4UqrjuthC548sRmrps-43y8IqHcjLABVRp-f-vTNPoo,5740
|
152
|
-
stubber/utils/stubmaker.py,sha256=FqD5pmXNk_xyjeRc2S3ORlv8ZPrcGwiXFL14r3DobSU,5097
|
153
|
-
stubber/utils/typed_config_toml.py,sha256=-8VtE4UF1U7RX6Gc12lgHMaKPt5PTKddRjqiuVE8xt4,2573
|
154
|
-
stubber/variants.py,sha256=6k8CC7ZyfNkMIsEcBtYeBUqpBrQ5OVIbu1lqqySaxOk,3686
|
155
|
-
micropython_stubber-1.23.1.post1.dist-info/LICENSE,sha256=2zsOXlYgl9W7_XGXcncAXIYfvSVlyNcVBycC6hhlKhA,1542
|
156
|
-
micropython_stubber-1.23.1.post1.dist-info/METADATA,sha256=U8ll8ZRmjm2N69Lxis4YD6GGmtH6miIwgqq6Jil_ZWM,23896
|
157
|
-
micropython_stubber-1.23.1.post1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
158
|
-
micropython_stubber-1.23.1.post1.dist-info/entry_points.txt,sha256=JoR8NWh8t6pbDyn0WOMCIfRfDQAOGxqbOgJWuxv3Cxw,116
|
159
|
-
micropython_stubber-1.23.1.post1.dist-info/RECORD,,
|
mpflash/basicgit.py
DELETED
@@ -1,288 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
Simple Git module, where needed via powershell
|
3
|
-
|
4
|
-
Some of the functions are based on the PyGithub module
|
5
|
-
"""
|
6
|
-
|
7
|
-
import os
|
8
|
-
import subprocess
|
9
|
-
from pathlib import Path
|
10
|
-
from typing import List, Optional, Union
|
11
|
-
|
12
|
-
import cachetools.func
|
13
|
-
from github import Auth, Github
|
14
|
-
from loguru import logger as log
|
15
|
-
from packaging.version import parse
|
16
|
-
|
17
|
-
# from stubber.utils.versions import SET_PREVIEW
|
18
|
-
|
19
|
-
# Token with no permissions to avoid throttling
|
20
|
-
# https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28#getting-a-higher-rate-limit
|
21
|
-
PAT_NO_ACCESS = (
|
22
|
-
"github_pat" + "_11AAHPVFQ0qAkDnSUaMKSp" + "_ZkDl5NRRwBsUN6EYg9ahp1Dvj4FDDONnXVgimxC2EtpY7Q7BUKBoQ0Jq72X"
|
23
|
-
)
|
24
|
-
PAT = os.environ.get("GITHUB_TOKEN") or PAT_NO_ACCESS
|
25
|
-
GH_CLIENT = Github(auth=Auth.Token(PAT))
|
26
|
-
|
27
|
-
|
28
|
-
def _run_local_git(
|
29
|
-
cmd: List[str],
|
30
|
-
repo: Optional[Union[Path, str]] = None,
|
31
|
-
expect_stderr=False,
|
32
|
-
capture_output=True,
|
33
|
-
echo_output=True,
|
34
|
-
):
|
35
|
-
"run a external (git) command in the repo's folder and deal with some of the errors"
|
36
|
-
try:
|
37
|
-
if repo:
|
38
|
-
if isinstance(repo, str):
|
39
|
-
repo = Path(repo)
|
40
|
-
result = subprocess.run(
|
41
|
-
cmd, capture_output=capture_output, check=True, cwd=repo.absolute().as_posix(), encoding="utf-8"
|
42
|
-
)
|
43
|
-
else:
|
44
|
-
result = subprocess.run(cmd, capture_output=capture_output, check=True, encoding="utf-8")
|
45
|
-
except (NotADirectoryError, FileNotFoundError) as e: # pragma: no cover
|
46
|
-
return None
|
47
|
-
except subprocess.CalledProcessError as e: # pragma: no cover
|
48
|
-
# add some logging for github actions
|
49
|
-
log.error(f"{str(e)} : { e.stderr}")
|
50
|
-
return None
|
51
|
-
if result.stderr and result.stderr != b"":
|
52
|
-
stderr = result.stderr
|
53
|
-
if "cloning into" in stderr.lower():
|
54
|
-
# log.info(stderr)
|
55
|
-
expect_stderr = True
|
56
|
-
if "warning" in stderr.lower():
|
57
|
-
log.warning(stderr)
|
58
|
-
expect_stderr = True
|
59
|
-
elif capture_output and echo_output: # pragma: no cover
|
60
|
-
log.info(stderr)
|
61
|
-
if not expect_stderr:
|
62
|
-
raise ChildProcessError(stderr)
|
63
|
-
|
64
|
-
if result.returncode and result.returncode < 0:
|
65
|
-
raise ChildProcessError(result.stderr)
|
66
|
-
return result
|
67
|
-
|
68
|
-
|
69
|
-
def clone(remote_repo: str, path: Path, shallow: bool = False, tag: Optional[str] = None) -> bool:
|
70
|
-
"""git clone [--depth 1] [--branch <tag_name>] <remote> <directory>"""
|
71
|
-
cmd = ["git", "clone"]
|
72
|
-
if shallow:
|
73
|
-
cmd += ["--depth", "1"]
|
74
|
-
if tag in {"preview", "latest", "master"}:
|
75
|
-
tag = None
|
76
|
-
cmd += [remote_repo, "--branch", tag, str(path)] if tag else [remote_repo, str(path)]
|
77
|
-
if result := _run_local_git(cmd, expect_stderr=True, capture_output=False):
|
78
|
-
return result.returncode == 0
|
79
|
-
else:
|
80
|
-
return False
|
81
|
-
|
82
|
-
|
83
|
-
def get_local_tag(repo: Optional[Union[str, Path]] = None, abbreviate: bool = True) -> Union[str, None]:
|
84
|
-
"""
|
85
|
-
get the most recent git version tag of a local repo
|
86
|
-
repo Path should be in the form of : repo = "./repo/micropython"
|
87
|
-
|
88
|
-
returns the tag or None
|
89
|
-
"""
|
90
|
-
if not repo:
|
91
|
-
repo = Path(".")
|
92
|
-
elif isinstance(repo, str):
|
93
|
-
repo = Path(repo)
|
94
|
-
|
95
|
-
result = _run_local_git(
|
96
|
-
# ["git", "describe", "--tags"],
|
97
|
-
["git", "describe", "--tags", "--dirty", "--always", "--match", "v[1-9].*"],
|
98
|
-
repo=repo.as_posix(),
|
99
|
-
expect_stderr=True,
|
100
|
-
)
|
101
|
-
if not result:
|
102
|
-
return None
|
103
|
-
tag: str = result.stdout
|
104
|
-
tag = tag.replace("\r", "").replace("\n", "")
|
105
|
-
if not abbreviate or "-" not in tag:
|
106
|
-
return tag
|
107
|
-
if "-preview" in tag:
|
108
|
-
tag = tag.split("-preview")[0] + "-preview"
|
109
|
-
return tag
|
110
|
-
|
111
|
-
|
112
|
-
def get_local_tags(repo: Optional[Path] = None, minver: Optional[str] = None) -> List[str]:
|
113
|
-
"""
|
114
|
-
get list of all tags of a local repo
|
115
|
-
"""
|
116
|
-
if not repo:
|
117
|
-
repo = Path(".")
|
118
|
-
|
119
|
-
result = _run_local_git(["git", "tag", "-l"], repo=repo.as_posix(), expect_stderr=True)
|
120
|
-
if not result or result.returncode != 0:
|
121
|
-
return []
|
122
|
-
tags = result.stdout.replace("\r", "").split("\n")
|
123
|
-
tags = [tag for tag in tags if tag.startswith("v")]
|
124
|
-
if minver:
|
125
|
-
tags = [tag for tag in tags if parse(tag) >= parse(minver)]
|
126
|
-
return sorted(tags)
|
127
|
-
|
128
|
-
|
129
|
-
@cachetools.func.ttl_cache(maxsize=16, ttl=60) # 60 seconds
|
130
|
-
def get_tags(repo: str, minver: Optional[str] = None) -> List[str]:
|
131
|
-
"""
|
132
|
-
Get list of tag of a repote github repo
|
133
|
-
"""
|
134
|
-
if not repo or not isinstance(repo, str) or "/" not in repo: # type: ignore
|
135
|
-
return []
|
136
|
-
try:
|
137
|
-
gh_repo = GH_CLIENT.get_repo(repo)
|
138
|
-
except ConnectionError as e:
|
139
|
-
# TODO: unable to capture the exeption
|
140
|
-
log.warning(f"Unable to get tags - {e}")
|
141
|
-
return []
|
142
|
-
tags = [tag.name for tag in gh_repo.get_tags()]
|
143
|
-
if minver:
|
144
|
-
tags = [tag for tag in tags if parse(tag) >= parse(minver)]
|
145
|
-
return sorted(tags)
|
146
|
-
|
147
|
-
|
148
|
-
def checkout_tag(tag: str, repo: Optional[Union[str, Path]] = None) -> bool:
|
149
|
-
"""
|
150
|
-
checkout a specific git tag
|
151
|
-
"""
|
152
|
-
cmd = ["git", "checkout", tag, "--quiet", "--force"]
|
153
|
-
result = _run_local_git(cmd, repo=repo, expect_stderr=True, capture_output=True)
|
154
|
-
if not result:
|
155
|
-
return False
|
156
|
-
# actually a good result
|
157
|
-
msg = {result.stdout}
|
158
|
-
if msg != {""}:
|
159
|
-
log.warning(f"git message: {msg}")
|
160
|
-
return True
|
161
|
-
|
162
|
-
|
163
|
-
def sync_submodules(repo: Optional[Union[Path, str]] = None) -> bool:
|
164
|
-
"""
|
165
|
-
make sure any submodules are in sync
|
166
|
-
"""
|
167
|
-
cmds = [
|
168
|
-
["git", "submodule", "sync", "--quiet"],
|
169
|
-
# ["git", "submodule", "update", "--quiet"],
|
170
|
-
["git", "submodule", "update", "--init", "lib/micropython-lib"],
|
171
|
-
]
|
172
|
-
for cmd in cmds:
|
173
|
-
if result := _run_local_git(cmd, repo=repo, expect_stderr=True):
|
174
|
-
# actually a good result
|
175
|
-
log.debug(result.stderr)
|
176
|
-
else:
|
177
|
-
return False
|
178
|
-
return True
|
179
|
-
|
180
|
-
|
181
|
-
def checkout_commit(commit_hash: str, repo: Optional[Union[Path, str]] = None) -> bool:
|
182
|
-
"""
|
183
|
-
Checkout a specific commit
|
184
|
-
"""
|
185
|
-
cmd = ["git", "checkout", commit_hash, "--quiet", "--force"]
|
186
|
-
result = _run_local_git(cmd, repo=repo, expect_stderr=True)
|
187
|
-
if not result:
|
188
|
-
return False
|
189
|
-
# actually a good result
|
190
|
-
log.debug(result.stderr)
|
191
|
-
return True
|
192
|
-
|
193
|
-
|
194
|
-
def switch_tag(tag: Union[str, Path], repo: Optional[Union[Path, str]] = None) -> bool:
|
195
|
-
"""
|
196
|
-
switch to the specified version tag of a local repo
|
197
|
-
repo should be in the form of : path/.git
|
198
|
-
repo = '../micropython/.git'
|
199
|
-
returns None
|
200
|
-
"""
|
201
|
-
|
202
|
-
cmd = ["git", "switch", "--detach", tag, "--quiet", "--force"]
|
203
|
-
result = _run_local_git(cmd, repo=repo, expect_stderr=True)
|
204
|
-
if not result:
|
205
|
-
return False
|
206
|
-
# actually a good result
|
207
|
-
log.debug(result.stderr)
|
208
|
-
return True
|
209
|
-
|
210
|
-
|
211
|
-
def switch_branch(branch: str, repo: Optional[Union[Path, str]] = None) -> bool:
|
212
|
-
"""
|
213
|
-
switch to the specified branch in a local repo"
|
214
|
-
repo should be in the form of : path/.git
|
215
|
-
repo = '../micropython/.git'
|
216
|
-
returns None
|
217
|
-
"""
|
218
|
-
cmd = ["git", "switch", branch, "--quiet", "--force"]
|
219
|
-
result = _run_local_git(cmd, repo=repo, expect_stderr=True)
|
220
|
-
if not result:
|
221
|
-
return False
|
222
|
-
# actually a good result
|
223
|
-
log.debug(result.stderr)
|
224
|
-
return True
|
225
|
-
|
226
|
-
|
227
|
-
def fetch(repo: Union[Path, str]) -> bool:
|
228
|
-
"""
|
229
|
-
fetches a repo
|
230
|
-
repo should be in the form of : path/.git
|
231
|
-
repo = '../micropython/.git'
|
232
|
-
returns True on success
|
233
|
-
"""
|
234
|
-
if not repo:
|
235
|
-
raise NotADirectoryError
|
236
|
-
|
237
|
-
cmd = ["git", "fetch", "--all", "--tags", "--quiet"]
|
238
|
-
result = _run_local_git(cmd, repo=repo, echo_output=False)
|
239
|
-
return result.returncode == 0 if result else False
|
240
|
-
|
241
|
-
|
242
|
-
def pull(repo: Union[Path, str], branch: str = "main") -> bool:
|
243
|
-
"""
|
244
|
-
pull a repo origin into main
|
245
|
-
repo should be in the form of : path/.git
|
246
|
-
repo = '../micropython/.git'
|
247
|
-
returns True on success
|
248
|
-
"""
|
249
|
-
if not repo:
|
250
|
-
raise NotADirectoryError
|
251
|
-
repo = Path(repo)
|
252
|
-
# first checkout HEAD
|
253
|
-
cmd = ["git", "checkout", branch, "--quiet", "--force"]
|
254
|
-
result = _run_local_git(cmd, repo=repo, expect_stderr=True)
|
255
|
-
if not result:
|
256
|
-
log.error("error during git checkout main", result)
|
257
|
-
return False
|
258
|
-
|
259
|
-
cmd = ["git", "pull", "origin", branch, "--quiet", "--autostash"]
|
260
|
-
result = _run_local_git(cmd, repo=repo, expect_stderr=True)
|
261
|
-
if not result:
|
262
|
-
log.error("error durign pull", result)
|
263
|
-
return False
|
264
|
-
return result.returncode == 0
|
265
|
-
|
266
|
-
|
267
|
-
def get_git_describe(folder: Optional[str] = None):
|
268
|
-
"""
|
269
|
-
Based on MicroPython makeversionhdr.py
|
270
|
-
returns : current git tag, commits ,commit hash : "v1.19.1-841-g3446"
|
271
|
-
"""
|
272
|
-
# Note: git describe doesn't work if no tag is available
|
273
|
-
try:
|
274
|
-
git_describe = subprocess.check_output(
|
275
|
-
["git", "describe", "--tags", "--dirty", "--always", "--match", "v[1-9].*"],
|
276
|
-
stderr=subprocess.STDOUT,
|
277
|
-
universal_newlines=True,
|
278
|
-
cwd=folder,
|
279
|
-
).strip()
|
280
|
-
except subprocess.CalledProcessError as er:
|
281
|
-
if er.returncode == 128:
|
282
|
-
# git exit code of 128 means no repository found
|
283
|
-
return None
|
284
|
-
git_describe = ""
|
285
|
-
except OSError:
|
286
|
-
return None
|
287
|
-
# format
|
288
|
-
return git_describe
|
File without changes
|
{micropython_stubber-1.23.1.post1.dist-info → micropython_stubber-1.23.3.dist-info}/entry_points.txt
RENAMED
File without changes
|