Esempio n. 1
0
    def __init__(self,
                 _identifier,
                 _source,
                 command,
                 protocol=None,
                 label=None,
                 version=None,
                 tags=None,
                 **kwargs):
        self._identifier = _identifier
        self._source = _source
        self._command = command
        self._protocol = protocol
        self._label = label if label is not None else _identifier
        self._version = to_string(version) if not version is None else None
        self._envvars, args = Tracker._collect_envvars(**kwargs)
        self._metadata, args = Tracker._collect_metadata(**args)
        self._arguments, self._args = Tracker._collect_arguments(**args)

        if tags is None:
            self._tags = []
        elif isinstance(tags, str):
            self._tags = tags.split(",")
        self._tags = [tag.strip() for tag in self._tags]
        self._tags = [tag for tag in self._tags if is_valid_identifier(tag)]

        if not self._version is None and not self._version.isalnum():
            raise TrackerException("Illegal version format", tracker=self)
Esempio n. 2
0
    def write(self, results: Results, name: str):

        with results.write(name + ".txt") as fp:
            write_file(fp, self._regions)

        for k, v in self._properties.items():
            with results.write(name + "_" + k + ".value") as fp:
                fp.writelines([to_string(e) + "\n" for e in v])