| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
Closes #2151
|
|
|
|
| |
Closes #2145
|
| |
|
| |
|
|
|
|
| |
Addresses: #1687
|
|
|
|
| |
[skip ci]
|
| |
|
|
|
|
|
|
|
| |
* Squashed 'lib/utfcpp/' content from commit 79835a5fa
git-subtree-dir: lib/utfcpp
git-subtree-split: 79835a5fa57271f07a90ed36123e30ae9741178e
* Change include path to utfcpp
|
| |
|
|
|
|
| |
Code clean-up
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
for debugging
|
|
|
|
|
|
|
|
|
|
|
| |
as suggested by action warning
For more information see:
https://github.com/ledger/ledger/actions
and
https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Setters for types wrapped in boost::optional, such as item_t::note were
broken, e.g. setting a note on a transaction resulted in garbled data
that would cause Python to throw utf-8 errors when retrieving the note.
(But setters that accessed strings directly, e.g. "payee" on a transaction
worked fine.)
This change alters the from-python conversion for optional-wrapped
types based on the example at
https://stackoverflow.com/questions/36485840/wrap-boostoptional-using-boostpython
and a test case to verify the behavior.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Ledger's expression parser considers quoted_rfc4180 to be an
amount (quantity 4180 of commodity "quoted_rfc").
Fixes #2007.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
1. Remove references to modules (exceptions, StringIO) no longer needed for Pythn3
2. Use assertEqual instead of assertEquals
3. Clear journal files with a close_journal_files() function that uses the then-current underlying python_session pointer. Calling session.close_journal_files() sometimes leads to segfaults because python_session has changed after it was injected into the python module (as "session") on module startup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The github mac runner images added python 3.11 but, unlike 3.10, not via
brew. This causes brew install to fail with link conflict errors now
that boost-python3 switched over to 3.11. Workaround this, and future
python brew link errors, by overwriting all links for python packages.
https://github.com/Homebrew/homebrew-core/commit/8c79089ae410bcd38065dfa3748bbcdb64b228d2
https://github.com/orgs/Homebrew/discussions/3895
https://github.com/actions/setup-python/issues/577
https://github.com/actions/runner-images/issues/6459
https://github.com/actions/runner-images/issues/6507
https://github.com/actions/runner-images/issues/2322
|
| |
|
|
|
|
| |
Fixes #2154
|
|
|
|
| |
Fixes #2149
|
| |
|
|
|
|
|
|
| |
Added ledger.session.error_context()
to py_session.cc to get the error context
message when exceptions are thrown.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In `ledger xml` export, include the `<posting>`-specific payee (from the
`Payee:` tag) as `<payee>`. This data is already included under
`<metadata>` as `<value key="Payee">`, but that is more specific to
Ledger's implementation; if in the future there is another way to set
the payee (or perhaps an option to have the Payee tag in one's own
language), that field wouldn't be a reliable method of getting this
info.
Example:
2022-01-01 Transaction-level payee
a 10
b ; Payee: Posting-level payee
Relevant XML output:
<transaction>
<date>2022-01-01</date>
<payee>Transaction-level payee</payee>
<postings>
<posting>
<account ref="0000558defd6f260">
<name>a</name>
</account>
<post-amount>
<amount>
<quantity>10</quantity>
</amount>
</post-amount>
<total>
<amount>
<quantity>10</quantity>
</amount>
</total>
</posting>
<posting>
<payee>Posting-level payee</payee>
<account ref="0000558defd6f960">
<name>b</name>
</account>
<post-amount>
<amount>
<quantity>-10</quantity>
</amount>
</post-amount>
<note> Payee: Posting-level payee</note>
<metadata>
<value key="Payee">
<string>Posting-level payee</string>
</value>
</metadata>
<total>
<amount>
<quantity>0</quantity>
</amount>
</total>
</posting>
</postings>
</transaction>
|
|
|
|
|
|
| |
to ensure access macros are only called on "legacy" unicode string
objects that are "ready".
See https://docs.python.org/3/c-api/unicode.html#c.PyUnicode_READY
|
|
|
|
|
|
| |
Add test to python/demo.py
Fixes #2132
|
|
|
|
| |
Add test to python/demo.py
|
| |
|
|
|
|
|
|
|
|
| |
replacing it with APIs introduced in Python 3.3 to ensure ledger's
Python bindings continue to function when the legacy Unicode API is
removed in Python 3.12.
For details see https://docs.python.org/3.10/c-api/unicode.html
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, `ledger python -- -c 'raise RuntimeError'` would terminate
messily via SIGABRT, printing the following:
terminate called after throwing an instance of 'int'
[1] 2151711 abort (core dumped) ledger python -c 'raise RuntimeError'
This change makes the python subcommand throw a standard C++ exception
rather than just a plain int, which is never caught and triggers the
SIGABRT. Now, the process prints the uncaught Python exception as
usual and then exits with exit code 1.
|
| |
|
|
|
|
| |
to toggle building ledger's Python bindings.
|
|
|
|
|
| |
to toggle building ledger with support for encrypted journal files
using gpgme.
|
| |
|
| |
|