Пример #1
0
    def _fstring_FormattedValue(self, node, write):
        write("{")

        expr = StringIO()
        unparser = type(self)(
            py_ver_consistent=self._py_ver_consistent,
            _avoid_backslashes=True,
        )
        unparser.set_precedence(pnext(_Precedence.TEST), node.value)
        unparser.visit(node.value, expr)
        expr = expr.getvalue().rstrip("\n")

        if expr.startswith("{"):
            write(" ")  # Separate pair of opening brackets as "{ {"
        if "\\" in expr:
            raise ValueError("Unable to avoid backslash in f-string expression part")
        write(expr)
        if node.conversion != -1:
            conversion = chr(node.conversion)
            assert conversion in "sra"
            write("!{conversion}".format(conversion=conversion))
        if node.format_spec:
            write(":")
            meth = getattr(self, "_fstring_" + type(node.format_spec).__name__)
            meth(node.format_spec, write)
        write("}")
Пример #2
0
 def _fstring_FormattedValue(self, t, write):
     write("{")
     expr = StringIO()
     Unparser(t.value, expr)
     expr = expr.getvalue().rstrip("\n")
     if expr.startswith("{"):
         write(" ")  # Separate pair of opening brackets as "{ {"
     write(expr)
     if t.conversion != -1:
         conversion = chr(t.conversion)
         assert conversion in "sra"
         write("!{conversion}".format(conversion=conversion))
     if t.format_spec:
         write(":")
         meth = getattr(self, "_fstring_" + type(t.format_spec).__name__)
         meth(t.format_spec, write)
     write("}")
Пример #3
0
 def _fstring_FormattedValue(self, t, write):
     write("{")
     expr = StringIO()
     Unparser(t.value, expr)
     expr = expr.getvalue().rstrip("\n")
     if expr.startswith("{"):
         write(" ")  # Separate pair of opening brackets as "{ {"
     write(expr)
     if t.conversion != -1:
         conversion = chr(t.conversion)
         assert conversion in "sra"
         write("!{conversion}".format(conversion=conversion))
     if t.format_spec:
         write(":")
         meth = getattr(self, "_fstring_" + type(t.format_spec).__name__)
         meth(t.format_spec, write)
     write("}")