Add str methods to financial objects so that.
More...
Go to the source code of this file.
|
def | str_methods.setflag (self, name, value) |
|
def | str_methods.getflag (self, name) |
|
def | str_methods.register_optionflag (self, name) |
|
def | str_methods.ya_add_method (_class, function, method_name=None, clsmethod=False, noinstance=False) |
|
def | str_methods.infect (_class, function, method_name) |
|
def | str_methods.all_as_classwithcutting__format__ (args) |
|
def | str_methods.all_as_classwithcutting__format__keys (encoding=None, error=None, keys) |
|
def | str_methods.__split__str__ (self, encoding=None, error=None) |
|
def | str_methods.__transaction__str__ (self) |
|
def | str_methods.__invoice__str__ (self) |
|
def | str_methods.__entry__str__ (self) |
|
|
string | str_methods.DEFAULT_ENCODING = "UTF-8" |
|
string | str_methods.DEFAULT_ERROR = "ignore" |
|
Add str methods to financial objects so that.
leads to human readable results
Definition in file str_methods.py.
◆ __entry__str__()
def str_methods.__entry__str__ |
( |
|
self | ) |
|
__str__ method for Entry
Definition at line 326 of file str_methods.py.
326 def __entry__str__(self):
327 """__str__ method for Entry""" 329 from gnucash.gnucash_business
import Entry
330 self=Entry(instance=self)
335 "date_value":str(self.GetDate()),
336 "description_name":
"Description:",
337 "description_value":self.GetDescription(),
338 "notes_name":
"Notes:",
339 "notes_value":self.GetNotes(),
340 "quant_name":
"Quantity:",
341 "quant_value":str(self.GetQuantity()),
342 "invprice_name":
"InvPrice:",
343 "invprice_value":str(self.GetInvPrice())}
345 return (
"{date_name:6}{date_value:15} {description_name:13}{description_value:20} {notes_name:7}{notes_value:20}"+
346 "{quant_name:12}{quant_value:7} {invprice_name:10}{invprice_value:7}").\
347 format(**all_as_classwithcutting__format__keys(**fmt_dict))
◆ __invoice__str__()
def str_methods.__invoice__str__ |
( |
|
self | ) |
|
__str__ method for Invoice
Definition at line 286 of file str_methods.py.
286 def __invoice__str__(self):
287 """__str__ method for Invoice""" 289 from gnucash.gnucash_business
import Invoice
290 self=Invoice(instance=self)
296 "id_value":self.GetID(),
297 "notes_name":
"Notes:",
298 "notes_value":self.GetNotes(),
299 "active_name":
"Active:",
300 "active_value":str(self.GetActive()),
301 "owner_name":
"Owner Name:",
302 "owner_value":self.GetOwner().GetName(),
303 "total_name":
"Total:",
304 "total_value":str(self.GetTotal()),
305 "currency_mnemonic":self.GetCurrency().get_mnemonic()}
307 ret_invoice= (
"{id_name:4}{id_value:10} {notes_name:7}{notes_value:20} {active_name:8}{active_value:7} {owner_name:12}{owner_value:20}"+
308 "{total_name:8}{total_value:10}{currency_mnemonic:3}").\
309 format(**all_as_classwithcutting__format__keys(**fmt_dict))
312 entry_list = self.GetEntries()
313 for entry
in entry_list:
314 if not(type(entry)==Entry):
315 entry=Entry(instance=entry)
316 ret_entries +=
" "+str(entry)+
"\n" 318 return ret_invoice+
"\n"+ret_entries
◆ __split__str__()
def str_methods.__split__str__ |
( |
|
self, |
|
|
|
encoding = None , |
|
|
|
error = None |
|
) |
| |
__str__(self, encoding=None, error=None) -> object
Serialize the Split object and return as a new Unicode object.
Keyword arguments:
encoding -- defaults to str_methods.default_encoding
error -- defaults to str_methods.default_error
See help(unicode) for more details or http://docs.python.org/howto/unicode.html.
Definition at line 199 of file str_methods.py.
199 def __split__str__(self, encoding=None, error=None):
200 """__str__(self, encoding=None, error=None) -> object 202 Serialize the Split object and return as a new Unicode object. 205 encoding -- defaults to str_methods.default_encoding 206 error -- defaults to str_methods.default_error 207 See help(unicode) for more details or http://docs.python.org/howto/unicode.html. 211 from gnucash
import Split
217 if type(lot).__name__ ==
'SwigPyObject':
218 lot=gnucash.GncLot(instance=lot)
219 lot_str=lot.get_title()
223 transaction=self.GetParent()
227 "account":self.GetAccount().name,
228 "value":self.GetValue(),
229 "memo":self.GetMemo(),
232 fmt_str= (
"Account: {account:20} "+
233 "Value: {value:>10} "+
236 if self.optionflags & self.OPTIONFLAGS_BY_NAME[
"PRINT_TRANSACTION"]:
238 "transaction_time":time.ctime(transaction.GetDate()),
239 "transaction2":transaction.GetDescription()}
241 "Transaction: {transaction_time:30} "+
242 "- {transaction2:30} "+
244 fmt_dict.update(fmt_t_dict)
247 return fmt_str.format(**all_as_classwithcutting__format__keys(encoding,error,**fmt_dict))
251 infect(gnucash.Split,__split__str__,
"__str__")
252 gnucash.Split.register_optionflag(
"PRINT_TRANSACTION")
253 gnucash.Split.setflag(
"PRINT_TRANSACTION",
True)
◆ __transaction__str__()
def str_methods.__transaction__str__ |
( |
|
self | ) |
|
__str__ method for Transaction class
Definition at line 255 of file str_methods.py.
255 def __transaction__str__(self):
256 """__str__ method for Transaction class""" 257 from gnucash
import Transaction
259 self=Transaction(instance=self)
261 fmt_tuple=(
'Date:',time.ctime(self.GetDate()),
262 'Description:',self.GetDescription(),
263 'Notes:',self.GetNotes())
265 transaction_str =
"{0:6}{1:25} {2:14}{3:40} {4:7}{5:40}".format(
266 *all_as_classwithcutting__format__(*fmt_tuple))
267 transaction_str +=
"\n" 270 for n,split
in enumerate(self.GetSplitList()):
271 if not (type(split)==gnucash.Split):
272 split=gnucash.Split(instance=split)
274 transaction_flag = split.getflag(
"PRINT_TRANSACTION")
275 split.setflag(
"PRINT_TRANSACTION",
False)
276 splits_str +=
"[{0:>2}] ".format(str(n))
277 splits_str += str(split)
279 split.setflag(
"PRINT_TRANSACTION",transaction_flag)
281 return transaction_str + splits_str
283 gnucash.gnucash_core_c.__transaction__str__=__transaction__str__
284 gnucash.Transaction.add_method(
"__transaction__str__",
"__str__")
◆ all_as_classwithcutting__format__()
def str_methods.all_as_classwithcutting__format__ |
( |
|
args | ) |
|
Converts every argument to instance of ClassWithCutting__format__
Definition at line 168 of file str_methods.py.
168 def all_as_classwithcutting__format__(*args):
169 """Converts every argument to instance of ClassWithCutting__format__""" 176 l.append(ClassWithCutting__format__(a))
◆ all_as_classwithcutting__format__keys()
def str_methods.all_as_classwithcutting__format__keys |
( |
|
encoding = None , |
|
|
|
error = None , |
|
|
|
keys |
|
) |
| |
Converts every argument to instance of ClassWithCutting__format__
Definition at line 180 of file str_methods.py.
180 def all_as_classwithcutting__format__keys(encoding=None, error=None, **keys):
181 """Converts every argument to instance of ClassWithCutting__format__""" 186 encoding=DEFAULT_ENCODING
192 d[a]=ClassWithCutting__format__(keys[a])
◆ register_optionflag()
def str_methods.register_optionflag |
( |
|
self, |
|
|
|
name |
|
) |
| |
Taken from doctest.py
Definition at line 53 of file str_methods.py.
53 def register_optionflag(self,name):
54 """Taken from doctest.py""" 56 return self.OPTIONFLAGS_BY_NAME.setdefault(name, 1 << len(self.OPTIONFLAGS_BY_NAME))
◆ ya_add_method()
def str_methods.ya_add_method |
( |
|
_class, |
|
|
|
function, |
|
|
|
method_name = None , |
|
|
|
clsmethod = False , |
|
|
|
noinstance = False |
|
) |
| |
Calls add_method from function_methods.py but makes it
possible to use functions in this module. Also keeps the
docstring
Definition at line 58 of file str_methods.py.
58 def ya_add_method(_class, function, method_name=None, clsmethod=False, noinstance=False):
59 """Calls add_method from function_methods.py but makes it 60 possible to use functions in this module. Also keeps the 63 if method_name ==
None:
64 method_name = function.__name__
66 setattr(gnucash.gnucash_core_c,function.__name__,function)
68 mf=_class.ya_add_classmethod(function.__name__,method_name)
70 mf=_class.add_method(function.__name__,method_name)
72 mf=_class.ya_add_method(function.__name__,method_name)
73 if function.__doc__ !=
None:
74 setattr(mf,
"__doc__", function.__doc__)