Files
@ 5a73d3d8f8d4
Branch filter:
Location: NPO-Accounting/oxrlib/oxrlib/__main__.py - annotation
5a73d3d8f8d4
904 B
text/x-python
historical: Move normalize_rate and _pretty_rate to base Formatter.
This reduces the number of method overrides to help readability,
and gets rid of the annoying format_rate/pretty_rate distinction.
This reduces the number of method overrides to help readability,
and gets rid of the annoying format_rate/pretty_rate distinction.
b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 3b732505fa62 3b732505fa62 3b732505fa62 3b732505fa62 3b732505fa62 3b732505fa62 3b732505fa62 3b732505fa62 3b732505fa62 3b732505fa62 3b732505fa62 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 b49356bcb609 | import decimal
import importlib
import sys
import oxrlib.config
def decimal_context(base=decimal.BasicContext):
context = base.copy()
context.rounding = decimal.ROUND_HALF_EVEN
context.traps = {
decimal.Clamped: True,
decimal.DivisionByZero: True,
decimal.FloatOperation: True,
decimal.Inexact: False,
decimal.InvalidOperation: True,
decimal.Overflow: True,
decimal.Rounded: False,
decimal.Subnormal: True,
decimal.Underflow: True,
}
return context
def main(arglist=None, stdout=sys.stdout, stderr=sys.stderr):
config = oxrlib.config.Configuration(arglist)
subcmd_module = importlib.import_module('.commands.' + config.args.command, 'oxrlib')
with decimal.localcontext(decimal_context()):
subcmd_module.run(config, stdout, stderr)
return 0
if __name__ == '__main__':
exit(main())
|