def _convert_to_bisect_arg()

in mozregression/cli.py [0:0]


    def _convert_to_bisect_arg(self, value):
        """
        Transform a string value to a date or datetime if it looks like it.
        """
        try:
            value = parse_date(value)
        except DateFormatError:
            try:
                repo = self.options.repo
                if get_name(repo) == "mozilla-release" or (
                    not repo and re.match(r"^\d+\.\d(\.\d)?$", value)
                ):
                    new_value = tag_of_release(value)
                    if not repo:
                        self.logger.info("Assuming repo mozilla-release")
                        self.fetch_config.set_repo("mozilla-release")
                    self.logger.info("Using tag %s for release %s" % (new_value, value))
                    value = new_value
                elif get_name(repo) == "mozilla-beta" or (
                    not repo and re.match(r"^\d+\.0b\d+$", value)
                ):
                    new_value = tag_of_beta(value)
                    if not repo:
                        self.logger.info("Assuming repo mozilla-beta")
                        self.fetch_config.set_repo("mozilla-beta")
                    self.logger.info("Using tag %s for release %s" % (new_value, value))
                    value = new_value
                else:
                    new_value = parse_date(date_of_release(value))
                    self.logger.info("Using date %s for release %s" % (new_value, value))
                    value = new_value
            except UnavailableRelease:
                self.logger.info("%s is not a release, assuming it's a hash..." % value)
        return value