61 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# 1. read CSV to hledger journal format
 | 
						|
 rm -rf t.rules$$; printf 'fields date, description, amount\ndate-format %%d/%%Y/%%m\ncurrency $\naccount1 assets:myacct\n' >t.rules$$; echo '10/2009/09,Flubber Co,50' | hledger -f- print --rules-file t.rules$$; rm -rf t.rules$$
 | 
						|
>>>
 | 
						|
2009/09/10 Flubber Co
 | 
						|
    income:unknown          $-50
 | 
						|
    assets:myacct            $50
 | 
						|
 | 
						|
>>>2 /using conversion rules file.*t.rules/
 | 
						|
>>>=0
 | 
						|
 | 
						|
# 2. reading CSV with in-field and out-field
 | 
						|
 printf 'account1 Assets:MyAccount\ndate %%1\ndate-format %%d/%%Y/%%m\ndescription %%2\namount-in %%3\namount-out %%4\ncurrency $\n' >$$.rules ; hledger -f- print --rules-file $$.rules; rm -rf $$.rules
 | 
						|
<<<
 | 
						|
10/2009/09,Flubber Co,50,
 | 
						|
11/2009/09,Flubber Co,,50
 | 
						|
>>>
 | 
						|
2009/09/10 Flubber Co
 | 
						|
    income:unknown            $-50
 | 
						|
    Assets:MyAccount           $50
 | 
						|
 | 
						|
2009/09/11 Flubber Co
 | 
						|
    expenses:unknown           $50
 | 
						|
    Assets:MyAccount          $-50
 | 
						|
 | 
						|
>>>2 /using conversion rules file.*[0-9]+\.rules/
 | 
						|
>>>=0
 | 
						|
 | 
						|
# 3. report rules parse error
 | 
						|
# rm -rf t.rules$$; printf 'date-fiel 0\ndate-format %%d/%%Y/%%m\ndescription-field 1\namount-field 2\ncurrency $\nbase-account assets:myacct\n' >t.rules$$; echo '10/2009/09,Flubber Co,50' | hledger convert --rules-file t.rules$$; rm -rf t.rules$$
 | 
						|
# >>>
 | 
						|
# 2009/09/10 Flubber Co
 | 
						|
#     income:unknown          $-50
 | 
						|
#     assets:myacct            $50
 | 
						|
 | 
						|
# >>>2 /using conversion rules file.*t.rules/
 | 
						|
# >>>=0
 | 
						|
 | 
						|
# 4. handle conditions assigning multiple fields
 | 
						|
 rm -rf t.rules$$; printf 'fields date, description, amount\ndate-format %%d/%%Y/%%m\ncurrency $\naccount1 assets:myacct\nif Flubber\n  account2 acct\n  comment cmt' >t.rules$$; echo '10/2009/09,Flubber Co,50' | hledger -f- print --rules-file t.rules$$; rm -rf t.rules$$
 | 
						|
>>>
 | 
						|
2009/09/10 Flubber Co    ; cmt
 | 
						|
    acct                   $-50
 | 
						|
    assets:myacct           $50
 | 
						|
 | 
						|
>>>2 /using conversion rules file.*t.rules/
 | 
						|
>>>=0
 | 
						|
 | 
						|
# 5. this should infer display styles correctly
 | 
						|
# XXX but doesn't: (#415)
 | 
						|
# Got stdout:
 | 
						|
#            $-1001.00  income:unknown
 | 
						|
#            $1,001.00  unknown
 | 
						|
#hledger --rules-file minimal.csv.rules -f- balance --no-total
 | 
						|
#<<<
 | 
						|
#"2016/1/1","$1"
 | 
						|
#"2016/2/2","$1,000.00"
 | 
						|
#>>>
 | 
						|
#          $-1,001.00  income:unknown
 | 
						|
#           $1,001.00  unknown
 | 
						|
#>>>=0
 |