Пример #1
0
    def _norm_str(self, text, oldval=None):
        text = text.strip()
        if not text:
            self._raiseBadValu(text, mesg='No text left after strip().')

        if text[0] == '(':
            vals, off = s_syntax.parse_list(text)
            if off != len(text):
                self._raiseBadValu(
                    text,
                    off=off,
                    vals=vals,
                    mesg=
                    'List parting for guid type did not consume all of the input text.'
                )
            return self._norm_list(vals, oldval)

        # generate me one.  we dont care.
        if text == '*':
            return s_common.guid(), {}

        if text[0] != '$':
            retn = text.lower().replace('-', '')
            if not s_common.isguid(retn):
                self._raiseBadValu(text, mesg='Expected a 32 char guid string')

            return retn, {}

        node = self.tlib.getTufoByProp('syn:alias', text)
        if node is not None:
            return node[1].get('syn:alias:iden'), {}

        # TODO remove legacy model aliases
        if self._guid_alias is None:
            self._raiseBadValu(
                text, mesg='guid resolver syntax used with non-aliased guid')

        if self._getTufoByProp is None:
            self._raiseBadValu(
                text, mesg='guid resolver syntax used with non-cortex tlib')

        # ( sigh... eventually everything will be a cortex... )
        node = self._getTufoByProp(self._guid_alias, text[1:])
        if node is None:
            self._raiseBadValu(text,
                               mesg='no result for guid resolver',
                               alias=self._guid_alias)

        iden = node[1].get(node[1].get('tufo:form'))
        return iden, {}
Пример #2
0
    def _norm_str(self, text, oldval=None):

        text = text.strip()

        if not text:
            self._raiseBadValu(text)

        if text[0] != '(':
            return self.tlib.getTypeNorm('guid', text)

        vals, off = s_syntax.parse_list(text)
        if off != len(text):
            self._raiseBadValu(text)

        return self._norm_list(vals)
Пример #3
0
    def _norm_str(self, text, oldval=None):

        text = text.strip()

        if not text:
            self._raiseBadValu(text, mesg='No text left after strip().')

        if text[0] != '(':
            return self.tlib.getTypeNorm('guid', text)

        vals, off = s_syntax.parse_list(text)
        if off != len(text):
            self._raiseBadValu(text, off=off, vals=vals,
                               mesg='List parting for comp type did not consume all of the input text.')

        return self._norm_list(vals)
Пример #4
0
    def _norm_str(self, text, oldval=None):
        text = text.strip()
        if not text:
            self._raiseBadValu(text, mesg='No text left after strip().')

        if text[0] == '(':
            vals, off = s_syntax.parse_list(text)
            if off != len(text):  # pragma: no cover
                self._raiseBadValu(text, off=off, vals=vals,
                                   mesg='List parting for ndef type did not consume all of the input text.')
            return self._norm_list(vals, oldval)

        if not s_common.isguid(text):
            self._raiseBadValu(text, mesg='Expected a 32 char guid string')

        return text, {}