Fixed the "generate" command
This commit is contained in:
parent
685b12d8d3
commit
bea90a2b98
4 changed files with 11 additions and 17 deletions
|
|
@ -60,8 +60,8 @@ generate_posts_iterator::generate_posts_iterator
|
||||||
two_six_range(2, 6), two_six_gen(rnd_gen, two_six_range),
|
two_six_range(2, 6), two_six_gen(rnd_gen, two_six_range),
|
||||||
strlen_range(1, 40), strlen_gen(rnd_gen, strlen_range),
|
strlen_range(1, 40), strlen_gen(rnd_gen, strlen_range),
|
||||||
|
|
||||||
neg_number_range(-1000000, -1), neg_number_gen(rnd_gen, neg_number_range),
|
neg_number_range(-10000, -1), neg_number_gen(rnd_gen, neg_number_range),
|
||||||
pos_number_range(1, 1000000), pos_number_gen(rnd_gen, pos_number_range)
|
pos_number_range(1, 10000), pos_number_gen(rnd_gen, pos_number_range)
|
||||||
{
|
{
|
||||||
TRACE_CTOR(generate_posts_iterator, "bool");
|
TRACE_CTOR(generate_posts_iterator, "bool");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,9 +119,9 @@ namespace {
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (post_t * post, xact.posts) {
|
foreach (post_t * post, xact.posts) {
|
||||||
if (post->has_flags(ITEM_TEMP | ITEM_GENERATED) &&
|
if (! report.HANDLED(generated) &&
|
||||||
! post->has_flags(POST_ANONYMIZED) &&
|
(post->has_flags(ITEM_TEMP | ITEM_GENERATED) &&
|
||||||
! report.HANDLED(print_virtual))
|
! post->has_flags(POST_ANONYMIZED)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
out << " ";
|
out << " ";
|
||||||
|
|
@ -157,7 +157,7 @@ namespace {
|
||||||
if (account_width < name.length())
|
if (account_width < name.length())
|
||||||
account_width = name.length();
|
account_width = name.length();
|
||||||
|
|
||||||
if (! post->has_flags(POST_CALCULATED) || report.HANDLED(print_virtual)) {
|
if (! post->has_flags(POST_CALCULATED) || report.HANDLED(generated)) {
|
||||||
out << name.extract();
|
out << name.extract();
|
||||||
int slip = (static_cast<int>(account_width) -
|
int slip = (static_cast<int>(account_width) -
|
||||||
static_cast<int>(name.length()));
|
static_cast<int>(name.length()));
|
||||||
|
|
|
||||||
|
|
@ -137,9 +137,6 @@ void report_t::normalize_options(const string& verb)
|
||||||
HANDLER(equity).on_only(string("?normalize"));
|
HANDLER(equity).on_only(string("?normalize"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (verb == "print")
|
|
||||||
HANDLER(limit_).on(string("?normalize"), "actual");
|
|
||||||
|
|
||||||
if (verb[0] != 'b' && verb[0] != 'r')
|
if (verb[0] != 'b' && verb[0] != 'r')
|
||||||
HANDLER(base).on_only(string("?normalize"));
|
HANDLER(base).on_only(string("?normalize"));
|
||||||
|
|
||||||
|
|
@ -313,8 +310,6 @@ void report_t::posts_report(post_handler_ptr handler)
|
||||||
|
|
||||||
void report_t::generate_report(post_handler_ptr handler)
|
void report_t::generate_report(post_handler_ptr handler)
|
||||||
{
|
{
|
||||||
HANDLER(limit_).on(string("#generate"), "actual");
|
|
||||||
|
|
||||||
handler = chain_handlers(handler, *this);
|
handler = chain_handlers(handler, *this);
|
||||||
|
|
||||||
generate_posts_iterator walker
|
generate_posts_iterator walker
|
||||||
|
|
@ -992,6 +987,7 @@ option_t<report_t> * report_t::lookup_option(const char * p)
|
||||||
OPT(gain);
|
OPT(gain);
|
||||||
else OPT(group_by_);
|
else OPT(group_by_);
|
||||||
else OPT(group_title_format_);
|
else OPT(group_title_format_);
|
||||||
|
else OPT(generated);
|
||||||
break;
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
OPT(head_);
|
OPT(head_);
|
||||||
|
|
@ -1045,7 +1041,6 @@ option_t<report_t> * report_t::lookup_option(const char * p)
|
||||||
else OPT(payee_width_);
|
else OPT(payee_width_);
|
||||||
else OPT(prepend_format_);
|
else OPT(prepend_format_);
|
||||||
else OPT(prepend_width_);
|
else OPT(prepend_width_);
|
||||||
else OPT(print_virtual);
|
|
||||||
break;
|
break;
|
||||||
case 'q':
|
case 'q':
|
||||||
OPT(quantity);
|
OPT(quantity);
|
||||||
|
|
@ -1398,7 +1393,7 @@ expr_t::ptr_op_t report_t::lookup(const symbol_t::kind_t kind,
|
||||||
|
|
||||||
case 'e':
|
case 'e':
|
||||||
if (is_eq(p, "equity")) {
|
if (is_eq(p, "equity")) {
|
||||||
HANDLER(print_virtual).on_only(string("#equity"));
|
HANDLER(generated).on_only(string("#equity"));
|
||||||
return WRAP_FUNCTOR(reporter<>(new print_xacts(*this), *this, "#equity"));
|
return WRAP_FUNCTOR(reporter<>(new print_xacts(*this), *this, "#equity"));
|
||||||
}
|
}
|
||||||
else if (is_eq(p, "entry")) {
|
else if (is_eq(p, "entry")) {
|
||||||
|
|
@ -1489,7 +1484,6 @@ expr_t::ptr_op_t report_t::lookup(const symbol_t::kind_t kind,
|
||||||
break;
|
break;
|
||||||
case 'g':
|
case 'g':
|
||||||
if (is_eq(p, "generate")) {
|
if (is_eq(p, "generate")) {
|
||||||
HANDLER(print_virtual).on_only(string("#generate"));
|
|
||||||
return expr_t::op_t::wrap_functor
|
return expr_t::op_t::wrap_functor
|
||||||
(reporter<post_t, post_handler_ptr, &report_t::generate_report>
|
(reporter<post_t, post_handler_ptr, &report_t::generate_report>
|
||||||
(new print_xacts(*this), *this, "#generate"));
|
(new print_xacts(*this), *this, "#generate"));
|
||||||
|
|
|
||||||
|
|
@ -257,6 +257,7 @@ public:
|
||||||
HANDLER(forecast_years_).report(out);
|
HANDLER(forecast_years_).report(out);
|
||||||
HANDLER(format_).report(out);
|
HANDLER(format_).report(out);
|
||||||
HANDLER(gain).report(out);
|
HANDLER(gain).report(out);
|
||||||
|
HANDLER(generated).report(out);
|
||||||
HANDLER(group_by_).report(out);
|
HANDLER(group_by_).report(out);
|
||||||
HANDLER(group_title_format_).report(out);
|
HANDLER(group_title_format_).report(out);
|
||||||
HANDLER(head_).report(out);
|
HANDLER(head_).report(out);
|
||||||
|
|
@ -289,7 +290,6 @@ public:
|
||||||
HANDLER(price).report(out);
|
HANDLER(price).report(out);
|
||||||
HANDLER(prices_format_).report(out);
|
HANDLER(prices_format_).report(out);
|
||||||
HANDLER(pricedb_format_).report(out);
|
HANDLER(pricedb_format_).report(out);
|
||||||
HANDLER(print_virtual).report(out);
|
|
||||||
HANDLER(quantity).report(out);
|
HANDLER(quantity).report(out);
|
||||||
HANDLER(quarterly).report(out);
|
HANDLER(quarterly).report(out);
|
||||||
HANDLER(raw).report(out);
|
HANDLER(raw).report(out);
|
||||||
|
|
@ -599,6 +599,8 @@ public:
|
||||||
" - get_at(total_expr, 1)");
|
" - get_at(total_expr, 1)");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
OPTION(report_t, generated);
|
||||||
|
|
||||||
OPTION__
|
OPTION__
|
||||||
(report_t, group_by_,
|
(report_t, group_by_,
|
||||||
expr_t expr;
|
expr_t expr;
|
||||||
|
|
@ -786,8 +788,6 @@ public:
|
||||||
"P %(datetime) %(display_account) %(scrub(display_amount))\n");
|
"P %(datetime) %(display_account) %(scrub(display_amount))\n");
|
||||||
});
|
});
|
||||||
|
|
||||||
OPTION(report_t, print_virtual);
|
|
||||||
|
|
||||||
OPTION_(report_t, quantity, DO() { // -O
|
OPTION_(report_t, quantity, DO() { // -O
|
||||||
parent->HANDLER(revalued).off();
|
parent->HANDLER(revalued).off();
|
||||||
parent->HANDLER(amount_).set_expr(string("--quantity"), "amount");
|
parent->HANDLER(amount_).set_expr(string("--quantity"), "amount");
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue