-
Notifications
You must be signed in to change notification settings - Fork 481
/
DownloadFile.yaml
42 lines (37 loc) · 1.35 KB
/
DownloadFile.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
name: System.VFS.DownloadFile
description: |
This is an internal artifact used by the GUI to populate the
VFS. You may run it manually if you like, but typically it is
launched by the GUI when the user clicks the "Collect from client"
button at the file "Stats" tab.
If you run it yourself (or via the API) the results will also be
shown in the VFS view.
parameters:
- name: Path
description: The path of the file to download.
default: /
- name: Accessor
default: file
- name: Recursively
type: bool
description: |
If specified, Path is interpreted as a directory and
we download all files below it.
sources:
- query: |
LET download_one_file = SELECT Path, Accessor,
Size, StoredSize, Error, Sha256, Md5
FROM upload(files=Path, accessor=Accessor)
LET download_recursive = SELECT FullPath, Accessor,
Size, upload(file=FullPath, accessor=Accessor) AS Upload
FROM glob(globs="**", root=Path, accessor=Accessor)
WHERE Mode.IsRegular
SELECT * FROM if(condition= Recursively,
then={
SELECT FullPath AS Path, Accessor,
Upload.Size AS Size,
Upload.StoredSize AS StoredSize,
Upload.Sha256 AS Sha256,
Upload.Md5 AS Md5
FROM download_recursive
}, else=download_one_file)