coder-firefly-cli 1.1.3__tar.gz → 1.1.4__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.
Files changed (37) hide show
  1. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/PKG-INFO +1 -1
  2. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/setup.py +1 -1
  3. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/accounts.py +62 -2
  4. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli.egg-info/PKG-INFO +1 -1
  5. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/README.md +0 -0
  6. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/setup.cfg +0 -0
  7. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/__init__.py +0 -0
  8. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/api_client.py +0 -0
  9. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/cli.py +0 -0
  10. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/__init__.py +0 -0
  11. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/bills.py +0 -0
  12. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/budgets.py +0 -0
  13. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/categories.py +0 -0
  14. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/info.py +0 -0
  15. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/insights.py +0 -0
  16. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/piggy_banks.py +0 -0
  17. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/search.py +0 -0
  18. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/tags.py +0 -0
  19. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli/commands/transactions.py +0 -0
  20. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli.egg-info/SOURCES.txt +0 -0
  21. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli.egg-info/dependency_links.txt +0 -0
  22. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli.egg-info/entry_points.txt +0 -0
  23. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli.egg-info/requires.txt +0 -0
  24. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/coder_firefly_cli.egg-info/top_level.txt +0 -0
  25. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/__init__.py +0 -0
  26. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/accounts.py +0 -0
  27. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/bills.py +0 -0
  28. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/budgets.py +0 -0
  29. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/categories.py +0 -0
  30. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/info.py +0 -0
  31. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/insights.py +0 -0
  32. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/piggy_banks.py +0 -0
  33. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/search.py +0 -0
  34. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/tags.py +0 -0
  35. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/src/commands/transactions.py +0 -0
  36. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/tests/test_api_client.py +0 -0
  37. {coder_firefly_cli-1.1.3 → coder_firefly_cli-1.1.4}/tests/test_commands.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: coder-firefly-cli
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: Firefly III CLI - 个人财务管理命令行工具
5
5
  Home-page: https://github.com/joyous-coder/coder-firefly-cli
6
6
  Author: coder
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="coder-firefly-cli",
5
- version="1.1.3",
5
+ version="1.1.4",
6
6
  description="Firefly III CLI - 个人财务管理命令行工具",
7
7
  long_description=open("README.md", encoding="utf-8").read(),
8
8
  long_description_content_type="text/markdown",
@@ -49,17 +49,65 @@ def accounts_get(id):
49
49
  @click.option("--opening-balance", default=None, help="初始余额 (不传则不设置)")
50
50
  @click.option("--opening-balance-date", help="开户日期 (YYYY-MM-DD),当 --opening-balance 非 0 时必填")
51
51
  @click.option("--account-role",
52
- type=click.Choice(['defaultAsset', 'shared', 'savings', 'cc', 'cashwallet', 'asset', 'debt']),
52
+ # type=click.Choice([...]),
53
53
  default='defaultAsset',
54
54
  help="账户角色 (asset 类型必填;其他类型会被 API 忽略)")
55
55
  @click.option("--iban", help="IBAN")
56
56
  @click.option("--bic", help="BIC")
57
57
  @click.option("--account-number", help="账户号码")
58
+ @click.option("--credit-card-type",
59
+ type=click.Choice(['monthlyFull']),
60
+ default=None,
61
+ help="信用卡类型 (当 account_role=ccAsset 时必填,仅 monthlyFull)")
62
+ @click.option("--monthly-payment-date", help="信用卡账单还款日 (YYYY-MM-DD),当 --account-role=ccAsset 时必填")
63
+ @click.option("--liability-type",
64
+ type=click.Choice(['loan', 'debt', 'mortgage']),
65
+ default=None,
66
+ help="负债类型 (type=liability 时必填;信用卡选 debt)")
67
+ @click.option("--interest-period",
68
+ type=click.Choice(['daily', 'weekly', 'monthly', 'quarterly', 'half-year', 'yearly']),
69
+ default=None,
70
+ help="利息周期 (type=liability 时必填;信用卡选 monthly)")
71
+ @click.option("--interest", help="利率,如 '18.5' 表示 18.5% (type=liability 时必填)")
72
+ @click.option("--liability-direction",
73
+ type=click.Choice(['credit', 'debit']),
74
+ default=None,
75
+ help="负债方向 (type=liability 时必填):credit=应收款(别人欠你),debit=应付款(你欠别人)")
58
76
  @click.option("--notes", help="备注")
59
- def accounts_create(name, type, currency_code, opening_balance, opening_balance_date, account_role, iban, bic, account_number, notes):
77
+ def accounts_create(name, type, currency_code, opening_balance, opening_balance_date, account_role, iban, bic, account_number, credit_card_type, monthly_payment_date, liability_type, interest_period, interest, liability_direction, notes):
60
78
  """创建新账户"""
61
79
  client = get_client()
62
80
 
81
+ # 当 type=liability 时,Firefly III 要求必填 --liability-type, --interest-period, --interest
82
+ if type == "liability":
83
+ if not liability_type:
84
+ raise click.UsageError(
85
+ "当 --type=liability 时,必须同时指定 --liability-type (loan/debt/mortgage;信用卡选 debt)"
86
+ )
87
+ if not interest_period:
88
+ raise click.UsageError(
89
+ "当 --type=liability 时,必须同时指定 --interest-period (daily/weekly/monthly/quarterly/half-year/yearly)"
90
+ )
91
+ if interest is None:
92
+ raise click.UsageError(
93
+ "当 --type=liability 时,必须同时指定 --interest (年化利率,如 '18.5')"
94
+ )
95
+ if not liability_direction:
96
+ raise click.UsageError(
97
+ "当 --type=liability 时,必须同时指定 --liability-direction (credit/debit)"
98
+ )
99
+
100
+ # 当 --account-role=ccAsset 时,Firefly III 要求必填 --credit-card-type 和 --monthly-payment-date
101
+ if account_role == "ccAsset":
102
+ if not credit_card_type:
103
+ raise click.UsageError(
104
+ "当 --account-role=ccAsset 时,必须同时指定 --credit-card-type (monthlyFull)"
105
+ )
106
+ if not monthly_payment_date:
107
+ raise click.UsageError(
108
+ "当 --account-role=ccAsset 时,必须同时指定 --monthly-payment-date (YYYY-MM-DD)"
109
+ )
110
+
63
111
  # 用 sentinel 区分"用户没传"和"用户传 0/空"
64
112
  # 仅在用户显式传了 --opening-balance 且非 0 时,要求提供 --opening-balance-date
65
113
  if opening_balance is not None and opening_balance != "" and opening_balance != "0":
@@ -81,6 +129,18 @@ def accounts_create(name, type, currency_code, opening_balance, opening_balance_
81
129
  data["opening_balance_date"] = opening_balance_date
82
130
  if account_role:
83
131
  data["account_role"] = account_role
132
+ if credit_card_type:
133
+ data["credit_card_type"] = credit_card_type
134
+ if monthly_payment_date:
135
+ data["monthly_payment_date"] = monthly_payment_date
136
+ if liability_type:
137
+ data["liability_type"] = liability_type
138
+ if interest_period:
139
+ data["interest_period"] = interest_period
140
+ if interest is not None:
141
+ data["interest"] = interest
142
+ if liability_direction:
143
+ data["liability_direction"] = liability_direction
84
144
  if iban:
85
145
  data["iban"] = iban
86
146
  if bic:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: coder-firefly-cli
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: Firefly III CLI - 个人财务管理命令行工具
5
5
  Home-page: https://github.com/joyous-coder/coder-firefly-cli
6
6
  Author: coder