addftool 0.2.2__py3-none-any.whl → 0.2.4__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.
- addftool/addf_portal.py +5 -0
- addftool/blob.py +40 -10
- addftool/deploy/ssh_server.py +3 -0
- addftool/deploy/vscode_server.py +1 -1
- addftool/tool.py +0 -4
- {addftool-0.2.2.dist-info → addftool-0.2.4.dist-info}/METADATA +1 -1
- {addftool-0.2.2.dist-info → addftool-0.2.4.dist-info}/RECORD +10 -10
- {addftool-0.2.2.dist-info → addftool-0.2.4.dist-info}/WHEEL +0 -0
- {addftool-0.2.2.dist-info → addftool-0.2.4.dist-info}/entry_points.txt +0 -0
- {addftool-0.2.2.dist-info → addftool-0.2.4.dist-info}/top_level.txt +0 -0
addftool/addf_portal.py
CHANGED
|
@@ -4,6 +4,8 @@ from addftool.sync import add_sync_args, sync_main
|
|
|
4
4
|
from addftool.deploy import add_deploy_args, deploy_main
|
|
5
5
|
from addftool.broadcast_folder import add_broadcast_folder_args, broadcast_folder_main
|
|
6
6
|
|
|
7
|
+
from addftool.blob import add_blob_args, blob_main
|
|
8
|
+
|
|
7
9
|
|
|
8
10
|
def get_args():
|
|
9
11
|
parser = argparse.ArgumentParser(description="Addf's tool")
|
|
@@ -13,6 +15,7 @@ def get_args():
|
|
|
13
15
|
add_sync_args(subparsers)
|
|
14
16
|
add_deploy_args(subparsers)
|
|
15
17
|
add_broadcast_folder_args(subparsers)
|
|
18
|
+
add_blob_args(subparsers)
|
|
16
19
|
|
|
17
20
|
return parser.parse_args()
|
|
18
21
|
|
|
@@ -27,6 +30,8 @@ def main():
|
|
|
27
30
|
deploy_main(args)
|
|
28
31
|
elif args.command == "broadcast-folder":
|
|
29
32
|
broadcast_folder_main(args)
|
|
33
|
+
elif args.command == "blob":
|
|
34
|
+
blob_main(args)
|
|
30
35
|
else:
|
|
31
36
|
print("Unknown command: ", args.command)
|
|
32
37
|
|
addftool/blob.py
CHANGED
|
@@ -199,13 +199,29 @@ def get_sas_token(api_url, name, container, key, info=False):
|
|
|
199
199
|
return f"Error: {response.status_code}"
|
|
200
200
|
|
|
201
201
|
|
|
202
|
-
def
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
202
|
+
def parse_blob_account_and_container_from_url(blob_url):
|
|
203
|
+
"""
|
|
204
|
+
Parse the blob URL to extract account name and container name.
|
|
205
|
+
"""
|
|
206
|
+
if not blob_url.startswith("https://"):
|
|
207
|
+
raise ValueError(f"Invalid blob URL: {blob_url}")
|
|
208
|
+
|
|
209
|
+
parts = blob_url.split("/")
|
|
210
|
+
account_name = parts[2].split(".")[0]
|
|
211
|
+
container_name = parts[3].strip()
|
|
212
|
+
|
|
213
|
+
return account_name, container_name
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
def get_sas_token_for_blob_url(api_url, blob_url, key, info=False):
|
|
217
|
+
an, cn = parse_blob_account_and_container_from_url(blob_url)
|
|
218
|
+
if info:
|
|
219
|
+
print(f"Parse blob URL: {blob_url}, account name: {an}, container name: {cn}")
|
|
220
|
+
return get_sas_token(api_url, an, cn, key, info=info)
|
|
221
|
+
|
|
207
222
|
|
|
208
|
-
|
|
223
|
+
def add_args(parser):
|
|
224
|
+
subparsers = parser.add_subparsers(dest='blob_command', help='Sub-command help')
|
|
209
225
|
install_parser = subparsers.add_parser('install', help='Install help')
|
|
210
226
|
# install_parser.add_argument("-o", "--output_script", help="output script", default=None)
|
|
211
227
|
install_parser.add_argument("--packages", help="packages", default="fuse3 blobfuse2 azcopy")
|
|
@@ -223,19 +239,33 @@ def main():
|
|
|
223
239
|
token_parser = subparsers.add_parser('token', help='Token help')
|
|
224
240
|
add_api(token_parser)
|
|
225
241
|
|
|
226
|
-
|
|
242
|
+
def add_blob_args(subparsers):
|
|
243
|
+
deploy_parser = subparsers.add_parser('blob', help='Blob help')
|
|
244
|
+
add_args(deploy_parser)
|
|
245
|
+
|
|
227
246
|
|
|
247
|
+
def blob_main(args):
|
|
228
248
|
# check os is linux/unix and current user, set --sudo if current user is not root
|
|
229
249
|
if os.name == 'posix' and os.getuid() != 0:
|
|
230
250
|
args.sudo = True
|
|
231
251
|
|
|
232
|
-
if args.
|
|
252
|
+
if args.blob_command == 'install':
|
|
233
253
|
install_main(args)
|
|
234
|
-
elif args.
|
|
254
|
+
elif args.blob_command == 'mount':
|
|
235
255
|
mount_main(args)
|
|
236
|
-
elif args.
|
|
256
|
+
elif args.blob_command == 'token':
|
|
237
257
|
print(get_token(args, info=False))
|
|
238
258
|
|
|
239
259
|
|
|
260
|
+
def main():
|
|
261
|
+
# exmaple usage: addfblob install
|
|
262
|
+
# exmaple usage: addfblob mount -k <key> -a <api> -b <buffer> -m <mount_dir>
|
|
263
|
+
# exmaple usage: addfblob token -k <key> -a <api>
|
|
264
|
+
parser = argparse.ArgumentParser(description="Addf's tool")
|
|
265
|
+
add_args(parser)
|
|
266
|
+
args = parser.parse_args()
|
|
267
|
+
blob_main(args)
|
|
268
|
+
|
|
269
|
+
|
|
240
270
|
if __name__ == "__main__":
|
|
241
271
|
main()
|
addftool/deploy/ssh_server.py
CHANGED
|
@@ -67,7 +67,10 @@ def configure_ssh_on_ubuntu(port, username, ssh_public_key="", password=""):
|
|
|
67
67
|
execute_command(command_prefix + "apt-get install -y openssh-server")
|
|
68
68
|
|
|
69
69
|
print("Modifying SSH configuration...")
|
|
70
|
+
# if "#Port 22" in sshd_config
|
|
70
71
|
execute_command(command_prefix + f'sed -i "s/#Port 22/Port {port}/" /etc/ssh/sshd_config')
|
|
72
|
+
# if Port xxx in sshd_config
|
|
73
|
+
execute_command(command_prefix + f'sed -i "s/Port [0-9]*/Port {port}/" /etc/ssh/sshd_config')
|
|
71
74
|
execute_command(command_prefix + 'sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/" /etc/ssh/sshd_config')
|
|
72
75
|
|
|
73
76
|
if not os.path.exists("/etc/ssh/ssh_host_rsa_key"):
|
addftool/deploy/vscode_server.py
CHANGED
|
@@ -36,9 +36,9 @@ def deploy_vscode_server(install_tunnel=True):
|
|
|
36
36
|
# Start VS Code Tunnel if requested
|
|
37
37
|
if install_tunnel:
|
|
38
38
|
print("Starting VS Code Tunnel...")
|
|
39
|
-
execute_command("code tunnel --accept-server-license-terms")
|
|
40
39
|
|
|
41
40
|
print("VS Code installation completed successfully!")
|
|
41
|
+
print("You can start VS Code by running 'code' in the terminal., such as: \"code tunnel --accept-server-license-terms\"")
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
def add_deploy_vscode_server_args(parser):
|
addftool/tool.py
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
addftool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
addftool/addf_portal.py,sha256=
|
|
3
|
-
addftool/blob.py,sha256=
|
|
2
|
+
addftool/addf_portal.py,sha256=6XjwGs5m2mRVDWVvCPOiqn1NlxDcGBTQ9Kr_0g5RsJc,1130
|
|
3
|
+
addftool/blob.py,sha256=YT3eZrC9mdYtntDlwEI5MUHFw98wKtBC_pHEdtqvsv4,9206
|
|
4
4
|
addftool/broadcast_folder.py,sha256=bEOr-8Q14DhZFS658hab4U-9HvAW3EGluEriilIdEXQ,11976
|
|
5
5
|
addftool/sync.py,sha256=ZpYxbM8uiPFrV7ODmOaM7asVPCWaxBixA-arVc-1kfs,14045
|
|
6
|
-
addftool/tool.py,sha256=
|
|
6
|
+
addftool/tool.py,sha256=FmxRY3-pP0_Z0zCUAngjmEMmPUruMftg_iUlB1t2TnQ,2001
|
|
7
7
|
addftool/util.py,sha256=zlNLu8Be8cGIpNRqBw8_0q7nFxWlsJ9cToN62ohjdXE,2335
|
|
8
8
|
addftool/deploy/__init__.py,sha256=UL8b-Idt7lStlMiOm8oTZ65fdzYz99Fgzq2Gaw8WsZc,1544
|
|
9
9
|
addftool/deploy/azure.py,sha256=_o_9Eh8cVwLDAqvfyRYBtQRHs_Gul-nCs2ZXttwO1bk,1301
|
|
10
|
-
addftool/deploy/ssh_server.py,sha256=
|
|
11
|
-
addftool/deploy/vscode_server.py,sha256=
|
|
10
|
+
addftool/deploy/ssh_server.py,sha256=7glpJJNROskpqPkeYrTc2MbVzRendUZLv-ZgPs6HCq8,5641
|
|
11
|
+
addftool/deploy/vscode_server.py,sha256=tLtSvlcK2fEOaw6udWt8dNELVhwv9F59hF5DJJ-1Nak,2666
|
|
12
12
|
addftool/process/__init__.py,sha256=Dze8OrcyjQlAbPrjE_h8bMi8W4b3OJyZOjTucPrkJvM,3721
|
|
13
13
|
addftool/process/utils.py,sha256=JldxnwanLJOgxaPgmCJh7SeBRaaj5rFxWWxh1hpsvbA,2609
|
|
14
14
|
addftool/ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
addftool-0.2.
|
|
16
|
-
addftool-0.2.
|
|
17
|
-
addftool-0.2.
|
|
18
|
-
addftool-0.2.
|
|
19
|
-
addftool-0.2.
|
|
15
|
+
addftool-0.2.4.dist-info/METADATA,sha256=Mxypih4dkYUmHFyyVBqbZLVf4CYJqapkfHMJ2zCMVh0,170
|
|
16
|
+
addftool-0.2.4.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
17
|
+
addftool-0.2.4.dist-info/entry_points.txt,sha256=9lkmuWMInwUAtev8w8poNkNd7iML9Bjd5CBCFVxg2b8,111
|
|
18
|
+
addftool-0.2.4.dist-info/top_level.txt,sha256=jqj56-plrBbyzY0tIxB6wPzjAA8kte4hUlajyyQygN4,9
|
|
19
|
+
addftool-0.2.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|