示例#1
0
文件: axon.py 项目: e2-ibm/synapse
def _ctor_axon(opts):
    '''
    A function to allow terse/clean construction of an axon from a dmon ctor.
    '''
    datadir = opts.pop('datadir', None)
    if datadir is None:
        raise s_common.BadInfoValu(name='datadir', valu=None, mesg='axon ctor requires "datadir":<path> option')

    return Axon(datadir, **opts)
示例#2
0
def _ctor_cortex(conf):
    url = conf.pop('url', None)
    if url is None:
        raise s_common.BadInfoValu(name='url', valu=None, mesg='cortex ctor requires "url":<url> option')

    core = openurl(url)
    core.setConfOpts(conf)

    return core
示例#3
0
文件: types.py 项目: e2-ibm/synapse
    def __init__(self, tlib, name, **info):
        DataType.__init__(self, tlib, name, **info)
        self._sorc_type = None
        self._sorc_name = None

        sorc = info.get('source')

        if sorc is not None:
            parts = sorc.split(',')
            if len(parts) != 2:
                raise s_common.BadInfoValu(name='source', valu=sorc, mesg='expected source=<name>,<type>')

            self._sorc_name = parts[0]
            self._sorc_type = parts[1]
示例#4
0
文件: types.py 项目: TrentNow/synapse
    def _get_fields(self):

        if self.fields is None:

            self.fields = []

            # maintain legacy "fields=" syntax for a bit yet...
            fields = self.info.get('fields')
            if fields is not None:
                if fields:
                    for part in fields.split('|'):
                        fname, ftype = part.split(',')
                        fitem = self.tlib.getTypeInst(ftype)
                        if self.prop:
                            _fitem = self._getPropType(ftype)
                            if _fitem:
                                fitem = _fitem
                        self.fields.append((fname, fitem))

                return self.fields

            # process names= and types= info fields
            fnames = []
            ftypes = []

            fnstr = self.info.get('names')
            if fnstr:
                fnames.extend(fnstr.split(','))

            ftstr = self.info.get('types', '')
            if ftstr:
                ftypes.extend(ftstr.split(','))

            self.flen = len(ftypes)

            if len(fnames) != self.flen:
                raise s_common.BadInfoValu(name='types',
                                           valu=ftstr,
                                           mesg='len(names) != len(types)')

            for i in range(self.flen):
                item = self.tlib.getTypeInst(ftypes[i])
                self.fields.append((fnames[i], item))

        return self.fields
示例#5
0
def _ctor_axon(opts):
    '''
    A function to allow terse/clean construction of an axon from a dmon ctor.

    Args:
        opts (dict): Options dictionary used to make the Axon object. Requires a "datadir" value.

    Returns:
        Axon: Axon created with the opts.

    Raises:
        BadInfoBalu: If the "datadir" value is missing from opts.
    '''
    datadir = opts.pop('datadir', None)
    if datadir is None:
        raise s_common.BadInfoValu(
            name='datadir',
            valu=None,
            mesg='axon ctor requires "datadir":<path> option')

    return Axon(datadir, **opts)