Python Usage¶
This part of the documentation is not yet complete.
When using these utils in your python code, the best place to start is
the jobcalc.Calculator
or jobcalc.BaseCalculator
classes, depending on your use case.
Base Calculator¶
The BaseCalculator
class is basic and does not support
using formatters to render
the output. It also does not support hours
and rate
or using any of the config
classes, but can be useful if you
have your own means of calculating the costs
for a job.
See also
jobcalc.BaseCalculator
for specific documentation.
- Usage::
- from jobcalc import BaseCalculator
Calculator¶
The Calculator
class supports hours
and rate
, to
help in calculating the costs
for a job. It also supports adding
formatters
in order to render
the output.
See also
jobcalc.Calculator
class for specific documentation and
jobcalc.formatters
module for documentation on formatters.
Usage:
from jobcalc import Calculator
Formatters¶
Formatters are what are used with the Calculator
class to
render
output. There are several basic formatters in the
jobcalc.formatters
module, all of which pertain to the command line
interface for this package. However by extending the
BaseFormatter
class, one can render the output in any
format they like.
See also
jobcalc.formatters
module.
Creating a Basic Formatter:
from jobcalc import BaseFormater, BaseCalculator
class Basic(BaseFormatter):
@staticmethod
def render(calculator) -> str:
if not isinstance(calculator, BaseCalculator):
raise TypeError(
'{} should be a BaseCalculator or sub-class'.format(
calculator))
return calculator.total().formatted_string()