Пример #1
0
def get_hash (repo_rorp):
	""" Try to get a sha1 digest from the repository.  If hardlinks 
	are saved in the metadata, get the sha1 from the first hardlink """
	Hardlink.add_rorp(repo_rorp)
	if Hardlink.islinked(repo_rorp):
		verify_sha1 = Hardlink.get_sha1(repo_rorp)
	elif repo_rorp.has_sha1():
		verify_sha1 = repo_rorp.get_sha1()
	else:
		verify_sha1 = None
	Hardlink.del_rorp(repo_rorp)
	return verify_sha1
Пример #2
0
	def get_one_sig(cls, dest_base_rpath, index, src_rorp, dest_rorp):
		"""Return a signature given source and destination rorps"""
		if (Globals.preserve_hardlinks and src_rorp and
			Hardlink.islinked(src_rorp)):
			dest_sig = rpath.RORPath(index)
			dest_sig.flaglinked(Hardlink.get_link_index(src_rorp))
		elif dest_rorp:
			dest_sig = dest_rorp.getRORPath()
			if dest_rorp.isreg():
				dest_rp = longname.get_mirror_rp(dest_base_rpath, dest_rorp)
				sig_fp = cls.get_one_sig_fp(dest_rp)
				if sig_fp is None: return None
				dest_sig.setfile(sig_fp)
		else: dest_sig = rpath.RORPath(index)
		return dest_sig