コード例 #1
0
ファイル: repo.py プロジェクト: riverfor/dulwich
 def _get_object(self, sha, cls):
     assert len(sha) in (20, 40)
     ret = self.get_object(sha)
     if not isinstance(ret, cls):
         if cls is Commit:
             raise NotCommitError(ret)
         elif cls is Blob:
             raise NotBlobError(ret)
         elif cls is Tree:
             raise NotTreeError(ret)
         elif cls is Tag:
             raise NotTagError(ret)
         else:
             raise Exception("Type invalid: %r != %r" % (
               ret.type_name, cls.type_name))
     return ret
コード例 #2
0
 def from_path(cls, filename):
     tag = ShaFile.from_path(filename)
     if not isinstance(tag, cls):
         raise NotTagError(filename)
     return tag