flova 0.1.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.
- flova-0.1.0/ARCHITECTURE.md +21 -0
- flova-0.1.0/Dockerfile +6 -0
- flova-0.1.0/Dockerfile.ekoa +9 -0
- flova-0.1.0/MANIFEST.in +7 -0
- flova-0.1.0/PKG-INFO +54 -0
- flova-0.1.0/README.md +39 -0
- flova-0.1.0/docs/COMMANDS.md +208 -0
- flova-0.1.0/docs/MIGRATION.md +327 -0
- flova-0.1.0/docs/N8N.md +163 -0
- flova-0.1.0/docs/SERVER.md +41 -0
- flova-0.1.0/examples/flova.toml +13 -0
- flova-0.1.0/examples/ledger.toml +4 -0
- flova-0.1.0/pyproject.toml +30 -0
- flova-0.1.0/release.sh +22 -0
- flova-0.1.0/setup.cfg +4 -0
- flova-0.1.0/src/flova/__init__.py +0 -0
- flova-0.1.0/src/flova/__main__.py +3 -0
- flova-0.1.0/src/flova/application/__init__.py +0 -0
- flova-0.1.0/src/flova/application/deploy.py +46 -0
- flova-0.1.0/src/flova/application/finance.py +206 -0
- flova-0.1.0/src/flova/application/ledger.py +24 -0
- flova-0.1.0/src/flova/application/services.py +15 -0
- flova-0.1.0/src/flova/bootstrap.py +35 -0
- flova-0.1.0/src/flova/config.py +108 -0
- flova-0.1.0/src/flova/core/__init__.py +0 -0
- flova-0.1.0/src/flova/core/errors.py +8 -0
- flova-0.1.0/src/flova/core/ports.py +27 -0
- flova-0.1.0/src/flova/entrypoints/__init__.py +0 -0
- flova-0.1.0/src/flova/entrypoints/cli.py +147 -0
- flova-0.1.0/src/flova/entrypoints/download.py +24 -0
- flova-0.1.0/src/flova/entrypoints/http.py +84 -0
- flova-0.1.0/src/flova/infrastructure/__init__.py +0 -0
- flova-0.1.0/src/flova/infrastructure/beancount.py +349 -0
- flova-0.1.0/src/flova/infrastructure/download.py +22 -0
- flova-0.1.0/src/flova/infrastructure/git.py +19 -0
- flova-0.1.0/src/flova/infrastructure/hook.py +18 -0
- flova-0.1.0/src/flova/infrastructure/process.py +11 -0
- flova-0.1.0/src/flova/infrastructure/runtime.py +348 -0
- flova-0.1.0/src/flova.egg-info/PKG-INFO +54 -0
- flova-0.1.0/src/flova.egg-info/SOURCES.txt +47 -0
- flova-0.1.0/src/flova.egg-info/dependency_links.txt +1 -0
- flova-0.1.0/src/flova.egg-info/entry_points.txt +3 -0
- flova-0.1.0/src/flova.egg-info/requires.txt +9 -0
- flova-0.1.0/src/flova.egg-info/top_level.txt +1 -0
- flova-0.1.0/start.sh +5 -0
- flova-0.1.0/tests/test_finance.py +128 -0
- flova-0.1.0/tests/test_migration.py +154 -0
- flova-0.1.0/tests/test_runtime.py +63 -0
- flova-0.1.0/tests/test_services.py +173 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
```text
|
|
4
|
+
src/flova/
|
|
5
|
+
core/ 协议、稳定错误;不依赖服务实现或传输
|
|
6
|
+
application/ 部署、财务、查询、生命周期用例
|
|
7
|
+
infrastructure/ Git、进程、Beancount、下载库、Docker/systemd适配
|
|
8
|
+
entrypoints/ CLI与HTTP;验证、路由、序列化
|
|
9
|
+
config.py 小型TOML配置与环境变量展开
|
|
10
|
+
bootstrap.py 组合根,装配协议的具体实现
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
应用层依赖 `Repository`、`SyncHook`、`CommandRunner`、`QueryGateway`、`Runtime` 协议。更换部署方式、账本后端或进程管理器时,新增基础设施适配器并在 bootstrap 装配;核心协议和 HTTP/CLI 入口无需知道具体实现。
|
|
14
|
+
|
|
15
|
+
新增 webhook 目标只增加 `[webhooks.name]` 配置,保持每个目标独立密钥和锁。新增业务用例放 application,参数入口放 entrypoints;避免把业务逻辑塞入命令行解析或配置加载。
|
|
16
|
+
|
|
17
|
+
Beancount 查询保持既有统计规则,作为账本输出适配器。财务编排复用 Fane 公共 CLI,不复制 Fane 模板、分类和写入实现。Ekoa 是独立消息网关,通过可选同步 hook 或明确发送命令调用;Flova 不在其核心中绑定消息平台。
|
|
18
|
+
|
|
19
|
+
本项目不携带服务器密钥、真实配置、账本、n8n数据库或服务器备份。部署由已发布包、明确的运行配置和数据组成。
|
|
20
|
+
|
|
21
|
+
`Runtime` 将恢复资源、启动、停止、检查、状态与打包分开。普通快照恢复源服务,正式迁移模式成功后保持源服务停止;异常通过恢复栈复原容器和单元启用状态。静态配置、业务数据和卷快照均使用保留所有权的复制,镜像按运行清单导出。详见 [迁移手册](docs/MIGRATION.md)。
|
flova-0.1.0/Dockerfile
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
FROM python:3.12-slim
|
|
2
|
+
COPY --from=ghcr.io/astral-sh/uv:0.12.23 /uv /usr/local/bin/uv
|
|
3
|
+
ARG EKOA_VERSION=0.1.0
|
|
4
|
+
RUN uv pip install --system --no-cache "ekoa==${EKOA_VERSION}"
|
|
5
|
+
RUN useradd --system --create-home --uid 10001 ekoa
|
|
6
|
+
WORKDIR /app
|
|
7
|
+
USER ekoa
|
|
8
|
+
ENTRYPOINT ["ekoa"]
|
|
9
|
+
CMD ["--config", "/app/config/ekoa.toml", "serve"]
|
flova-0.1.0/MANIFEST.in
ADDED
flova-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: flova
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Small, extensible service orchestration for personal automation
|
|
5
|
+
Author: enmu
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Requires-Python: >=3.12
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
Provides-Extra: ledger
|
|
10
|
+
Requires-Dist: beancount==3.2.3; extra == "ledger"
|
|
11
|
+
Provides-Extra: download
|
|
12
|
+
Requires-Dist: download-flow-enmu==0.1.7; extra == "download"
|
|
13
|
+
Provides-Extra: dev
|
|
14
|
+
Requires-Dist: ruff>=0.8; extra == "dev"
|
|
15
|
+
|
|
16
|
+
# Flova
|
|
17
|
+
|
|
18
|
+
Flova 把个人自动化的 webhook、只读账本查询、财务适配和服务器启停合成一个可安装的项目。配置与业务数据留在服务器,源码留在本地。
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
uv tool install 'flova[download]'
|
|
22
|
+
flova --config /path/to/flova.toml config check
|
|
23
|
+
flova webhook serve
|
|
24
|
+
flova finance prepare --offline --date 2026-10-03
|
|
25
|
+
flova finance finish --write --decisions-base64 'BASE64_JSON'
|
|
26
|
+
flova service start
|
|
27
|
+
flova service restore # 仅恢复资源,不启动任务
|
|
28
|
+
flova service stop
|
|
29
|
+
flova service check
|
|
30
|
+
flova service pack
|
|
31
|
+
flova service pack --keep-stopped # 正式迁移,成功后保持旧机停止
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
仅运行 ledger 时安装 `uv tool install 'flova[ledger]'`,用 `flova ledger serve` 启动,或 `flova ledger query --start YYYY-MM-DD --end YYYY-MM-DD` 查询。
|
|
35
|
+
|
|
36
|
+
`flova download -p alipay --download-config /path/to/download.json` 使用现有下载库的提供者工厂,并明确读取配置路径,不再改写第三方包源码。
|
|
37
|
+
|
|
38
|
+
`flova-download download` 提供旧 dflow 命令的参数和 JSON 兼容入口,服务器 dflow 入口指向它。
|
|
39
|
+
|
|
40
|
+
默认配置 `/root/.flow/config/flova.toml`。支持 `${ENV_NAME}` 占位符,缺失变量直接报错。模板见 `examples/`。`--config` 和 `--root` 是全局参数,放在功能指令前。`FLOVA_CONFIG`、`FLOVA_ROOT` 可设置默认位置。
|
|
41
|
+
|
|
42
|
+
Webhook 验证 GitHub HMAC SHA256,只响应指定分支的 push;同一仓库同步互斥,保持旧服务的 fetch/reset/clean 镜像同步语义。因此应指向自动部署仓库,不应指向有未提交人工改动的开发目录。同步后的可选 HTTP hook 由配置指定;失败记录类型,不把凭据或请求正文写入日志。
|
|
43
|
+
|
|
44
|
+
账本接口保持 `GET /health` 和 `POST /query`,字段 `start_date`、`end_date`、`max_transactions`,仍输出 `schema_version=1`、收入/支出/资产负债变动、分录及警告。日期范围最多366天;查询只读。
|
|
45
|
+
|
|
46
|
+
财务功能只编排 fa、下载提供者和 oub;Fane 负责解析、模板、去重和分类。`prepare --offline` 不下载、解压、写交易、调用AI或推送。`finish` 不带 `--write` 为预览;未配置实际订阅计划时明确失败,不假装成功。
|
|
47
|
+
|
|
48
|
+
服务指令读取服务器 `config/services.json` 和唯一 `config/compose.yaml`。启动重复执行不会重建正在运行的容器。普通打包短暂停止 webhook、暂停容器以复制一致数据,立即恢复,再导出镜像。正式迁移使用 `--keep-stopped`:先停稳服务再复制数据,成功后旧机保持停止并禁用 webhook 自启,失败恢复原服务。包保留 n8n 配置和所有权,包含秘密,应私有保存。
|
|
49
|
+
|
|
50
|
+
新服务器使用相同 Python 3.12 和 x86_64,事先安装 Docker/Compose、Git,并安装 uv;解包至 `/root` 后执行 `/root/.flow/start.sh`。SSH 私钥、域名 DNS 及 n8n SSH 服务器地址需单独迁移。
|
|
51
|
+
|
|
52
|
+
开发:`uv sync --all-extras`,`uv run python -m unittest discover -s tests`,`uv run ruff check src tests`。发布:`PYPI_TOKEN_FILE=/private/path/token ./release.sh --yes`。token 不进入项目分发包。
|
|
53
|
+
|
|
54
|
+
完整换 VPS 步骤见 [迁移手册](docs/MIGRATION.md),部署概览见 [服务器说明](docs/SERVER.md),完整参数见 [指令参考](docs/COMMANDS.md),财务流程见 [n8n说明](docs/N8N.md)。发布新版本前先提高 pyproject.toml 版本号,PyPI 已发布版本不能覆盖。
|
flova-0.1.0/README.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Flova
|
|
2
|
+
|
|
3
|
+
Flova 把个人自动化的 webhook、只读账本查询、财务适配和服务器启停合成一个可安装的项目。配置与业务数据留在服务器,源码留在本地。
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
uv tool install 'flova[download]'
|
|
7
|
+
flova --config /path/to/flova.toml config check
|
|
8
|
+
flova webhook serve
|
|
9
|
+
flova finance prepare --offline --date 2026-10-03
|
|
10
|
+
flova finance finish --write --decisions-base64 'BASE64_JSON'
|
|
11
|
+
flova service start
|
|
12
|
+
flova service restore # 仅恢复资源,不启动任务
|
|
13
|
+
flova service stop
|
|
14
|
+
flova service check
|
|
15
|
+
flova service pack
|
|
16
|
+
flova service pack --keep-stopped # 正式迁移,成功后保持旧机停止
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
仅运行 ledger 时安装 `uv tool install 'flova[ledger]'`,用 `flova ledger serve` 启动,或 `flova ledger query --start YYYY-MM-DD --end YYYY-MM-DD` 查询。
|
|
20
|
+
|
|
21
|
+
`flova download -p alipay --download-config /path/to/download.json` 使用现有下载库的提供者工厂,并明确读取配置路径,不再改写第三方包源码。
|
|
22
|
+
|
|
23
|
+
`flova-download download` 提供旧 dflow 命令的参数和 JSON 兼容入口,服务器 dflow 入口指向它。
|
|
24
|
+
|
|
25
|
+
默认配置 `/root/.flow/config/flova.toml`。支持 `${ENV_NAME}` 占位符,缺失变量直接报错。模板见 `examples/`。`--config` 和 `--root` 是全局参数,放在功能指令前。`FLOVA_CONFIG`、`FLOVA_ROOT` 可设置默认位置。
|
|
26
|
+
|
|
27
|
+
Webhook 验证 GitHub HMAC SHA256,只响应指定分支的 push;同一仓库同步互斥,保持旧服务的 fetch/reset/clean 镜像同步语义。因此应指向自动部署仓库,不应指向有未提交人工改动的开发目录。同步后的可选 HTTP hook 由配置指定;失败记录类型,不把凭据或请求正文写入日志。
|
|
28
|
+
|
|
29
|
+
账本接口保持 `GET /health` 和 `POST /query`,字段 `start_date`、`end_date`、`max_transactions`,仍输出 `schema_version=1`、收入/支出/资产负债变动、分录及警告。日期范围最多366天;查询只读。
|
|
30
|
+
|
|
31
|
+
财务功能只编排 fa、下载提供者和 oub;Fane 负责解析、模板、去重和分类。`prepare --offline` 不下载、解压、写交易、调用AI或推送。`finish` 不带 `--write` 为预览;未配置实际订阅计划时明确失败,不假装成功。
|
|
32
|
+
|
|
33
|
+
服务指令读取服务器 `config/services.json` 和唯一 `config/compose.yaml`。启动重复执行不会重建正在运行的容器。普通打包短暂停止 webhook、暂停容器以复制一致数据,立即恢复,再导出镜像。正式迁移使用 `--keep-stopped`:先停稳服务再复制数据,成功后旧机保持停止并禁用 webhook 自启,失败恢复原服务。包保留 n8n 配置和所有权,包含秘密,应私有保存。
|
|
34
|
+
|
|
35
|
+
新服务器使用相同 Python 3.12 和 x86_64,事先安装 Docker/Compose、Git,并安装 uv;解包至 `/root` 后执行 `/root/.flow/start.sh`。SSH 私钥、域名 DNS 及 n8n SSH 服务器地址需单独迁移。
|
|
36
|
+
|
|
37
|
+
开发:`uv sync --all-extras`,`uv run python -m unittest discover -s tests`,`uv run ruff check src tests`。发布:`PYPI_TOKEN_FILE=/private/path/token ./release.sh --yes`。token 不进入项目分发包。
|
|
38
|
+
|
|
39
|
+
完整换 VPS 步骤见 [迁移手册](docs/MIGRATION.md),部署概览见 [服务器说明](docs/SERVER.md),完整参数见 [指令参考](docs/COMMANDS.md),财务流程见 [n8n说明](docs/N8N.md)。发布新版本前先提高 pyproject.toml 版本号,PyPI 已发布版本不能覆盖。
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# 指令参考
|
|
2
|
+
|
|
3
|
+
全局参数必须放在功能名称前:`flova --root /root/.flow --config /root/.flow/config/flova.toml 功能 ...`。默认路径可由 `FLOVA_ROOT`、`FLOVA_CONFIG` 设置;`--version` 显示版本。
|
|
4
|
+
|
|
5
|
+
| 功能 | 指令 | 行为 |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| 校验配置 | `flova config check` | 校验 TOML,不输出密钥 |
|
|
8
|
+
| 启动或恢复服务 | `flova service start` | 安装命令入口、恢复迁移包卷/镜像、创建网络和 systemd 单元,启动服务;重复执行保留正在运行的容器 |
|
|
9
|
+
| 仅恢复资源 | `flova service restore` | 恢复镜像、网络、卷与入口,不启动业务 |
|
|
10
|
+
| 停止服务 | `flova service stop` | 先停止原生服务与 n8n,保留数据 |
|
|
11
|
+
| 正式迁移打包 | `flova service pack --keep-stopped --output /private/path/migration.tar.gz` | 成功后旧机保持停止;失败恢复服务及启用状态 |
|
|
12
|
+
| 检查服务 | `flova service check` | 检查容器、webhook、n8n、查询接口、Fane 配置和账本 |
|
|
13
|
+
| 查看状态 | `flova service status` | 展示容器和 systemd 状态 |
|
|
14
|
+
| 打包迁移 | `flova service pack --output /private/path/migration.tar.gz` | 一致性快照及镜像导出,恢复运行,不覆盖已存在的包 |
|
|
15
|
+
| GitHub 账本同步 | `flova webhook serve` | 按配置监听、验签、过滤分支、串行同步仓库 |
|
|
16
|
+
| 查询 HTTP 服务 | `flova ledger serve` | 提供只读 `/health`、`/query`,需要 ledger extra |
|
|
17
|
+
| 查询命令 | `flova ledger query --start YYYY-MM-DD --end YYYY-MM-DD` | 输出 JSON,`--max-transactions` 控制分录条数 |
|
|
18
|
+
| 账单下载 | `flova download -p alipay --download-config /private/path/download.json` | 使用下载提供者;需要 download extra,另支持 wechat |
|
|
19
|
+
| n8n 准备阶段 | `flova finance prepare --date YYYY-MM-DD` | 下载、解压、同步和提取待分类交易;`--offline` 只读预览 |
|
|
20
|
+
| n8n 完成阶段 | `flova finance finish --write --decisions-base64 'BASE64_JSON'` | 应用分类、订阅;不加 `--write` 为预览 |
|
|
21
|
+
|
|
22
|
+
财务参数:`--flow` 选择 Fane 同步配置,`--date` 选择日期,`--ledger`、`--subscriptions` 指定账本和真实订阅计划,`--fa`、`--dflow`、`--oub` 覆盖命令路径。没有待分类交易时,决策传空字符串。实际运行和业务配置见 [n8n 说明](N8N.md)。
|
|
23
|
+
|
|
24
|
+
服务器的 `dflow` 指向 `flova-download` 兼容入口,用 `flova-download --help` 查看旧下载命令参数。通用 CLI 用 `flova download`。
|
|
25
|
+
|
|
26
|
+
以下帮助直接取自本项目 0.1.0 CLI。同一功能组共享参数,具体行为以表格为准。
|
|
27
|
+
|
|
28
|
+
## config check
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
usage: flova config [-h] {check}
|
|
32
|
+
|
|
33
|
+
positional arguments:
|
|
34
|
+
{check}
|
|
35
|
+
|
|
36
|
+
options:
|
|
37
|
+
-h, --help show this help message and exit
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## service start
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
usage: flova service [-h] [--output OUTPUT] [--keep-stopped]
|
|
44
|
+
{start,restore,stop,check,status,pack}
|
|
45
|
+
|
|
46
|
+
positional arguments:
|
|
47
|
+
{start,restore,stop,check,status,pack}
|
|
48
|
+
|
|
49
|
+
options:
|
|
50
|
+
-h, --help show this help message and exit
|
|
51
|
+
--output OUTPUT
|
|
52
|
+
--keep-stopped leave source stopped after a successful migration pack
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## service check
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
usage: flova service [-h] [--output OUTPUT] [--keep-stopped]
|
|
59
|
+
{start,restore,stop,check,status,pack}
|
|
60
|
+
|
|
61
|
+
positional arguments:
|
|
62
|
+
{start,restore,stop,check,status,pack}
|
|
63
|
+
|
|
64
|
+
options:
|
|
65
|
+
-h, --help show this help message and exit
|
|
66
|
+
--output OUTPUT
|
|
67
|
+
--keep-stopped leave source stopped after a successful migration pack
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## service status
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
usage: flova service [-h] [--output OUTPUT] [--keep-stopped]
|
|
74
|
+
{start,restore,stop,check,status,pack}
|
|
75
|
+
|
|
76
|
+
positional arguments:
|
|
77
|
+
{start,restore,stop,check,status,pack}
|
|
78
|
+
|
|
79
|
+
options:
|
|
80
|
+
-h, --help show this help message and exit
|
|
81
|
+
--output OUTPUT
|
|
82
|
+
--keep-stopped leave source stopped after a successful migration pack
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## service pack
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
usage: flova service [-h] [--output OUTPUT] [--keep-stopped]
|
|
89
|
+
{start,restore,stop,check,status,pack}
|
|
90
|
+
|
|
91
|
+
positional arguments:
|
|
92
|
+
{start,restore,stop,check,status,pack}
|
|
93
|
+
|
|
94
|
+
options:
|
|
95
|
+
-h, --help show this help message and exit
|
|
96
|
+
--output OUTPUT
|
|
97
|
+
--keep-stopped leave source stopped after a successful migration pack
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## webhook serve
|
|
101
|
+
|
|
102
|
+
```text
|
|
103
|
+
usage: flova webhook [-h] {serve}
|
|
104
|
+
|
|
105
|
+
positional arguments:
|
|
106
|
+
{serve}
|
|
107
|
+
|
|
108
|
+
options:
|
|
109
|
+
-h, --help show this help message and exit
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## ledger serve
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
usage: flova ledger [-h] [--start START] [--end END]
|
|
116
|
+
[--max-transactions MAX_TRANSACTIONS]
|
|
117
|
+
{serve,query}
|
|
118
|
+
|
|
119
|
+
positional arguments:
|
|
120
|
+
{serve,query}
|
|
121
|
+
|
|
122
|
+
options:
|
|
123
|
+
-h, --help show this help message and exit
|
|
124
|
+
--start START
|
|
125
|
+
--end END
|
|
126
|
+
--max-transactions MAX_TRANSACTIONS
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## ledger query
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
usage: flova ledger [-h] [--start START] [--end END]
|
|
133
|
+
[--max-transactions MAX_TRANSACTIONS]
|
|
134
|
+
{serve,query}
|
|
135
|
+
|
|
136
|
+
positional arguments:
|
|
137
|
+
{serve,query}
|
|
138
|
+
|
|
139
|
+
options:
|
|
140
|
+
-h, --help show this help message and exit
|
|
141
|
+
--start START
|
|
142
|
+
--end END
|
|
143
|
+
--max-transactions MAX_TRANSACTIONS
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## download
|
|
147
|
+
|
|
148
|
+
```text
|
|
149
|
+
usage: flova download [-h] [--provider {alipay,wechat}]
|
|
150
|
+
[--download-config DOWNLOAD_CONFIG]
|
|
151
|
+
|
|
152
|
+
options:
|
|
153
|
+
-h, --help show this help message and exit
|
|
154
|
+
--provider {alipay,wechat}, -p {alipay,wechat}
|
|
155
|
+
--download-config DOWNLOAD_CONFIG
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## finance prepare
|
|
159
|
+
|
|
160
|
+
```text
|
|
161
|
+
usage: flova finance [-h] [--flow FLOW] [--date DATE] [--offline] [--write]
|
|
162
|
+
[--decisions-base64 DECISIONS_BASE64]
|
|
163
|
+
[--subscriptions SUBSCRIPTIONS] [--ledger LEDGER]
|
|
164
|
+
[--fa FA] [--dflow DFLOW] [--oub OUB]
|
|
165
|
+
{prepare,finish}
|
|
166
|
+
|
|
167
|
+
positional arguments:
|
|
168
|
+
{prepare,finish}
|
|
169
|
+
|
|
170
|
+
options:
|
|
171
|
+
-h, --help show this help message and exit
|
|
172
|
+
--flow FLOW
|
|
173
|
+
--date DATE
|
|
174
|
+
--offline
|
|
175
|
+
--write
|
|
176
|
+
--decisions-base64 DECISIONS_BASE64
|
|
177
|
+
--subscriptions SUBSCRIPTIONS
|
|
178
|
+
--ledger LEDGER
|
|
179
|
+
--fa FA
|
|
180
|
+
--dflow DFLOW
|
|
181
|
+
--oub OUB
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## finance finish
|
|
185
|
+
|
|
186
|
+
```text
|
|
187
|
+
usage: flova finance [-h] [--flow FLOW] [--date DATE] [--offline] [--write]
|
|
188
|
+
[--decisions-base64 DECISIONS_BASE64]
|
|
189
|
+
[--subscriptions SUBSCRIPTIONS] [--ledger LEDGER]
|
|
190
|
+
[--fa FA] [--dflow DFLOW] [--oub OUB]
|
|
191
|
+
{prepare,finish}
|
|
192
|
+
|
|
193
|
+
positional arguments:
|
|
194
|
+
{prepare,finish}
|
|
195
|
+
|
|
196
|
+
options:
|
|
197
|
+
-h, --help show this help message and exit
|
|
198
|
+
--flow FLOW
|
|
199
|
+
--date DATE
|
|
200
|
+
--offline
|
|
201
|
+
--write
|
|
202
|
+
--decisions-base64 DECISIONS_BASE64
|
|
203
|
+
--subscriptions SUBSCRIPTIONS
|
|
204
|
+
--ledger LEDGER
|
|
205
|
+
--fa FA
|
|
206
|
+
--dflow DFLOW
|
|
207
|
+
--oub OUB
|
|
208
|
+
```
|