def is_processed(input_txns, errors, config, input_txn_text, setup_txns_text, output_txns): input_txns[:], _, _ = load_string(setup_txns_text + input_txn_text) prefix_plugin_text = 'plugin "beancount_plugin_utils.example_plugin" "' + config.strip('\n') + '"\n' full_text = prefix_plugin_text + setup_txns_text + input_txn_text print('\nInput (full & raw):\n------------------------------------------------') print(full_text + '\n') output_txns[:], errors[:], _ = load_string(full_text) print('\nOutput (Transactions):\n------------------------------------------------\n') for txn in output_txns: print(printer.format_entry(txn)) print('\nOutput (Errors):\n------------------------------------------------\n') for error in errors: print(printer.format_error(error))
def test_format_and_print_error(self): entry = data.Open(META, date(2014, 1, 15), 'Assets:Bank:Checking', [], None) error = interpolate.BalanceError(META, "Example balance error", entry) error_str = printer.format_error(error) self.assertTrue(isinstance(error_str, str)) oss = io.StringIO() printer.print_error(error, oss) self.assertTrue(isinstance(oss.getvalue(), str)) oss = io.StringIO() printer.print_errors([error], oss) self.assertTrue(isinstance(oss.getvalue(), str))
def check_syntax(self): """Check the syntax of the account file.""" from beancount import loader from beancount.ops import validation _, errors, _ = loader.load_file( str(self.accounts_file), # Force slow and hardcore validations, just for check. extra_validations=validation.HARDCORE_VALIDATIONS, ) if errors: errorlist = [ printer.format_error(error).strip() for error in errors ] raise ValueError("\n".join(errorlist))
def is_processed(input_txns, errors, config, input_txn_text, setup_txns_text, output_txns): text = 'plugin "beancount_share.share" "' + config.strip( '\n') + '"\n' + setup_txns_text + input_txn_text print( '\nInput (full & raw):\n------------------------------------------------\n' + text + '\n') output_txns[:], errors[:], _ = load_string(text) print( '\nOutput (Transactions):\n------------------------------------------------\n' ) for txn in output_txns: print(printer.format_entry(txn)) print( '\nOutput (Errors):\n------------------------------------------------\n' ) for error in errors: print(printer.format_error(error))
def is_processed(variant, input_txns, errors, config, input_txn_text, setup_txns_text, output_txns): input_txns[:], _, _ = load_string(setup_txns_text + input_txn_text) if variant == 'depr': prefix_plugin_text = 'plugin "beancount_interpolate.depreciate" "' + config.strip( '\n') + '"\n' elif variant == 'recur': prefix_plugin_text = 'plugin "beancount_interpolate.recur" "' + config.strip( '\n') + '"\n' elif variant == 'split': prefix_plugin_text = 'plugin "beancount_interpolate.split" "' + config.strip( '\n') + '"\n' elif variant == 'spread': prefix_plugin_text = 'plugin "beancount_interpolate.spread" "' + config.strip( '\n') + '"\n' elif variant == 'all': prefix_plugin_text = 'plugin "beancount_interpolate.depreciate" "' + config.strip( '\n') + '"\n' prefix_plugin_text = prefix_plugin_text + 'plugin "beancount_interpolate.recur" "' + config.strip( '\n') + '"\n' prefix_plugin_text = prefix_plugin_text + 'plugin "beancount_interpolate.split" "' + config.strip( '\n') + '"\n' prefix_plugin_text = prefix_plugin_text + 'plugin "beancount_interpolate.spread" "' + config.strip( '\n') + '"\n' else: raise RuntimeError('Unknown variant: "{}".'.format(variant)) full_text = prefix_plugin_text + setup_txns_text + input_txn_text print( '\nInput (full & raw):\n------------------------------------------------' ) print(full_text + '\n') output_txns[:], errors[:], _ = load_string(full_text) print( '\nOutput (Transactions):\n------------------------------------------------\n' ) for txn in output_txns: print(printer.format_entry(txn)) print( '\nOutput (Errors):\n------------------------------------------------\n' ) for error in errors: print(printer.format_error(error))
def __str__(self): return printer.format_error(self.to_named_tuple())