Ejemplo n.º 1
0
Archivo: stage.py Proyecto: vernt/dvc
    def changed(self, print_info=False):
        ret = False

        if print_info:
            log = self.project.logger.info
        else:
            log = self.project.logger.debug

        if not self.locked:
            ret = self._changed_deps(print_info, log)

        for out in self.outs:
            if not out.changed():
                continue
            if print_info:
                msg = "Output '{}' of '{}' changed."
                log(msg.format(out, self.relpath))
            ret = True

        if self.changed_md5():
            if print_info:
                msg = "Dvc file '{}' changed."
                log(msg.format(self.relpath))
            ret = True

        if ret:
            msg = "Stage '{}' changed.".format(self.relpath)
            color = 'yellow'
        else:
            msg = "Stage '{}' didn't change.".format(self.relpath)
            color = 'green'

        log(Logger.colorize(msg, color))

        return ret
Ejemplo n.º 2
0
    def changed(self, print_info=False):
        ret = False

        if print_info:
            log = self.project.logger.info
        else:
            log = self.project.logger.debug

        if self.is_callback:
            msg = "Dvc file '{}' is a 'callback' stage (has a command and " \
                  "no dependencies) and thus always considered as changed."
            self.project.logger.warn(msg.format(self.relpath))
            ret = True

        if not self.locked:
            for dep in self.deps:
                if not dep.changed():
                    continue
                if print_info:
                    msg = "Dependency '{}' of '{}' changed."
                    log(msg.format(dep, self.relpath))
                ret = True

        for out in self.outs:
            if not out.changed():
                continue
            if print_info:
                msg = "Output '{}' of '{}' changed."
                log(msg.format(out, self.relpath))
            ret = True

        if self.changed_md5():
            if print_info:
                msg = "Dvc file '{}' changed."
                log(msg.format(self.relpath))
            ret = True

        if ret:
            msg = "Stage '{}' changed.".format(self.relpath)
            color = 'yellow'
        else:
            msg = "Stage '{}' didn't change.".format(self.relpath)
            color = 'green'

        log(Logger.colorize(msg, color))

        return ret
Ejemplo n.º 3
0
    def changed(self, print_info=False):
        if print_info:
            log = self.project.logger.info
        else:
            log = self.project.logger.debug

        ret = any([self._changed_deps(log),
                   self._changed_outs(log),
                   self._changed_md5(log)])

        if ret:
            msg = "Stage '{}' changed.".format(self.relpath)
            color = 'yellow'
        else:
            msg = "Stage '{}' didn't change.".format(self.relpath)
            color = 'green'

        log(Logger.colorize(msg, color))

        return ret
Ejemplo n.º 4
0
 def test_colorize(self):
     for name, color in Logger.COLOR_MAP.items():
         msg = Logger.colorize(name, name)
         # This is not a tty, so it should not colorize anything
         self.assertEqual(msg, name)