pocklo 0.2.0__tar.gz
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.
- pocklo-0.2.0/PKG-INFO +210 -0
- pocklo-0.2.0/README.md +197 -0
- pocklo-0.2.0/pyproject.toml +29 -0
- pocklo-0.2.0/setup.cfg +4 -0
- pocklo-0.2.0/src/pocklo.egg-info/PKG-INFO +210 -0
- pocklo-0.2.0/src/pocklo.egg-info/SOURCES.txt +13 -0
- pocklo-0.2.0/src/pocklo.egg-info/dependency_links.txt +1 -0
- pocklo-0.2.0/src/pocklo.egg-info/entry_points.txt +2 -0
- pocklo-0.2.0/src/pocklo.egg-info/requires.txt +3 -0
- pocklo-0.2.0/src/pocklo.egg-info/top_level.txt +1 -0
- pocklo-0.2.0/src/pocklo_cli/__init__.py +3 -0
- pocklo-0.2.0/src/pocklo_cli/__main__.py +5 -0
- pocklo-0.2.0/src/pocklo_cli/api.py +426 -0
- pocklo-0.2.0/src/pocklo_cli/cli.py +1008 -0
- pocklo-0.2.0/src/pocklo_cli/config.py +144 -0
pocklo-0.2.0/PKG-INFO
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pocklo
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Command-line client for the Pocklo file workspace
|
|
5
|
+
Project-URL: Homepage, https://pocklo.jyonn.space/
|
|
6
|
+
Project-URL: Documentation, https://pocklo.jyonn.space/cli
|
|
7
|
+
Project-URL: Source, https://github.com/pocklo-app/pocklo-cli
|
|
8
|
+
Requires-Python: >=3.9
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
Requires-Dist: qiniu<8,>=7.13
|
|
11
|
+
Requires-Dist: rich<14,>=13.9
|
|
12
|
+
Requires-Dist: requests<3,>=2.32
|
|
13
|
+
|
|
14
|
+
# Pocklo CLI · 小兜
|
|
15
|
+
|
|
16
|
+
`pocklo` is the command-line client for the Pocklo file workspace. It supports:
|
|
17
|
+
|
|
18
|
+
- SSO-based login by exchanging an authorization `code` for the backend JWT token
|
|
19
|
+
- Listing remote directories
|
|
20
|
+
- Switching into a remote working directory with `cd`
|
|
21
|
+
- Uploading a local file into a remote directory
|
|
22
|
+
- Uploading a local directory recursively while recreating its folder structure remotely
|
|
23
|
+
- Resumable multipart uploads with real remote-part progress
|
|
24
|
+
|
|
25
|
+
## Install
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
python3 -m pip install pocklo
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
For local development:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pip install -e .
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Commands
|
|
38
|
+
|
|
39
|
+
Print the SSO authorization URL:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pocklo login --print-url
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Interactive login:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
pocklo login
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
You can also paste the full callback URL directly:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
pocklo login --code 'https://pocklo.jyonn.space/oauth/qtb/callback?code=...'
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Show the authenticated user:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
pocklo whoami
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Change into a remote directory:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pocklo cd @Ab12Cd
|
|
67
|
+
pocklo cd Projects
|
|
68
|
+
pocklo cd ../Archive
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Print the current remote directory:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pocklo pwd
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
List the current remote directory:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
pocklo ls
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
List the remote root directory explicitly:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pocklo ls /
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
List a nested remote directory by relative path:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
pocklo ls Photos/2024
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
List a remote resource directly by resource ID:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
pocklo ls id:Ab12Cd
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
The shorter `@资源ID` form works too:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
pocklo ls @Ab12Cd
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Upload a local file into a remote directory:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
pocklo upload ./report.pdf
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Upload a local directory recursively. The local directory name is created or reused under the target remote directory:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
pocklo upload ./albums
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Only upload selected extensions:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
pocklo upload ./albums /Photos --include-ext jpg --include-ext png
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Exclude specific extensions:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
pocklo upload ./albums /Photos --exclude-ext tmp --exclude-ext log
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
You can combine both flags. `--exclude-ext` takes precedence when both match the same file.
|
|
132
|
+
|
|
133
|
+
Create a directory under the remote root:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
pocklo mkdir Projects
|
|
137
|
+
pocklo cd Projects
|
|
138
|
+
pocklo mkdir 2026
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Create a directory under a specific remote folder:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
pocklo mkdir 2026 /Photos
|
|
145
|
+
pocklo mkdir Archive @Ab12Cd
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Rename a remote resource:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
pocklo rename /Photos/old-name.jpg new-name.jpg
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Move a remote resource into another remote directory:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
pocklo mv new-name.jpg ../Archive
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Delete a remote file:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
pocklo rm new-name.jpg
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Delete a non-empty remote directory recursively:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
pocklo rm --recursive Archive
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Download a remote file to the current directory:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
pocklo download report.pdf
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Download a remote file into a chosen local path:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
pocklo download @Ab12Cd ./downloads/report.pdf
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Download a remote directory recursively:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
pocklo download @Ab12Cd ./downloads/Archive
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Create a remote link resource:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
pocklo link Search https://www.google.com
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## State File
|
|
197
|
+
|
|
198
|
+
The CLI stores the backend JWT token and the last fetched user payload in:
|
|
199
|
+
|
|
200
|
+
```text
|
|
201
|
+
~/.config/pocklo-cli/state.json
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
On first use, Pocklo imports existing login state and the remote working directory from `~/.config/htx-cli` or `~/.config/disk-cli` when present. Existing upload resume records remain in their configured directory. `DISK_*` environment variables are still read as fallbacks. Use `--config` to point to a different state file.
|
|
205
|
+
|
|
206
|
+
Multipart upload resume records are stored under:
|
|
207
|
+
|
|
208
|
+
```text
|
|
209
|
+
~/.config/pocklo-cli/upload-records/
|
|
210
|
+
```
|
pocklo-0.2.0/README.md
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Pocklo CLI · 小兜
|
|
2
|
+
|
|
3
|
+
`pocklo` is the command-line client for the Pocklo file workspace. It supports:
|
|
4
|
+
|
|
5
|
+
- SSO-based login by exchanging an authorization `code` for the backend JWT token
|
|
6
|
+
- Listing remote directories
|
|
7
|
+
- Switching into a remote working directory with `cd`
|
|
8
|
+
- Uploading a local file into a remote directory
|
|
9
|
+
- Uploading a local directory recursively while recreating its folder structure remotely
|
|
10
|
+
- Resumable multipart uploads with real remote-part progress
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
python3 -m pip install pocklo
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
For local development:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
pip install -e .
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Commands
|
|
25
|
+
|
|
26
|
+
Print the SSO authorization URL:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pocklo login --print-url
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Interactive login:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
pocklo login
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
You can also paste the full callback URL directly:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pocklo login --code 'https://pocklo.jyonn.space/oauth/qtb/callback?code=...'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Show the authenticated user:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pocklo whoami
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Change into a remote directory:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pocklo cd @Ab12Cd
|
|
54
|
+
pocklo cd Projects
|
|
55
|
+
pocklo cd ../Archive
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Print the current remote directory:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pocklo pwd
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
List the current remote directory:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pocklo ls
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
List the remote root directory explicitly:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
pocklo ls /
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
List a nested remote directory by relative path:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
pocklo ls Photos/2024
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
List a remote resource directly by resource ID:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
pocklo ls id:Ab12Cd
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The shorter `@资源ID` form works too:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
pocklo ls @Ab12Cd
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Upload a local file into a remote directory:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
pocklo upload ./report.pdf
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Upload a local directory recursively. The local directory name is created or reused under the target remote directory:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
pocklo upload ./albums
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Only upload selected extensions:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
pocklo upload ./albums /Photos --include-ext jpg --include-ext png
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Exclude specific extensions:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
pocklo upload ./albums /Photos --exclude-ext tmp --exclude-ext log
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
You can combine both flags. `--exclude-ext` takes precedence when both match the same file.
|
|
119
|
+
|
|
120
|
+
Create a directory under the remote root:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
pocklo mkdir Projects
|
|
124
|
+
pocklo cd Projects
|
|
125
|
+
pocklo mkdir 2026
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Create a directory under a specific remote folder:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
pocklo mkdir 2026 /Photos
|
|
132
|
+
pocklo mkdir Archive @Ab12Cd
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Rename a remote resource:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
pocklo rename /Photos/old-name.jpg new-name.jpg
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Move a remote resource into another remote directory:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
pocklo mv new-name.jpg ../Archive
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Delete a remote file:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
pocklo rm new-name.jpg
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Delete a non-empty remote directory recursively:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
pocklo rm --recursive Archive
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Download a remote file to the current directory:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
pocklo download report.pdf
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Download a remote file into a chosen local path:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
pocklo download @Ab12Cd ./downloads/report.pdf
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Download a remote directory recursively:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
pocklo download @Ab12Cd ./downloads/Archive
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Create a remote link resource:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
pocklo link Search https://www.google.com
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## State File
|
|
184
|
+
|
|
185
|
+
The CLI stores the backend JWT token and the last fetched user payload in:
|
|
186
|
+
|
|
187
|
+
```text
|
|
188
|
+
~/.config/pocklo-cli/state.json
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
On first use, Pocklo imports existing login state and the remote working directory from `~/.config/htx-cli` or `~/.config/disk-cli` when present. Existing upload resume records remain in their configured directory. `DISK_*` environment variables are still read as fallbacks. Use `--config` to point to a different state file.
|
|
192
|
+
|
|
193
|
+
Multipart upload resume records are stored under:
|
|
194
|
+
|
|
195
|
+
```text
|
|
196
|
+
~/.config/pocklo-cli/upload-records/
|
|
197
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "pocklo"
|
|
7
|
+
version = "0.2.0"
|
|
8
|
+
description = "Command-line client for the Pocklo file workspace"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
dependencies = [
|
|
12
|
+
"qiniu>=7.13,<8",
|
|
13
|
+
"rich>=13.9,<14",
|
|
14
|
+
"requests>=2.32,<3",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
[project.scripts]
|
|
18
|
+
pocklo = "pocklo_cli.cli:main"
|
|
19
|
+
|
|
20
|
+
[project.urls]
|
|
21
|
+
Homepage = "https://pocklo.jyonn.space/"
|
|
22
|
+
Documentation = "https://pocklo.jyonn.space/cli"
|
|
23
|
+
Source = "https://github.com/pocklo-app/pocklo-cli"
|
|
24
|
+
|
|
25
|
+
[tool.setuptools]
|
|
26
|
+
package-dir = {"" = "src"}
|
|
27
|
+
|
|
28
|
+
[tool.setuptools.packages.find]
|
|
29
|
+
where = ["src"]
|
pocklo-0.2.0/setup.cfg
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pocklo
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Command-line client for the Pocklo file workspace
|
|
5
|
+
Project-URL: Homepage, https://pocklo.jyonn.space/
|
|
6
|
+
Project-URL: Documentation, https://pocklo.jyonn.space/cli
|
|
7
|
+
Project-URL: Source, https://github.com/pocklo-app/pocklo-cli
|
|
8
|
+
Requires-Python: >=3.9
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
Requires-Dist: qiniu<8,>=7.13
|
|
11
|
+
Requires-Dist: rich<14,>=13.9
|
|
12
|
+
Requires-Dist: requests<3,>=2.32
|
|
13
|
+
|
|
14
|
+
# Pocklo CLI · 小兜
|
|
15
|
+
|
|
16
|
+
`pocklo` is the command-line client for the Pocklo file workspace. It supports:
|
|
17
|
+
|
|
18
|
+
- SSO-based login by exchanging an authorization `code` for the backend JWT token
|
|
19
|
+
- Listing remote directories
|
|
20
|
+
- Switching into a remote working directory with `cd`
|
|
21
|
+
- Uploading a local file into a remote directory
|
|
22
|
+
- Uploading a local directory recursively while recreating its folder structure remotely
|
|
23
|
+
- Resumable multipart uploads with real remote-part progress
|
|
24
|
+
|
|
25
|
+
## Install
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
python3 -m pip install pocklo
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
For local development:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pip install -e .
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Commands
|
|
38
|
+
|
|
39
|
+
Print the SSO authorization URL:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pocklo login --print-url
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Interactive login:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
pocklo login
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
You can also paste the full callback URL directly:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
pocklo login --code 'https://pocklo.jyonn.space/oauth/qtb/callback?code=...'
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Show the authenticated user:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
pocklo whoami
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Change into a remote directory:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pocklo cd @Ab12Cd
|
|
67
|
+
pocklo cd Projects
|
|
68
|
+
pocklo cd ../Archive
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Print the current remote directory:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pocklo pwd
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
List the current remote directory:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
pocklo ls
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
List the remote root directory explicitly:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pocklo ls /
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
List a nested remote directory by relative path:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
pocklo ls Photos/2024
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
List a remote resource directly by resource ID:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
pocklo ls id:Ab12Cd
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
The shorter `@资源ID` form works too:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
pocklo ls @Ab12Cd
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Upload a local file into a remote directory:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
pocklo upload ./report.pdf
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Upload a local directory recursively. The local directory name is created or reused under the target remote directory:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
pocklo upload ./albums
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Only upload selected extensions:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
pocklo upload ./albums /Photos --include-ext jpg --include-ext png
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Exclude specific extensions:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
pocklo upload ./albums /Photos --exclude-ext tmp --exclude-ext log
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
You can combine both flags. `--exclude-ext` takes precedence when both match the same file.
|
|
132
|
+
|
|
133
|
+
Create a directory under the remote root:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
pocklo mkdir Projects
|
|
137
|
+
pocklo cd Projects
|
|
138
|
+
pocklo mkdir 2026
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Create a directory under a specific remote folder:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
pocklo mkdir 2026 /Photos
|
|
145
|
+
pocklo mkdir Archive @Ab12Cd
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Rename a remote resource:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
pocklo rename /Photos/old-name.jpg new-name.jpg
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Move a remote resource into another remote directory:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
pocklo mv new-name.jpg ../Archive
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Delete a remote file:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
pocklo rm new-name.jpg
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Delete a non-empty remote directory recursively:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
pocklo rm --recursive Archive
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Download a remote file to the current directory:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
pocklo download report.pdf
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Download a remote file into a chosen local path:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
pocklo download @Ab12Cd ./downloads/report.pdf
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Download a remote directory recursively:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
pocklo download @Ab12Cd ./downloads/Archive
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Create a remote link resource:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
pocklo link Search https://www.google.com
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## State File
|
|
197
|
+
|
|
198
|
+
The CLI stores the backend JWT token and the last fetched user payload in:
|
|
199
|
+
|
|
200
|
+
```text
|
|
201
|
+
~/.config/pocklo-cli/state.json
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
On first use, Pocklo imports existing login state and the remote working directory from `~/.config/htx-cli` or `~/.config/disk-cli` when present. Existing upload resume records remain in their configured directory. `DISK_*` environment variables are still read as fallbacks. Use `--config` to point to a different state file.
|
|
205
|
+
|
|
206
|
+
Multipart upload resume records are stored under:
|
|
207
|
+
|
|
208
|
+
```text
|
|
209
|
+
~/.config/pocklo-cli/upload-records/
|
|
210
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
src/pocklo.egg-info/PKG-INFO
|
|
4
|
+
src/pocklo.egg-info/SOURCES.txt
|
|
5
|
+
src/pocklo.egg-info/dependency_links.txt
|
|
6
|
+
src/pocklo.egg-info/entry_points.txt
|
|
7
|
+
src/pocklo.egg-info/requires.txt
|
|
8
|
+
src/pocklo.egg-info/top_level.txt
|
|
9
|
+
src/pocklo_cli/__init__.py
|
|
10
|
+
src/pocklo_cli/__main__.py
|
|
11
|
+
src/pocklo_cli/api.py
|
|
12
|
+
src/pocklo_cli/cli.py
|
|
13
|
+
src/pocklo_cli/config.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pocklo_cli
|