File: md5_tstamp.py

package info (click to toggle)
pugl 0~svn32%2Bdfsg0-4
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 1,960 kB
  • sloc: python: 15,116; ansic: 674; cpp: 258; objc: 256; sh: 30; makefile: 22
file content (24 lines) | stat: -rw-r--r-- 714 bytes parent folder | download | duplicates (26)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#! /usr/bin/env python
# encoding: utf-8
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file

import os,stat
from waflib import Utils,Build,Node
STRONGEST=True
Build.SAVED_ATTRS.append('hashes_md5_tstamp')
def h_file(self):
	filename=self.abspath()
	st=os.stat(filename)
	cache=self.ctx.hashes_md5_tstamp
	if filename in cache and cache[filename][0]==st.st_mtime:
		return cache[filename][1]
	if STRONGEST:
		ret=Utils.h_file(filename)
	else:
		if stat.S_ISDIR(st[stat.ST_MODE]):
			raise IOError('Not a file')
		ret=Utils.md5(str((st.st_mtime,st.st_size)).encode()).digest()
	cache[filename]=(st.st_mtime,ret)
	return ret
h_file.__doc__=Node.Node.h_file.__doc__
Node.Node.h_file=h_file