Commit Graph

311 Commits

Author SHA1 Message Date
Christopher Lam
f1adb5da34 Merge branch 'TXN_TYPE-is-dynamic' xaccTransGetTxnType into maint #1201 2022-07-18 09:24:32 +08:00
Christopher Lam
fd12d3900c [Transaction.c] use heuristics to determine txn->txn_type 2022-07-18 09:24:05 +08:00
John Ralls
426b30c37e Fix python tests dependencies
So that ninja check works from a clean build directory with Python enabled.
2022-07-16 16:36:46 -07:00
Christopher Lam
fae7ea02cd [account.cpp] gnc_accounts_and_all_descendants converted from scm
much more efficient than guile algorithm, avoids numerous repeated
GList<->SCM conversions, and traversals of account descendants.
2022-04-14 21:51:14 +08:00
Christopher Lam
40d5db43e6 Bug 797163 - qof_book_get_option segfaults when retrieving a non-leaf frame
returns a KvpFrame into a nested list of pairs
returns a KvpValue GLIST into a list
2022-04-10 11:46:12 +08:00
Christopher Lam
11458bf8b3 [core-utils.i] Use g_dpgettext2 instead of g_dpgettext
avoids using \004 context and msg separator.

Discussed in dae2ea8356
2022-04-02 10:24:33 +08:00
John Ralls
7d94ade599 [python]Remove non-namespace "All non-currency" fom namespace test. 2022-03-25 15:19:57 -07:00
John Ralls
109efe62b8 Rework default non-currency commodity namespace.
Separate the "All noncurrency" convenience category in the commodity
selector and the default non-commodity namespace proposed by the QIF
importer because they have different functions.

Also remove the namespace guessing code from qif-dialog because with
only one default non-currency namespace there's nothing to guess.
2022-03-24 18:10:32 -07:00
Christoph Holtermann
6a015c8744 make GncNumeric.invert() return GncNumeric 2022-03-20 20:04:56 +01:00
Christoph Holtermann
567df27cc7 Implement some comparisons and arithmetics for GncNumeric
Derive some numeric comparisons and arithmetics from Fraction
class
https://github.com/python/cpython/blob/3.7/Lib/fractions.py
and general information from
https://docs.python.org/3/library/numbers.html#numbers.Integral

These methods are bound closer to the gnucash-C-api than those
from the fraction class.

This is not the full set of comparisons and arithmetics, needs
to be extended. It would be good to extend tests to cover this.
2022-03-20 20:04:44 +01:00
John Ralls
1373233cd0 Restore Scheme definitions of GNC-COMMODITY-NS-CURRENCY & -NONCURRENCY.
Overzealously removed in PR 1073.
2022-03-11 11:57:55 -08:00
John Ralls
cbfacdcd55 Merge Christoff Holtermann's 'python-qof-example' into maint. 2022-03-08 13:46:07 -08:00
John Ralls
d841b322d0 Merge Frank Ellenberger's 'Bug684507' into maint. 2022-03-08 12:39:47 -08:00
Christoph Holtermann
64920e7c70 Small fix in expected result 2022-03-08 10:49:44 +01:00
Christoph Holtermann
07cfe9e45c Missed one redundancy 2022-03-08 10:45:17 +01:00
Christoph Holtermann
395c7a7052 Modify examples to respect previous patch 2022-03-08 10:40:12 +01:00
Christoph Holtermann
62f8acf6ae Provide the complete set of QOF enums in gnucash 2022-03-08 10:33:25 +01:00
Christoph Holtermann
06e17dfd5c Provide wrapper for qof numeric predicate
Python bindings already have some wrapping objects for
qof predicates. This adds the one missing for GncNumeric
comparisons.

Additionally fixes a wrong number for QOF_NUMERIC_MATCH_ANY
in example file.
2022-03-08 09:45:48 +01:00
Christoph Holtermann
f44d23035e python qof examples 2022-03-06 23:52:32 +01:00
John Ralls
9ad24321b4 Remove investment-type namespaces.
Leave it to users to categorize their non-currency commodities. In the
QIF importer default non-classifiable commodities to
GNC_COMMODITY_NS_NONCURRENCY.
2022-03-01 19:58:23 -08:00
Frank H. Ellenberger
09296dfb96 Drop commodity-table.scm, no longer required after adjusting qif-dialog-utils 2022-03-01 19:58:11 -08:00
Frank H. Ellenberger
c7f842c081 Bug 684507 - commodity namespace should be localized 2022-03-01 19:58:11 -08:00
John Ralls
ff75ad7043 gnc:html-foo-include: Use gnc-resolve-file-path. 2021-12-28 11:34:11 -08:00
John Ralls
5c7967c4a5 Revert "Merge Stefan Bayer's 'SepaInternalTransfer' into maint."
This reverts commit 17a3f7fef2, reversing
changes made to b8458d0732.
2021-12-03 13:58:07 -08:00
John Ralls
17a3f7fef2 Merge Stefan Bayer's 'SepaInternalTransfer' into maint. 2021-12-03 13:11:28 -08:00
Christopher Lam
d861c65020 [test-engine-extras] don't create splits of opposing amt/value signs
Splits' value and amount should never be of opposite signs. Fix
test book which had created this incorrect value/amount
pair. Strengthen env-create-multisplit-transaction to disallow
test book errors.
2021-11-21 23:34:39 +08:00
Christopher Lam
984d816a58 Merge branch 'maint' 2021-11-06 21:41:17 +08:00
Christopher Lam
e94ee3bfad Don't g_strdup char* from scm_to_locale|utf8_string
Both scm_to_locale_string and scm_to_utf8_string return newly
allocated char*. It is not necessary to return a strdup'd char* and
free the original.
2021-10-30 22:26:33 +08:00
Christopher Lam
171ce9413b Don't g_strdup char* returned by scm_to_locale_string
Previous code was returning a duplicated string and released the
original one. It's no better than returning the original returned
char* instead.
2021-10-16 22:50:09 +08:00
Christopher Lam
19a91f041e Revert "g_list_free swigged GList* arguments"
This reverts commit 16184daf95. Was
causing an unexplained GNC_IS_ACCOUNT assertion failure in
account_foreach_descendant.
2021-10-16 22:49:05 +08:00
Christopher Lam
16184daf95 g_list_free swigged GList* arguments
used by xaccQueryAddAccountMatch and gnc_price_list_equal. SplitList
TransList LotList and CommodityList are not currently being passed as
arguments.
2021-10-16 12:57:03 +08:00
Christopher Lam
9eaa3eb23a Merge branch 'maint' 2021-10-14 09:34:28 +08:00
Christopher Lam
23d964a6a4 g_list_free_full requires a GDestroyNotify
error in f4941a5b0
2021-10-09 12:03:57 +08:00
Christopher Lam
0bce6a1d56 [core-utils] introduce gnc:format
(gnc:format str [binding value]...)

str will contain ${binding} which will be replaced to value.
2021-10-09 10:25:53 +08:00
Christopher Lam
3ff5bd8246 [test-core-utils] uses srfi-64 2021-10-09 10:25:49 +08:00
Christopher Lam
f4941a5b01 use g_list_free_full 2021-10-09 10:24:45 +08:00
Christopher Lam
ad7bffaae1 Run test-core-utils and test-create-account properly 2021-10-07 19:21:00 +08:00
Christopher Lam
34a4b652c1 [test-core-utils.scm] fix - N_ is no longer a macro 2021-10-07 19:20:32 +08:00
John Ralls
824b515430 Fix qoflog's comments to reflect a preference for the macros over GLib functions. 2021-09-14 15:59:01 -07:00
John Ralls
74d0630867 Bug 798237 - Logging during XML file loading degrades performance...
significantly

Modify the DEBUG and PINFO macros to return unless qof_log_check is
true. Replace almost all direct calls to g_debug and g_message with
DEBUG and PINFO respectively.

Track the highest logging level sent to qof_log_set_level to provide a
short-circuit return in qof_log_check. Remove setting GNC_MOD_TESTS to
QOF_LOG_DEBUG so that the short-circuit threshold isn't defeated by
always being DEBUG.

Net result: 33% improvement in xml load times.
2021-09-14 15:15:11 -07:00
Christopher Lam
017ab06939 Merge branch 'maint' 2021-09-12 22:44:34 +08:00
Christopher Lam
d0f7daf4cf Revert "[engine.i] QofQueryParamList * args must be freed"
This reverts commit 72a3ebbba3. Freeing
does not apply to all qof_query_* calls.
2021-09-11 15:45:32 +08:00
Christopher Lam
72a3ebbba3 [engine.i] QofQueryParamList * args must be freed 2021-09-11 14:59:18 +08:00
John Ralls
b8552a8070 Fix python transaction test_date on Ubuntu-81.04.
Python3 there is too old for fromisoformat, use direct construction
instead.
2021-09-10 17:01:38 -07:00
John Ralls
fcab298245 Add test for Transaction GetDate() in python bindings.
Pursuant to Bug 798284.
2021-09-10 13:26:59 -07:00
Christopher Lam
140922a37e QofQuery args must be destroyed after qof_query_merge
qof_query_merge returns a new QofQuery; the two merged QofQueries are
not explicitly destroyed.
2021-09-09 19:19:44 +08:00
Christopher Lam
c6d8333811 Merge branch 'maint' 2021-08-27 20:33:31 +08:00
Christopher Lam
37cb886de5 [engine.i] gnc_budget_get_account_period_note to be freed by the caller
amendment to last commit.

this pair of changes was necessary to allow the GValue to be unset.
2021-08-25 09:17:25 +08:00
Christopher Lam
929cb3d0c1 [engine.i] free swigged GList* arg 2021-08-24 00:13:45 +08:00
Christopher Lam
9fc1ac6be1 Merge branch 'maint-guile-changes' into maint #1111 2021-08-20 17:02:19 +08:00