Exemple #1
0
 def test_semver(self):
     self.assertTrue(is_valid_verion("0.0.1"))
     self.assertTrue(is_valid_verion("1.1.1-beta"))
     self.assertTrue(is_valid_verion("1.1.1-beta+compile10"))
     self.assertFalse(is_valid_verion("1.0.1.0"))
     self.assertFalse(is_valid_verion("v2.19.10"))
     self.assertTrue(is_match_appversion())
     self.assertTrue(is_match_appversion(VER))
     self.assertFalse(is_match_appversion("<{}".format(VER)))
     self.assertFalse(is_match_appversion(">{}".format(VER)))
     self.assertTrue(is_match_appversion(">={}".format(VER)))
     self.assertTrue(is_match_appversion("<={}".format(VER)))
     self.assertTrue(is_match_appversion("=={}".format(VER)))
     self.assertFalse(is_match_appversion("!={}".format(VER)))
Exemple #2
0
 def __scan_third(self):
     if self.__third_hooks and isinstance(self.__third_hooks, list):
         for hn in self.__third_hooks:
             #: hn: the name of the hook module that can be imported
             if hn in modules:
                 hm = modules[hn]
                 if getattr(hm, '__mtime__', 0) < getmtime(
                         self.__get_fileorparent(hm)):
                     del modules[hn]
             try:
                 ho = __import__(hn)
             except ImportError as e:
                 logger.error(e, exc_info=True)
                 continue
             if hasattr(ho, "__version__") and hasattr(ho, "__author__"):
                 #: 语义化版本号
                 if not is_valid_verion(ho.__version__):
                     warnings.warn("%s: irregular version number" % hn)
                     continue
                 #: 匹配扩展要求的应用版本
                 appversion = getattr(ho, "__appversion__", None)
                 if not is_match_appversion(appversion):
                     warnings.warn(
                         "%s: app version number does not match for %s" %
                         (hn, appversion))
                     continue
                 ho.__mtime__ = getmtime(self.__get_fileorparent(ho))
                 ho.__family__ = "third"
                 self.__hooks[hn] = self.__get_meta(ho)