Example #1
0
def getTuples(eCodes, cFilter, transform):
    result = set()
    for eCode in eCodes:
        for cCode in ecoInfo.getCCodesFromECode(eCode):
            if cFilter(cCode):
                cCode = transform(cCode)
                bCode = ecoInfo.getBCodeFromECode(eCode)
                result.add((cCode, bCode, eCode))

    def mySort(x, y):
        cmpC = ecoInfo.cmpCCodes(x[0], y[0])
        if cmpC != 0:
            return cmpC

        cmpB = ecoInfo.cmpBCodes(x[1], y[1])
        if cmpB != 0:
            return cmpB

        return ecoInfo.cmpECodes(x[2], y[2])

    result = list(result)
    result.sort(mySort)
    return result
def getTuples(eCodes, cFilter, transform):
    result = set()
    for eCode in eCodes:
        for cCode in ecoInfo.getCCodesFromECode(eCode):
            if cFilter(cCode):
                cCode = transform(cCode)
                bCode = ecoInfo.getBCodeFromECode(eCode)
                result.add((cCode, bCode, eCode))

    def mySort(x, y):
        cmpC = ecoInfo.cmpCCodes(x[0], y[0])
        if cmpC != 0:
            return cmpC

        cmpB = ecoInfo.cmpBCodes(x[1], y[1])
        if cmpB != 0:
            return cmpB

        return ecoInfo.cmpECodes(x[2], y[2])

    result = list(result)
    result.sort(mySort)
    return result
Example #3
0
def printWiki(cCodes, dst):
    result = []
    for cCode in cCodes:
        for eCode in ecoInfo.getECodesFromCCode(cCode):
            bCode = ecoInfo.getBCodeFromECode(eCode)
            zCode = ecoInfo.getZCodeFromECode(eCode)
            result.append((zCode, bCode, eCode, cCode))

    def mySort(x, y):
        cmp0 = ecoInfo.cmpZCodes(x[0], y[0])
        if cmp0 != 0:
            return cmp0

        cmp1 = ecoInfo.cmpBCodes(x[1], y[1])
        if cmp1 != 0:
            return cmp1

        cmp2 = ecoInfo.cmpECodes(x[2], y[2])
        if cmp2 != 0:
            return cmp2

        return ecoInfo.cmpCCodes(x[3], y[3])
      
    with open(dst, 'w') as f:
        f.write('{| class="wikitable sortable"\n')
        f.write('| \'\'\'[[Ecozone]]\'\'\'\n')
        f.write('| \'\'\'[[Biome]]\'\'\'\n')
        f.write('| \'\'\'[[Ecoregion]]\'\'\'\n')
        f.write('| \'\'\'Country\'\'\'\n')
        for entry in sorted(result, mySort):
            f.write('|-\n')
            f.write('| [[' + ecoInfo.getZone(entry[0]) + ']]\n')
            f.write('| [[' + ecoInfo.getBiome(entry[1]) + ']]\n')
            f.write('| [[' + getEcoregionWiki(entry[2]) + ']]\n')
            f.write('| [[' + getCountryWiki(entry[3]) + ']]\n')
        f.write('|}\n')                        
Example #4
0
def printWiki(cCodes, dst):
    result = []
    for cCode in cCodes:
        for eCode in ecoInfo.getECodesFromCCode(cCode):
            bCode = ecoInfo.getBCodeFromECode(eCode)
            zCode = ecoInfo.getZCodeFromECode(eCode)
            result.append((zCode, bCode, eCode, cCode))

    def mySort(x, y):
        cmp0 = ecoInfo.cmpZCodes(x[0], y[0])
        if cmp0 != 0:
            return cmp0

        cmp1 = ecoInfo.cmpBCodes(x[1], y[1])
        if cmp1 != 0:
            return cmp1

        cmp2 = ecoInfo.cmpECodes(x[2], y[2])
        if cmp2 != 0:
            return cmp2

        return ecoInfo.cmpCCodes(x[3], y[3])

    with open(dst, 'w') as f:
        f.write('{| class="wikitable sortable"\n')
        f.write('| \'\'\'[[Ecozone]]\'\'\'\n')
        f.write('| \'\'\'[[Biome]]\'\'\'\n')
        f.write('| \'\'\'[[Ecoregion]]\'\'\'\n')
        f.write('| \'\'\'Country\'\'\'\n')
        for entry in sorted(result, mySort):
            f.write('|-\n')
            f.write('| [[' + ecoInfo.getZone(entry[0]) + ']]\n')
            f.write('| [[' + ecoInfo.getBiome(entry[1]) + ']]\n')
            f.write('| [[' + getEcoregionWiki(entry[2]) + ']]\n')
            f.write('| [[' + getCountryWiki(entry[3]) + ']]\n')
        f.write('|}\n')