view hgscm/apps/www/models.py @ 78:8d25e34c21c2

templatetags: Add DownloadButton tag to display a download button according to operating system This is somewhat a hacky way to do it, but it works, and we might redo it alter on.
author David Soria Parra <dsp@php.net>
date Fri, 20 Feb 2009 15:12:43 +0100
parents 9be94f3dcaa0
children
line wrap: on
line source

from django.db import models
from django.utils import simplejson
from django.conf import settings
import os, re

def get_download(platform, version):
    '''get the download for the right version'''
    f = open(os.path.join(settings.MEDIA_ROOT, "downloads.json"))
    list = simplejson.load(f)
    f.close()
    latest = version == 'latest' or not version
    for entry in list:
        if (latest and entry['latest'] == 'true') or entry['version'] == version:
            for version in entry['versions']:
                if version['identifier'] == platform:
                    return version
def get_download_for_agent(agent, version):
    '''get the download for the right version'''
    f = open(os.path.join(settings.MEDIA_ROOT, "downloads.json"))
    list = simplejson.load(f)
    f.close()
    latest = version == 'latest' or not version
    for entry in list:
        if (latest and entry['latest'] == 'true') or entry['version'] == version:
            for version in entry['versions']:
                if re.search(version['system'], agent):
                    return version

def get_latest_version():
    '''return the latest available version'''
    f = open(os.path.join(settings.MEDIA_ROOT, "downloads.json"))
    list = simplejson.load(f)
    f.close()
    for entry in list:
        if entry['latest'] == 'true':
            return entry['version']