hledger-lib-1.41: A library providing the core functionality of hledger

Safe Haskell | None
Language | Haskell2010

Hledger.Read.InputOptions

Contents

- Types and helpers for input options

Description

Various options to use when reading journal files. Similar to CliOptions.inputflags, simplifies the journal-reading functions.

Synopsis

- data InputOpts = InputOpts {
  - mformat_ :: Maybe StorageFormat
  - mrules_file_ :: Maybe FilePath
  - aliases_ :: [String]
  - anon_ :: Bool
  - new_ :: Bool
  - new_save_ :: Bool
  - pivot_ :: String
  - forecast_ :: Maybe DateSpan
  - posting_account_tags_ :: Bool
  - verbose_tags_ :: Bool
  - reportspan_ :: DateSpan
  - auto_ :: Bool
  - infer_equity_ :: Bool
  - infer_costs_ :: Bool
  - balancingopts_ :: BalancingOpts
  - strict_ :: Bool
  - _defer :: Bool
  - _ioDay :: Day
  }
- class HasInputOpts c where
  - inputOpts :: Lens' c InputOpts
  - aliases :: Lens' c [String]
  - anon__ :: Lens' c Bool
  - auto__ :: Lens' c Bool
  - balancingopts :: Lens' c BalancingOpts
  - defer :: Lens' c Bool
  - forecast :: Lens' c (Maybe DateSpan)
  - infer_costs :: Lens' c Bool
  - infer_equity :: Lens' c Bool
  - ioDay :: Lens' c Day
  - mformat :: Lens' c (Maybe StorageFormat)
  - mrules_file :: Lens' c (Maybe FilePath)
  - new__ :: Lens' c Bool
  - new_save :: Lens' c Bool
  - pivot :: Lens' c String
  - posting_account_tags :: Lens' c Bool
  - reportspan :: Lens' c DateSpan
  - strict :: Lens' c Bool
  - verbose_tags :: Lens' c Bool
- definputopts :: InputOpts
- forecastPeriod :: InputOpts -> Journal -> Maybe DateSpan

# Types and helpers for input options

data InputOpts #

Constructors

InputOpts |

Fields

- mformat_ :: Maybe StorageFormat

  a file/storage format to try, unless overridden by a filename prefix. Nothing means try all.

- mrules_file_ :: Maybe FilePath

  a conversion rules file to use (when reading CSV)

- aliases_ :: [String]

  account name aliases to apply

- anon_ :: Bool

  do light obfuscation of the data ? Now corresponds to --obfuscate, not the old --anon flag.

- new_ :: Bool

  read only new transactions since this file was last read ?

- new_save_ :: Bool

  save latest new transactions state for next time ?

- pivot_ :: String

  use the given field's value as the account name

- forecast_ :: Maybe DateSpan

  span in which to generate forecast transactions

- posting_account_tags_ :: Bool

  propagate account tags to postings ?

- verbose_tags_ :: Bool

  add user-visible tags when generating/modifying transactions & postings ?

- reportspan_ :: DateSpan

  a dirty hack keeping the query dates in InputOpts. This rightfully lives in ReportSpec, but is duplicated here.

- auto_ :: Bool

  generate extra postings according to auto posting rules ?

- infer_equity_ :: Bool

  infer equity conversion postings from costs ?

- infer_costs_ :: Bool

  infer costs from equity conversion postings ? distinct from BalancingOpts{infer_balancing_costs_}

- balancingopts_ :: BalancingOpts

  options for transaction balancing

- strict_ :: Bool

  do extra correctness checks ?

- _defer :: Bool

  internal flag: postpone checks, because we are processing multiple files ?

- _ioDay :: Day

  today's date, for use with forecast transactions XXX this duplicates _rsDay, and should eventually be removed when it's not needed anymore.

#### Instances

Instances details

Show InputOpts # |
Instance details Defined in Hledger.Read.InputOptions Methods showsPrec :: Int -> InputOpts -> ShowS # show :: InputOpts -> String # showList :: [InputOpts] -> ShowS #
HasBalancingOpts InputOpts # |
Instance details Defined in Hledger.Read.InputOptions Methods balancingOpts :: Lens' InputOpts BalancingOpts # commodity_styles :: Lens' InputOpts (Maybe (Map CommoditySymbol AmountStyle)) # ignore_assertions :: Lens' InputOpts Bool # infer_balancing_costs :: Lens' InputOpts Bool #
HasInputOpts InputOpts # |

Instance details

Defined in Hledger.Read.InputOptions

Methods

inputOpts :: Lens' InputOpts InputOpts #

aliases :: Lens' InputOpts [String] #

anon__ :: Lens' InputOpts Bool #

auto__ :: Lens' InputOpts Bool #

balancingopts :: Lens' InputOpts BalancingOpts #

defer :: Lens' InputOpts Bool #

forecast :: Lens' InputOpts (Maybe DateSpan) #

infer_costs :: Lens' InputOpts Bool #

infer_equity :: Lens' InputOpts Bool #

ioDay :: Lens' InputOpts Day #

mformat :: Lens' InputOpts (Maybe StorageFormat) #

mrules_file :: Lens' InputOpts (Maybe FilePath) #

new__ :: Lens' InputOpts Bool #

new_save :: Lens' InputOpts Bool #

pivot :: Lens' InputOpts String #

posting_account_tags :: Lens' InputOpts Bool #

reportspan :: Lens' InputOpts DateSpan #

strict :: Lens' InputOpts Bool #

verbose_tags :: Lens' InputOpts Bool #

class HasInputOpts c where #

Minimal complete definition

inputOpts

Methods

inputOpts :: Lens' c InputOpts #

aliases :: Lens' c [String] #

anon__ :: Lens' c Bool #

auto__ :: Lens' c Bool #

balancingopts :: Lens' c BalancingOpts #

defer :: Lens' c Bool #

forecast :: Lens' c (Maybe DateSpan) #

infer_costs :: Lens' c Bool #

infer_equity :: Lens' c Bool #

ioDay :: Lens' c Day #

mformat :: Lens' c (Maybe StorageFormat) #

mrules_file :: Lens' c (Maybe FilePath) #

new__ :: Lens' c Bool #

new_save :: Lens' c Bool #

pivot :: Lens' c String #

posting_account_tags :: Lens' c Bool #

reportspan :: Lens' c DateSpan #

strict :: Lens' c Bool #

verbose_tags :: Lens' c Bool #

#### Instances

Instances details

HasInputOpts InputOpts # |

Instance details

Defined in Hledger.Read.InputOptions

Methods

inputOpts :: Lens' InputOpts InputOpts #

aliases :: Lens' InputOpts [String] #

anon__ :: Lens' InputOpts Bool #

auto__ :: Lens' InputOpts Bool #

balancingopts :: Lens' InputOpts BalancingOpts #

defer :: Lens' InputOpts Bool #

forecast :: Lens' InputOpts (Maybe DateSpan) #

infer_costs :: Lens' InputOpts Bool #

infer_equity :: Lens' InputOpts Bool #

ioDay :: Lens' InputOpts Day #

mformat :: Lens' InputOpts (Maybe StorageFormat) #

mrules_file :: Lens' InputOpts (Maybe FilePath) #

new__ :: Lens' InputOpts Bool #

new_save :: Lens' InputOpts Bool #

pivot :: Lens' InputOpts String #

posting_account_tags :: Lens' InputOpts Bool #

reportspan :: Lens' InputOpts DateSpan #

strict :: Lens' InputOpts Bool #

verbose_tags :: Lens' InputOpts Bool #

definputopts :: InputOpts #

forecastPeriod :: InputOpts -> Journal -> Maybe DateSpan #

Get the Maybe the DateSpan to generate forecast options from. This begins on: - the start date supplied to the `--forecast` argument, if present - otherwise, the later of - the report start date if specified with -b-pdate: - the day after the latest normal (non-periodic) transaction in the journal, if any - otherwise today. It ends on: - the end date supplied to the `--forecast` argument, if present - otherwise the report end date if specified with -e-pdate: - otherwise 180 days (6 months) from today.