本文整理汇总了Python中s3validators.IS_NUMBER.represent方法的典型用法代码示例。如果您正苦于以下问题:Python IS_NUMBER.represent方法的具体用法?Python IS_NUMBER.represent怎么用?Python IS_NUMBER.represent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类s3validators.IS_NUMBER
的用法示例。
在下文中一共展示了IS_NUMBER.represent方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _totals
# 需要导入模块: from s3validators import IS_NUMBER [as 别名]
# 或者: from s3validators.IS_NUMBER import represent [as 别名]
def _totals(values, layers, append=None):
"""
Get the totals of a row/column/report
@param values: the values dictionary
@param layers: the layers
@param append: callback to collect the totals for JSON data
(currently only collects the first layer)
"""
totals = []
for layer in layers:
f, m = layer
value = values[layer]
if m == "list":
value = value and len(value) or 0
if not len(totals) and append is not None:
append(value)
totals.append(IS_NUMBER.represent(value))
totals = " / ".join(totals)
return totals
示例2: __init__
# 需要导入模块: from s3validators import IS_NUMBER [as 别名]
# 或者: from s3validators.IS_NUMBER import represent [as 别名]
def __init__(self,
report,
show_totals=True,
url=None,
filter_query=None,
**attributes):
"""
Constructor
@param report: the S3Pivottable instance
@param attributes: the HTML attributes for the table
"""
T = current.T
TOTAL = T("Total")
TABLE.__init__(self, **attributes)
components = self.components = []
self.json_data = None
layers = report.layers
resource = report.resource
tablename = resource.tablename
cols = report.cols
rows = report.rows
numcols = report.numcols
numrows = report.numrows
rfields = report.rfields
get_label = self._get_label
get_total = self._totals
represent = lambda f, v, d="": \
self._represent(rfields, f, v, default=d)
layer_label = None
col_titles = []
add_col_title = col_titles.append
col_totals = []
add_col_total = col_totals.append
row_titles = []
add_row_title = row_titles.append
row_totals = []
add_row_total = row_totals.append
# Layer titles --------------------------------------------------------
# Get custom labels from report options
layer_labels = Storage()
report_options = resource.get_config("report_options", None)
if report_options and "fact" in report_options:
layer_opts = report_options["fact"]
for item in layer_opts:
if isinstance(item, (tuple, list)) and len(item) == 3:
if not "." in item[0].split("$")[0]:
item = ("%s.%s" % (resource.alias, item[0]),
item[1],
item[2])
layer_labels[(item[0], item[1])] = item[2]
labels = []
get_mname = S3Report.mname
for layer in layers:
if layer in layer_labels:
# Custom label
label = layer_labels[layer]
if not labels:
layer_label = label
labels.append(s3_unicode(label))
else:
# Construct label from field-label and method
label = get_label(rfields, layer[0], tablename, "fact")
mname = get_mname(layer[1])
if not labels:
m = layer[1] == "list" and get_mname("count") or mname
layer_label = "%s (%s)" % (label, m)
labels.append("%s (%s)" % (label, mname))
layers_title = TH(" / ".join(labels))
# Columns field title -------------------------------------------------
if cols:
col_label = get_label(rfields, cols, tablename, "cols")
_colspan = numcols + 1
else:
col_label = ""
_colspan = numcols
cols_title = TH(col_label, _colspan=_colspan, _scope="col")
titles = TR(layers_title, cols_title)
# Rows field title ----------------------------------------------------
row_label = get_label(rfields, rows, tablename, "rows")
rows_title = TH(row_label, _scope="col")
headers = TR(rows_title)
# Column headers ------------------------------------------------------
#.........这里部分代码省略.........
示例3: __init__
# 需要导入模块: from s3validators import IS_NUMBER [as 别名]
# 或者: from s3validators.IS_NUMBER import represent [as 别名]
def __init__(self, report, show_totals=True, **attributes):
"""
Constructor
@param report: the S3Pivottable instance
@param attributes: the HTML attributes for the table
"""
T = current.T
TOTAL = T("Total")
TABLE.__init__(self, **attributes)
components = self.components = []
self.json_data = None
layers = report.layers
resource = report.resource
tablename = resource.tablename
cols = report.cols
rows = report.rows
numcols = report.numcols
numrows = report.numrows
rfields = report.rfields
get_label = self._get_label
get_total = self._totals
represent = lambda f, v, d="": \
self._represent(rfields, f, v, default=d)
layer_label = None
col_titles = []
add_col_title = col_titles.append
col_totals = []
add_col_total = col_totals.append
row_titles = []
add_row_title = row_titles.append
row_totals = []
add_row_total = row_totals.append
# Table header --------------------------------------------------------
#
# Layer titles
labels = []
get_mname = S3Report.mname
for field_name, method in layers:
label = get_label(rfields, field_name, tablename, "fact")
mname = get_mname(method)
if not labels:
m = method == "list" and get_mname("count") or mname
layer_label = "%s (%s)" % (label, m)
labels.append("%s (%s)" % (label, mname))
layers_title = TH(" / ".join(labels))
# Columns field title
if cols:
col_label = get_label(rfields, cols, tablename, "cols")
_colspan = numcols + 1
else:
col_label = ""
_colspan = numcols
cols_title = TH(col_label, _colspan=_colspan, _scope="col")
titles = TR(layers_title, cols_title)
# Rows field title
row_label = get_label(rfields, rows, tablename, "rows")
rows_title = TH(row_label, _scope="col")
headers = TR(rows_title)
add_header = headers.append
# Column headers
values = report.col
for i in xrange(numcols):
value = values[i].value
v = represent(cols, value)
add_col_title(s3_truncate(unicode(v)))
colhdr = TH(v, _scope="col")
add_header(colhdr)
# Row totals header
if show_totals and cols is not None:
add_header(TH(TOTAL, _class="totals_header rtotal", _scope="col"))
thead = THEAD(titles, headers)
# Table body ----------------------------------------------------------
#
tbody = TBODY()
add_row = tbody.append
# lookup table for cell list values
cell_lookup_table = {} # {{}, {}}
cells = report.cell
rvals = report.row
#.........这里部分代码省略.........
示例4: __init__
# 需要导入模块: from s3validators import IS_NUMBER [as 别名]
# 或者: from s3validators.IS_NUMBER import represent [as 别名]
def __init__(self,
report,
show_totals=True,
url=None,
filter_query=None,
**attributes):
"""
Constructor
@param report: the S3Pivottable instance
@param show_totals: show totals for rows and columns
@param url: link cells to this base-URL
@param filter_query: use this S3ResourceQuery with the base-URL
@param attributes: the HTML attributes for the table
"""
T = current.T
TOTAL = T("Total")
TABLE.__init__(self, **attributes)
components = self.components = []
self.json_data = None
layers = report.layers
resource = report.resource
tablename = resource.tablename
cols = report.cols
rows = report.rows
numcols = report.numcols
numrows = report.numrows
rfields = report.rfields
get_label = self._get_label
get_total = self._totals
represent = lambda f, v, d="": \
self._represent(rfields, f, v, default=d)
layer_label = None
col_titles = []
add_col_title = col_titles.append
col_totals = []
add_col_total = col_totals.append
row_titles = []
add_row_title = row_titles.append
row_totals = []
add_row_total = row_totals.append
# Layer titles:
# Get custom labels from report options
layer_labels = Storage()
report_options = resource.get_config("report_options", None)
if report_options and "fact" in report_options:
layer_opts = report_options["fact"]
for item in layer_opts:
if isinstance(item, (tuple, list)) and len(item) == 3:
if not "." in item[0].split("$")[0]:
item = ("%s.%s" % (resource.alias, item[0]),
item[1],
item[2])
layer_labels[(item[0], item[1])] = item[2]
labels = []
get_mname = S3Report.mname
for layer in layers:
if layer in layer_labels:
# Custom label
label = layer_labels[layer]
if not labels:
layer_label = label
labels.append(s3_unicode(label))
else:
# Construct label from field-label and method
label = get_label(rfields, layer[0], tablename, "fact")
mname = get_mname(layer[1])
if not labels:
m = layer[1] == "list" and get_mname("count") or mname
layer_label = "%s (%s)" % (label, m)
labels.append("%s (%s)" % (label, mname))
layers_title = TH(" / ".join(labels))
# Columns field title
if cols:
col_label = get_label(rfields, cols, tablename, "cols")
_colspan = numcols + 1
else:
col_label = ""
_colspan = numcols
cols_title = TH(col_label, _colspan=_colspan, _scope="col")
titles = TR(layers_title, cols_title)
# Sort dimensions:
cells = report.cell
def sortdim(dim, items):
#.........这里部分代码省略.........