Exemplo n.º 1
0
def inferDefaultValue(props):
    value = ""
    if "values" in props:
        vals = utilities.parseValues(props["values"])
        if vals and vals[0][2] in ("=", "<="):
            value = utilities.parseValues(props["values"])[0][0]
    if not value:
        if props["valuetype"] == "bool":
            value = "false"
        elif props["valuetype"] != "std::string":
            value = "0"
    if value and props["type"] == "multivalue":
        count = min(a.minDelimiters for a in props["arguments"])
        value = "|".join([value] * (count + 1))
    return value
Exemplo n.º 2
0
 def __init__(self, props):
     self.default = props["default"]
     self.props = props
     self.arguments = props["arguments"]
     self.name = props["name"]
     self.values = utilities.parseValues(props.get("values", ""))
     self.valueType = props["valuetype"]
     self.count = utilities.parseCount(props["count"])
     self.minCount, self.maxCount = self.count
     self.include = props.get("include")
     self.includeCpp = props.get("includecpp")
     self.action = props.get("memberaction")
     self.condition = props.get("membercondition")
     self.conditionMessage = props.get("memberconditionmessage")
     self.type = props.get("type")
     if not self.type:
         self.type = "value" if self.maxCount == 1 else "list"
     if self.type in ("list", "multivalue"):
         self.memberType = "std::vector<%s>" % self.valueType
     else:
         self.memberType = self.valueType
     self.isOption = not any(a for a in self.arguments if not a.flags)