コード例 #1
0
ファイル: types.py プロジェクト: vijoin/ibis
    def __repr__(self):
        if not config.options.interactive:
            return self._repr(memo=FormatMemo(get_text_repr=True))

        try:
            result = self.execute()
        except com.TranslationError as e:
            output = ('Translation to backend failed\n'
                      'Error message: {0}\n'
                      'Expression repr follows:\n{1}'.format(
                          e.args[0], self._repr()))
            return output
        else:
            return repr(result)
コード例 #2
0
    def _repr(self, memo=None):
        if memo is None:
            from ibis.expr.format import FormatMemo
            memo = FormatMemo()

        opname = type(self).__name__
        pprint_args = []

        def _pp(x):
            return _safe_repr(x, memo=memo)

        for x in self.args:
            if isinstance(x, (tuple, list)):
                pp = repr([_pp(y) for y in x])
            else:
                pp = _pp(x)
            pprint_args.append(pp)

        return '%s(%s)' % (opname, ', '.join(pprint_args))