def checkString(s, r): m = dimension_format.parse_dimension_format_string(s) for k in r.iterkeys(): sDf = m[k] rDf = r[k] print("Comparing '%s' with '%s'" % (sDf.label, rDf.label)) assert (sDf.label is None and rDf.label is None) or (sDf.label == rDf.label) assert len(sDf.dimensionFieldFormats) == len(rDf.dimensionFieldFormats) for i in xrange(len(rDf.dimensionFieldFormats)): sDff = sDf.dimensionFieldFormats[i] rDff = rDf.dimensionFieldFormats[i] print("Comparing '%s' with '%s'" % (sDff.label, rDff.label)) assert (sDff.label is None and rDff.label is None) or (sDff.label == rDff.label) print("Comparing '%s' with '%s'" % (sDff.formatString, rDff.formatString)) assert (sDff.formatString is None and rDff.formatString is None) or (sDff.formatString == rDff.formatString)
def generateDimensionDisplayValues(self, dimensionFormat, dimensionReverse): """Creates dimension values formatted for display if there is an appropriate format. @param dimensionFormat: dimension format string for the layer @param dimensionReverse: dimensions for which to reverse order (comma separated string) """ log.debug("Format: %s reverse: %s" % (dimensionFormat, dimensionReverse)) if dimensionReverse: dimensionsToReverse = [x.strip() for x in dimensionReverse.split(',')] else: dimensionsToReverse = [] if dimensionFormat: formatDetails = dimension_format.parse_dimension_format_string(dimensionFormat) for dim in self.dimensions: dimName = dim['name'] reverseDimension = ((dimName in dimensionsToReverse) and ('dimensionValues' in dim)) if (reverseDimension): dim['dimensionValues'].reverse() if dimName in formatDetails: dimensionFormat = formatDetails[dimName] labels = [] displayValues = [] startValues = [] for dimensionFieldFormat in dimensionFormat.dimensionFieldFormats: labels.append(dimensionFieldFormat.label) if 'dimensionValues' in dim: displayValues.append(dimensionFieldFormat.applyFormat(dimName, dim['dimensionValues'])) startValues.append(dimensionFieldFormat.getStartValue(dimName, reverseDimension)) dim['label'] = dimensionFormat.label dim['displayValues'] = displayValues dim['displayLabels'] = labels dim['startValues'] = startValues