Renamed actual/effective dates to primary/auxiliary

This commit is contained in:
John Wiegley 2012-02-28 03:02:16 -06:00
parent 7a55c7ffc1
commit 656e46e182
18 changed files with 77 additions and 74 deletions

View file

@ -1,4 +1,4 @@
.Dd February 27, 2012 .Dd February 28, 2012
.Dt ledger 1 .Dt ledger 1
.Sh NAME .Sh NAME
.Nm ledger .Nm ledger
@ -263,7 +263,6 @@ transactions they are contained in. See the manual for more information.
.It Fl \-account Ar STR .It Fl \-account Ar STR
.It Fl \-account-width Ar INT .It Fl \-account-width Ar INT
.It Fl \-actual Pq Fl L .It Fl \-actual Pq Fl L
.It Fl \-actual-dates
.It Fl \-add-budget .It Fl \-add-budget
.It Fl \-amount Ar EXPR Pq Fl t .It Fl \-amount Ar EXPR Pq Fl t
.It Fl \-amount-data Pq Fl j .It Fl \-amount-data Pq Fl j
@ -271,6 +270,7 @@ transactions they are contained in. See the manual for more information.
.It Fl \-anon .It Fl \-anon
.It Fl \-args-only .It Fl \-args-only
.It Fl \-auto-match .It Fl \-auto-match
.It Fl \-aux-date
.It Fl \-average Pq Fl A .It Fl \-average Pq Fl A
.It Fl \-balance-format Ar FMT .It Fl \-balance-format Ar FMT
.It Fl \-base .It Fl \-base
@ -308,7 +308,6 @@ See
.It Fl \-display-total Ar EXPR .It Fl \-display-total Ar EXPR
.It Fl \-dow .It Fl \-dow
.It Fl \-download .It Fl \-download
.It Fl \-effective
.It Fl \-empty Pq Fl E .It Fl \-empty Pq Fl E
.It Fl \-end Pq Fl e .It Fl \-end Pq Fl e
.It Fl \-equity .It Fl \-equity
@ -387,6 +386,7 @@ See
.Fl \-leeway . .Fl \-leeway .
.It Fl \-prices-format Ar FMT .It Fl \-prices-format Ar FMT
.It Fl \-pricedb-format Ar FMT .It Fl \-pricedb-format Ar FMT
.It Fl \-primary-date
.It Fl \-quantity Pq Fl O .It Fl \-quantity Pq Fl O
.It Fl \-quarterly .It Fl \-quarterly
.It Fl \-raw .It Fl \-raw

View file

@ -109,8 +109,8 @@ void csv_reader::read_index(std::istream& sin)
if (date_mask.match(field)) if (date_mask.match(field))
index.push_back(FIELD_DATE); index.push_back(FIELD_DATE);
else if (date_eff_mask.match(field)) else if (date_aux_mask.match(field))
index.push_back(FIELD_DATE_EFF); index.push_back(FIELD_DATE_AUX);
else if (code_mask.match(field)) else if (code_mask.match(field))
index.push_back(FIELD_CODE); index.push_back(FIELD_CODE);
else if (payee_mask.match(field)) else if (payee_mask.match(field))
@ -175,8 +175,8 @@ xact_t * csv_reader::read_xact(journal_t& journal, account_t * bucket,
xact->_date = parse_date(field); xact->_date = parse_date(field);
break; break;
case FIELD_DATE_EFF: case FIELD_DATE_AUX:
xact->_date_eff = parse_date(field); xact->_date_aux = parse_date(field);
break; break;
case FIELD_CODE: case FIELD_CODE:

View file

@ -62,7 +62,7 @@ class csv_reader
enum headers_t { enum headers_t {
FIELD_DATE = 0, FIELD_DATE = 0,
FIELD_DATE_EFF, FIELD_DATE_AUX,
FIELD_CODE, FIELD_CODE,
FIELD_PAYEE, FIELD_PAYEE,
FIELD_AMOUNT, FIELD_AMOUNT,
@ -74,7 +74,7 @@ class csv_reader
}; };
mask_t date_mask; mask_t date_mask;
mask_t date_eff_mask; mask_t date_aux_mask;
mask_t code_mask; mask_t code_mask;
mask_t payee_mask; mask_t payee_mask;
mask_t amount_mask; mask_t amount_mask;
@ -90,7 +90,7 @@ public:
: in(_in), pathname(_pathname), : in(_in), pathname(_pathname),
linenum(0), sequence(0), linenum(0), sequence(0),
date_mask("date"), date_mask("date"),
date_eff_mask("posted( ?date)?"), date_aux_mask("posted( ?date)?"),
code_mask("code"), code_mask("code"),
payee_mask("(payee|desc(ription)?|title)"), payee_mask("(payee|desc(ription)?|title)"),
amount_mask("amount"), amount_mask("amount"),

View file

@ -69,9 +69,9 @@ generate_posts_iterator::generate_posts_iterator
generate_date(next_date_buf); generate_date(next_date_buf);
next_date = parse_date(next_date_buf.str()); next_date = parse_date(next_date_buf.str());
std::ostringstream next_eff_date_buf; std::ostringstream next_aux_date_buf;
generate_date(next_eff_date_buf); generate_date(next_aux_date_buf);
next_eff_date = parse_date(next_eff_date_buf.str()); next_aux_date = parse_date(next_aux_date_buf.str());
} }
@ -326,8 +326,8 @@ void generate_posts_iterator::generate_xact(std::ostream& out)
next_date += gregorian::days(six_gen()); next_date += gregorian::days(six_gen());
if (truth_gen()) { if (truth_gen()) {
out << '='; out << '=';
out << format_date(next_eff_date, FMT_WRITTEN); out << format_date(next_aux_date, FMT_WRITTEN);
next_eff_date += gregorian::days(six_gen()); next_aux_date += gregorian::days(six_gen());
} }
out << ' '; out << ' ';

View file

@ -57,7 +57,7 @@ class generate_posts_iterator
std::size_t quantity; std::size_t quantity;
bool allow_invalid; bool allow_invalid;
date_t next_date; date_t next_date;
date_t next_eff_date; date_t next_aux_date;
mt19937 rnd_gen; mt19937 rnd_gen;

View file

@ -35,7 +35,7 @@
namespace ledger { namespace ledger {
bool item_t::use_effective_date = false; bool item_t::use_aux_date = false;
bool item_t::has_tag(const string& tag, bool) const bool item_t::has_tag(const string& tag, bool) const
{ {
@ -150,7 +150,7 @@ void item_t::parse_tags(const char * p,
if (char * pp = std::strchr(buf, '=')) { if (char * pp = std::strchr(buf, '=')) {
*pp++ = '\0'; *pp++ = '\0';
_date_eff = parse_date(pp); _date_aux = parse_date(pp);
} }
if (buf[0]) if (buf[0])
_date = parse_date(buf); _date = parse_date(buf);
@ -239,12 +239,12 @@ namespace {
value_t get_date(item_t& item) { value_t get_date(item_t& item) {
return item.date(); return item.date();
} }
value_t get_actual_date(item_t& item) { value_t get_primary_date(item_t& item) {
return item.actual_date(); return item.primary_date();
} }
value_t get_effective_date(item_t& item) { value_t get_aux_date(item_t& item) {
if (optional<date_t> effective = item.effective_date()) if (optional<date_t> aux_date = item.aux_date())
return *effective; return *aux_date;
return NULL_VALUE; return NULL_VALUE;
} }
value_t get_note(item_t& item) { value_t get_note(item_t& item) {
@ -403,9 +403,11 @@ expr_t::ptr_op_t item_t::lookup(const symbol_t::kind_t kind,
if (name == "actual") if (name == "actual")
return WRAP_FUNCTOR(get_wrapper<&get_actual>); return WRAP_FUNCTOR(get_wrapper<&get_actual>);
else if (name == "actual_date") else if (name == "actual_date")
return WRAP_FUNCTOR(get_wrapper<&get_actual_date>); return WRAP_FUNCTOR(get_wrapper<&get_primary_date>);
else if (name == "addr") else if (name == "addr")
return WRAP_FUNCTOR(get_wrapper<&get_addr>); return WRAP_FUNCTOR(get_wrapper<&get_addr>);
else if (name == "auxiliary_date")
return WRAP_FUNCTOR(get_wrapper<&get_aux_date>);
break; break;
case 'b': case 'b':
@ -435,7 +437,7 @@ expr_t::ptr_op_t item_t::lookup(const symbol_t::kind_t kind,
else if (name == "end_pos") else if (name == "end_pos")
return WRAP_FUNCTOR(get_wrapper<&get_end_pos>); return WRAP_FUNCTOR(get_wrapper<&get_end_pos>);
else if (name == "effective_date") else if (name == "effective_date")
return WRAP_FUNCTOR(get_wrapper<&get_effective_date>); return WRAP_FUNCTOR(get_wrapper<&get_aux_date>);
break; break;
case 'f': case 'f':
@ -472,6 +474,8 @@ expr_t::ptr_op_t item_t::lookup(const symbol_t::kind_t kind,
return WRAP_FUNCTOR(get_wrapper<&get_pending>); return WRAP_FUNCTOR(get_wrapper<&get_pending>);
else if (name == "parent") else if (name == "parent")
return WRAP_FUNCTOR(get_wrapper<&ignore>); return WRAP_FUNCTOR(get_wrapper<&ignore>);
else if (name == "primary_date")
return WRAP_FUNCTOR(get_wrapper<&get_primary_date>);
break; break;
case 's': case 's':

View file

@ -112,7 +112,7 @@ public:
state_t _state; state_t _state;
optional<date_t> _date; optional<date_t> _date;
optional<date_t> _date_eff; optional<date_t> _date_aux;
optional<string> note; optional<string> note;
optional<position_t> pos; optional<position_t> pos;
optional<string_map> metadata; optional<string_map> metadata;
@ -138,7 +138,7 @@ public:
set_state(item.state()); set_state(item.state());
_date = item._date; _date = item._date;
_date_eff = item._date_eff; _date_aux = item._date_aux;
note = item.note; note = item.note;
pos = item.pos; pos = item.pos;
metadata = item.metadata; metadata = item.metadata;
@ -175,7 +175,7 @@ public:
scope_t& scope, scope_t& scope,
bool overwrite_existing = true); bool overwrite_existing = true);
static bool use_effective_date; static bool use_aux_date;
virtual bool has_date() const { virtual bool has_date() const {
return _date; return _date;
@ -183,17 +183,17 @@ public:
virtual date_t date() const { virtual date_t date() const {
assert(_date); assert(_date);
if (use_effective_date) if (use_aux_date)
if (optional<date_t> effective = effective_date()) if (optional<date_t> aux = aux_date())
return *effective; return *aux;
return *_date; return *_date;
} }
virtual date_t actual_date() const { virtual date_t primary_date() const {
assert(_date); assert(_date);
return *_date; return *_date;
} }
virtual optional<date_t> effective_date() const { virtual optional<date_t> aux_date() const {
return _date_eff; return _date_aux;
} }
void set_state(state_t new_state) { void set_state(state_t new_state) {
@ -220,7 +220,7 @@ private:
ar & boost::serialization::base_object<scope_t>(*this); ar & boost::serialization::base_object<scope_t>(*this);
ar & _state; ar & _state;
ar & _date; ar & _date;
ar & _date_eff; ar & _date_aux;
ar & note; ar & note;
ar & pos; ar & pos;
ar & metadata; ar & metadata;

View file

@ -91,11 +91,11 @@ date_t post_t::date() const
if (xdata_ && is_valid(xdata_->date)) if (xdata_ && is_valid(xdata_->date))
return xdata_->date; return xdata_->date;
if (item_t::use_effective_date) { if (item_t::use_aux_date) {
if (_date_eff) if (_date_aux)
return *_date_eff; return *_date_aux;
else if (xact && xact->_date_eff) else if (xact && xact->_date_aux)
return *xact->_date_eff; return *xact->_date_aux;
} }
if (! _date) { if (! _date) {
@ -105,7 +105,7 @@ date_t post_t::date() const
return *_date; return *_date;
} }
date_t post_t::actual_date() const date_t post_t::primary_date() const
{ {
if (xdata_ && is_valid(xdata_->date)) if (xdata_ && is_valid(xdata_->date))
return xdata_->date; return xdata_->date;
@ -117,11 +117,11 @@ date_t post_t::actual_date() const
return *_date; return *_date;
} }
optional<date_t> post_t::effective_date() const optional<date_t> post_t::aux_date() const
{ {
optional<date_t> date = item_t::effective_date(); optional<date_t> date = item_t::aux_date();
if (! date && xact) if (! date && xact)
return xact->effective_date(); return xact->aux_date();
return date; return date;
} }
@ -657,9 +657,9 @@ void to_xml(std::ostream& out, const post_t& post)
push_xml y(out, "date"); push_xml y(out, "date");
to_xml(out, *post._date, false); to_xml(out, *post._date, false);
} }
if (post._date_eff) { if (post._date_aux) {
push_xml y(out, "effective-date"); push_xml y(out, "aux-date");
to_xml(out, *post._date_eff, false); to_xml(out, *post._date_aux, false);
} }
if (post.account) { if (post.account) {

View file

@ -123,8 +123,8 @@ public:
virtual date_t value_date() const; virtual date_t value_date() const;
virtual date_t date() const; virtual date_t date() const;
virtual date_t actual_date() const; virtual date_t primary_date() const;
virtual optional<date_t> effective_date() const; virtual optional<date_t> aux_date() const;
string payee() const; string payee() const;
@ -230,7 +230,7 @@ public:
{ {
bool operator()(const post_t * left, const post_t * right) const { bool operator()(const post_t * left, const post_t * right) const {
gregorian::date_duration duration = gregorian::date_duration duration =
left->actual_date() - right->actual_date(); left->primary_date() - right->primary_date();
if (duration.days() == 0) { if (duration.days() == 0) {
return ((left->pos ? left->pos->sequence : 0) < return ((left->pos ? left->pos->sequence : 0) <
(right->pos ? right->pos->sequence : 0)); (right->pos ? right->pos->sequence : 0));

View file

@ -112,11 +112,11 @@ namespace {
std::ostringstream buf; std::ostringstream buf;
buf << format_date(item_t::use_effective_date ? buf << format_date(item_t::use_aux_date ?
xact.date() : xact.actual_date(), xact.date() : xact.primary_date(),
format_type, format); format_type, format);
if (! item_t::use_effective_date && xact.effective_date()) if (! item_t::use_aux_date && xact.aux_date())
buf << '=' << format_date(*xact.effective_date(), buf << '=' << format_date(*xact.aux_date(),
format_type, format); format_type, format);
buf << ' '; buf << ' ';

View file

@ -149,13 +149,13 @@ void export_item()
.def("parse_tags", &item_t::parse_tags) .def("parse_tags", &item_t::parse_tags)
.def("append_note", &item_t::append_note) .def("append_note", &item_t::append_note)
.add_static_property("use_effective_date", .add_static_property("use_auxiliary_date",
make_getter(&item_t::use_effective_date), make_getter(&item_t::use_aux_date),
make_setter(&item_t::use_effective_date)) make_setter(&item_t::use_aux_date))
.add_property("date", &item_t::date, make_setter(&item_t::_date)) .add_property("date", &item_t::date, make_setter(&item_t::_date))
.add_property("effective_date", &item_t::effective_date, .add_property("auxiliary_date", &item_t::aux_date,
make_setter(&item_t::_date_eff)) make_setter(&item_t::_date_aux))
.add_property("state", &item_t::state, &item_t::set_state) .add_property("state", &item_t::state, &item_t::set_state)

View file

@ -160,7 +160,7 @@ void export_post()
.def("get_tag", py_get_tag_2m) .def("get_tag", py_get_tag_2m)
.def("date", &post_t::date) .def("date", &post_t::date)
.def("effective_date", &post_t::effective_date) .def("auxiliary_date", &post_t::aux_date)
.def("must_balance", &post_t::must_balance) .def("must_balance", &post_t::must_balance)

View file

@ -76,8 +76,7 @@ void report_t::normalize_options(const string& verb)
HANDLER(pager_).off(); HANDLER(pager_).off();
} }
item_t::use_effective_date = (HANDLED(effective) && item_t::use_aux_date = (HANDLED(aux_date) && ! HANDLED(primary_date));
! HANDLED(actual_dates));
commodity_pool_t::current_pool->keep_base = HANDLED(base); commodity_pool_t::current_pool->keep_base = HANDLED(base);
commodity_pool_t::current_pool->get_quotes = session.HANDLED(download); commodity_pool_t::current_pool->get_quotes = session.HANDLED(download);
@ -960,10 +959,10 @@ option_t<report_t> * report_t::lookup_option(const char * p)
OPT(abbrev_len_); OPT(abbrev_len_);
else OPT_(account_); else OPT_(account_);
else OPT(actual); else OPT(actual);
else OPT(actual_dates);
else OPT(add_budget); else OPT(add_budget);
else OPT(amount_); else OPT(amount_);
else OPT(amount_data); else OPT(amount_data);
else OPT_ALT(primary_date, actual_dates);
else OPT(anon); else OPT(anon);
else OPT_ALT(color, ansi); else OPT_ALT(color, ansi);
else OPT(auto_match); else OPT(auto_match);
@ -1005,12 +1004,12 @@ option_t<report_t> * report_t::lookup_option(const char * p)
else OPT(date_width_); else OPT(date_width_);
break; break;
case 'e': case 'e':
OPT(effective); OPT(empty);
else OPT(empty);
else OPT_(end_); else OPT_(end_);
else OPT(equity); else OPT(equity);
else OPT(exact); else OPT(exact);
else OPT(exchange_); else OPT(exchange_);
else OPT_ALT(aux_date, effective);
break; break;
case 'f': case 'f':
OPT(flat); OPT(flat);

View file

@ -224,12 +224,12 @@ public:
HANDLER(abbrev_len_).report(out); HANDLER(abbrev_len_).report(out);
HANDLER(account_).report(out); HANDLER(account_).report(out);
HANDLER(actual).report(out); HANDLER(actual).report(out);
HANDLER(actual_dates).report(out);
HANDLER(add_budget).report(out); HANDLER(add_budget).report(out);
HANDLER(amount_).report(out); HANDLER(amount_).report(out);
HANDLER(amount_data).report(out); HANDLER(amount_data).report(out);
HANDLER(anon).report(out); HANDLER(anon).report(out);
HANDLER(auto_match).report(out); HANDLER(auto_match).report(out);
HANDLER(aux_date).report(out);
HANDLER(average).report(out); HANDLER(average).report(out);
HANDLER(balance_format_).report(out); HANDLER(balance_format_).report(out);
HANDLER(base).report(out); HANDLER(base).report(out);
@ -256,7 +256,6 @@ public:
HANDLER(display_amount_).report(out); HANDLER(display_amount_).report(out);
HANDLER(display_total_).report(out); HANDLER(display_total_).report(out);
HANDLER(dow).report(out); HANDLER(dow).report(out);
HANDLER(effective).report(out);
HANDLER(empty).report(out); HANDLER(empty).report(out);
HANDLER(end_).report(out); HANDLER(end_).report(out);
HANDLER(equity).report(out); HANDLER(equity).report(out);
@ -303,6 +302,7 @@ 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(primary_date).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);
@ -361,8 +361,6 @@ public:
parent->HANDLER(limit_).on(string("--actual"), "actual"); parent->HANDLER(limit_).on(string("--actual"), "actual");
}); });
OPTION(report_t, actual_dates);
OPTION_(report_t, add_budget, DO() { OPTION_(report_t, add_budget, DO() {
parent->budget_flags |= BUDGET_BUDGETED | BUDGET_UNBUDGETED; parent->budget_flags |= BUDGET_BUDGETED | BUDGET_UNBUDGETED;
}); });
@ -571,7 +569,7 @@ public:
}); });
OPTION(report_t, dow); OPTION(report_t, dow);
OPTION(report_t, effective); OPTION(report_t, aux_date);
OPTION(report_t, empty); // -E OPTION(report_t, empty); // -E
OPTION_(report_t, end_, DO_(args) { // -e OPTION_(report_t, end_, DO_(args) { // -e
@ -822,6 +820,8 @@ public:
"P %(datetime) %(display_account) %(scrub(display_amount))\n"); "P %(datetime) %(display_account) %(scrub(display_amount))\n");
}); });
OPTION(report_t, primary_date);
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");

View file

@ -1603,7 +1603,7 @@ xact_t * instance_t::parse_xact(char * line,
if (char * p = std::strchr(line, '=')) { if (char * p = std::strchr(line, '=')) {
*p++ = '\0'; *p++ = '\0';
xact->_date_eff = parse_date(p); xact->_date_aux = parse_date(p);
} }
xact->_date = parse_date(line); xact->_date = parse_date(line);

View file

@ -794,9 +794,9 @@ void to_xml(std::ostream& out, const xact_t& xact)
push_xml y(out, "date"); push_xml y(out, "date");
to_xml(out, *xact._date, false); to_xml(out, *xact._date, false);
} }
if (xact._date_eff) { if (xact._date_aux) {
push_xml y(out, "effective-date"); push_xml y(out, "aux-date");
to_xml(out, *xact._date_eff, false); to_xml(out, *xact._date_aux, false);
} }
if (xact.code) { if (xact.code) {