Errors were:
conservancy_beancount/reports/core.py:923: error: Generator has incompatible
item type "Optional[str]"; expected "str"
conservancy_beancount/reports/core.py:929: error: Item "None" of
"Optional[str]" has no attribute "lower"
conservancy_beancount/reports/ledger.py:534: error: Item "None" of
"Optional[str]" has no attribute "partition"
conservancy_beancount/reports/ledger.py:729: error: Item "None" of
"Optional[str]" has no attribute "lower"
conservancy_beancount/reports/rewrite.py:563: error: Argument 2 to
"_iter_yaml" of "RewriteRuleset" has incompatible type "Union[Any, str,
None]"; expected "str"
"Expenses:Occupancy" is rarely a program expense, and is almost
always management expense, even when done for a project.
Automatically assign it as such.
Metadata `payroll-type` will go on `Liabilities:Payable:Vacation` and
`Expenses:Payroll:Salary`, but we need to distinguish as to whether
the Payroll was earned or taken.
Implement the `CA:` version of the `US:` ones already done.
Metadata `payroll-type` will go on `Liabilities:Payable:Vacation` and
`Expenses:Payroll:Salary`, but we need to distinguish as to whether
the Payroll was earned or taken.
Later, `Liabilities:Payable:Vacation` should require a
`payroll-type` metadata of either `US:PTO:Taken` or `US:PTO:Earned`,
and the `CA:` equivalents.
This seems to be the most straightforward way to get Calc to automatically
determine a nice row height for multi-line string cells. This has become a
lot more noticeable now that query-report supports putting postal addresses
in cells.
This is generally helpful to keep for future reference, plus this
presentation can support multiple queries and is more discoverable than the
previous file property.
* Provide dedicated formatting for more Beancount types.
* Improve code to determine when we're looking up link metadata
and should format output as links.
query-report was heading to a place where it was going to bifurcate. You
could structure input with its own special input switches, and with ODS
output, it would have its own dedicated grouping logic and use that.
But those things shouldn't be tied together for users. Instead, add
functions to BQL to be able to do the kind of grouping we want. This commit
adds those. Next we'll extend the ODS output to detect and format these
groups correctly.
Most of these account for the fact that mypy now reports that Hashable is
not an allowed return type for sort key functions.
That, plus the new ignore for the regression in config.py.
This provides more flexibility in repository setup while remaining backwards
compatible.
The changes to test_reports_query are just to accommodate the new
transaction in 2020-expenses.beancount.