def render_cell_content(self, session, group): value = self.group_helper.get_config_value(session, group, "GROUP_QUOTA_DYNAMIC") self.task.form.group_leader.set(session, group) try: fval = float(value) except ValueError: if session.page == self.app.export_page: while value == self.group_helper.loading_indicator(): sleep(1) value = self.group_helper.get_config_value(session, group, "GROUP_QUOTA_DYNAMIC") else: if value == self.group_helper.loading_indicator(): return value return xml_escape(value) except: if isinstance(value, Exception): content = "<span class='QuotaError'>error</span>" val = len(value.args) > 0 and xml_escape(value.args[0]) or "" if session.page == self.app.export_page: return val return fmt_link("#", content, "", "", val) if session.page == self.app.export_page: return value href = self.task.get_href(session) content = "%s%%" % str(round(fval * 100.0, 2)) return fmt_link(href, content, "", "", self.fmt_hover(""))
def render_cell_content(self, session, group): value = self.group_helper.get_config_value(session, group, "GROUP_QUOTA") try: fval = float(value) except ValueError: if session.page == self.app.export_page: while value == self.group_helper.loading_indicator(): sleep(1) value = self.group_helper.get_config_value(session, group, "GROUP_QUOTA") else: if value == self.group_helper.loading_indicator(): return value return xml_escape(value) except: if isinstance(value, Exception): content = "<span class='QuotaError'>error</span>" val = len(value.args) > 0 and xml_escape(value.args[0]) or "" if session.page == self.app.export_page: return val return fmt_link("#", content, "", "", val) if session.page == self.app.export_page: return value content = "%s" % str(round(fval, 2)) return content
def render_cell_content(self, session, group): if session.page == self.app.export_page: return group # if a user if "." in group: parts = group.split('.') indent = len(parts) - 1 user = parts[indent] return "<span style='padding-left: %dem;'>%s</span>" %\ (indent, xml_escape(user)) return xml_escape(group)
def render_features(self, session): retval = "" try: obj = self.tag.get(session) retval = xml_escape(", ".join(obj.features)) except Exception, e: log.debug("Exception in rendering tag features, tags probably not loaded yet: %s", e.message)
def render_hosts(self, session): retval = "" try: obj = self.tag.get(session) retval = xml_escape(", ".join(self.app.wallaby.get_node_names(obj))) except Exception, e: log.debug("Exception in rendering tag hosts, tags probably not loaded yet: %s", e.message)
def render_inputs(self, session, *args): tag = self.form.tags.get(session) value = "" tag_obj = self.app.wallaby.get_tag_by_name(tag) if tag_obj is not None: value = xml_escape(", ".join(tag_obj.features)) if not value or value == "": value = "No features currently selected" value = truncate_text(value, 50, True) return value
def get_formatted_value(self, attr, escape=False): value = self.get_value(attr) if escape: value = xml_escape(value) formatter = None if attr in self._class._properties_by_name: formatter = self._class._properties_by_name[attr].formatter elif attr in self._class._statistics_by_name: formatter = self._class._statistics_by_name[attr].formatter #TODO: handle formatters headers as well return formatter and formatter(value) or value
def fmt_value(cls, value, escape=False): try: # Don't want to escape the None case because # the formatter produces xml, and we don't # need to escape the number cases either. return cls.formatters[type(value)](value) except KeyError: # But we do optionally want to escape the string cases if escape: return xml_escape(value) return value
def fetchItems(self, session, type): ''' fetch the list of <type> from wallaby ''' wallaby_items = self.app.wallaby.get_data(type) item_list = list() for item in wallaby_items: item_list.append(xml_escape(str(item.name))) item_list.sort() return item_list
def render_inputs(self, session, *args): value = ", ".join(self.app.wallaby.get_node_names(self.form.tags.get(session))) if not value or value =="": value = "No hosts currently selected" value = truncate_text(value, 50, True) return xml_escape(value)
def render_item_content(self, session, item): return xml_escape(item)
def render_item_value(self, session, item): return xml_escape(item)
def render_user_list(self, session): options = "" for u in self.user_list: options += """<option value="%s">%s</option>""" % (xml_escape(u), xml_escape(u)) return options
def render_content(self, session): # binding doesn't have a name, use the binding key obj = self.object.get(session) return xml_escape(obj.bindingKey)
def render_v_value(self, session, i): values = self.values.get(session) return len(values) > i and xml_escape(values[i]) or ""
def render_n_value(self, session, i): names = self.names.get(session) return len(names) > i and xml_escape(names[i]) or ""
def get_item_content(self, session, item): return xml_escape(item)
def get_title(self, session): retval = "" try: retval = "Tag '%s'" % xml_escape(self.object.get(session).name) except Exception, e: pass
def render_title(self, session): obj = self.object.get(session) if obj is not None: return xml_escape(obj.name) else: return ""