Skip to content
An interface to CalcXML for Django.
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
calcxml
.gitignore
AUTHORS.txt
LICENSE.txt
README.md
setup.py

README.md

django-calcxml

An interface to CalcXML for Django by Derrick Petzold.

This app translates the calculator xml into native Django models and fields. The xml is read and stored as python object then the templates for models.py and fields.py are rendered. Below is the json dump of a calculator object.

{
    "headtitle": "Loan Balance Calculator - Find out how much you owe on your loan.", 
    "title": "What is the balance on my loan?", 
    "headmetadescription": "At CalcXML we developed a user friendly loan balance calculator. Use it to see what your loan balance is.", 
    "formaction": "loan-balance", 
    "headmetakeywords": "loan balance", 
    "teaser": "For CalcXML use only. Indicates whether this calculator is available as a \"teaser\" calculator. (1 = yes)", 
    "h1heading": "Calculate your loan balance based on current payment, interest rate and remaining term", 
    "description": "If you know your current payment, the interest rate and the term remaining, you can calculate your outstanding loan balance. Use this calculator to determine the loan balance along with an amortization schedule."
    "amortization": {
        "group": "Loan Information", 
        "name": "amortization", 
        "default": "2", 
        "choices": [
            [
                "1", 
                "monthly"
            ], 
            [
                "2", 
                "yearly"
            ]
        ], 
        "label": "Desired amortization schedule", 
        "type": "integer", 
        "excludeTeaser": "true"
    }, 
    "paymentAmount": {
        "default": "0", 
        "type": "double", 
        "group": "Loan Information", 
        "name": "paymentAmount", 
        "label": "Current monthly payment"
    }, 
    "interestRate": {
        "group": "Loan Information", 
        "name": "interestRate", 
        "limits": {
            "max": "0.4", 
            "min": "0.0"
        }, 
        "default": "0", 
        "label": "Annual interest rate", 
        "type": "float"
    }, 
    "termMonths": {
        "group": "Loan Information", 
        "name": "termMonths", 
        "limits": {
            "max": "360", 
            "min": "1"
        }, 
        "default": "60", 
        "label": "Number of months remaining", 
        "type": "integer"
    }
}

To rewrite models.py and fields.py run the following command

./manage.py calcxml_cmd

To debug the process run

./manage.py calcxml_cmd --debug <calculator name>
Something went wrong with that request. Please try again.