Restored --format, --date-format (-y), and --input-date-format options.
This commit is contained in:
parent
6d020a9b0b
commit
53c6e826f1
4 changed files with 34 additions and 15 deletions
|
|
@ -400,7 +400,10 @@ namespace ledger {
|
|||
|
||||
if (verb == "register" || verb == "reg" || verb == "r") {
|
||||
verb = "register";
|
||||
command = reporter<>(new format_xacts(report, session.register_format));
|
||||
command = reporter<>(new format_xacts(report,
|
||||
report.format_string.empty() ?
|
||||
session.register_format :
|
||||
report.format_string));
|
||||
}
|
||||
else if (verb == "print" || verb == "p") {
|
||||
verb = "print";
|
||||
|
|
|
|||
|
|
@ -322,9 +322,9 @@ expr_t::ptr_op_t report_t::lookup(const string& name)
|
|||
case 'c':
|
||||
if (std::strcmp(p, "collapse") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_collapse);
|
||||
else if (std::strcmp(p, "comm_as_payee") == 0)
|
||||
else if (std::strcmp(p, "comm-as-payee") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_comm_as_payee);
|
||||
else if (std::strcmp(p, "code_as_payee") == 0)
|
||||
else if (std::strcmp(p, "code-as-payee") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_code_as_payee);
|
||||
break;
|
||||
|
||||
|
|
@ -333,6 +333,8 @@ expr_t::ptr_op_t report_t::lookup(const string& name)
|
|||
return MAKE_FUNCTOR(report_t::option_daily);
|
||||
else if (std::strcmp(p, "dow") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_dow);
|
||||
else if (std::strcmp(p, "date-format_") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_date_format_);
|
||||
break;
|
||||
|
||||
case 'e':
|
||||
|
|
@ -344,8 +346,7 @@ expr_t::ptr_op_t report_t::lookup(const string& name)
|
|||
break;
|
||||
|
||||
case 'f':
|
||||
if (std::strcmp(p, "F_") == 0 ||
|
||||
std::strcmp(p, "format_") == 0)
|
||||
if (std::strcmp(p, "format_") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_format_);
|
||||
break;
|
||||
|
||||
|
|
@ -354,6 +355,11 @@ expr_t::ptr_op_t report_t::lookup(const string& name)
|
|||
return MAKE_FUNCTOR(report_t::option_head_);
|
||||
break;
|
||||
|
||||
case 'i':
|
||||
if (std::strcmp(p, "input-date-format_") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_input_date_format_);
|
||||
break;
|
||||
|
||||
case 'j':
|
||||
if (! (*p + 1))
|
||||
return MAKE_FUNCTOR(report_t::option_amount_data);
|
||||
|
|
@ -430,6 +436,8 @@ expr_t::ptr_op_t report_t::lookup(const string& name)
|
|||
case 'y':
|
||||
if (std::strcmp(p, "yearly") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_yearly);
|
||||
else if (std::strcmp(p, "y_") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_date_format_);
|
||||
break;
|
||||
|
||||
case 'E':
|
||||
|
|
@ -437,6 +445,11 @@ expr_t::ptr_op_t report_t::lookup(const string& name)
|
|||
return MAKE_FUNCTOR(report_t::option_empty);
|
||||
break;
|
||||
|
||||
case 'F':
|
||||
if (std::strcmp(p, "F_") == 0)
|
||||
return MAKE_FUNCTOR(report_t::option_format_);
|
||||
break;
|
||||
|
||||
case 'J':
|
||||
if (! (*p + 1))
|
||||
return MAKE_FUNCTOR(report_t::option_total_data);
|
||||
|
|
|
|||
18
src/report.h
18
src/report.h
|
|
@ -353,15 +353,17 @@ public:
|
|||
return true;
|
||||
}
|
||||
|
||||
value_t option_date_format_(call_scope_t& args) { // y:
|
||||
ledger::output_date_format = args[0].as_string();
|
||||
return true;
|
||||
}
|
||||
|
||||
value_t option_input_date_format_(call_scope_t& args) { // :
|
||||
ledger::input_date_format = args[0].as_string();
|
||||
return true;
|
||||
}
|
||||
|
||||
#if 0
|
||||
value_t option_date_format(call_scope_t& args) { // y:
|
||||
report->date_output_format = optarg;
|
||||
}
|
||||
|
||||
value_t option_input_date_format(call_scope_t& args) { // :
|
||||
config->date_input_format = optarg;
|
||||
}
|
||||
|
||||
value_t option_balance_format(call_scope_t& args) { // :
|
||||
config->balance_format = optarg;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,10 +89,11 @@ inline string format_datetime(const datetime_t& when)
|
|||
inline string format_date(const date_t& when,
|
||||
const optional<string>& format = none)
|
||||
{
|
||||
if (format) {
|
||||
if (format || ! output_date_format.empty()) {
|
||||
char buf[256];
|
||||
std::tm moment = gregorian::to_tm(when);
|
||||
std::strftime(buf, 255, format->c_str(), &moment);
|
||||
std::strftime(buf, 255, format ?
|
||||
format->c_str() : output_date_format.c_str(), &moment);
|
||||
return buf;
|
||||
} else {
|
||||
return to_simple_string(when).substr(2);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue