Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/md5sum.py @ 5197:55860a45bbf2
Enable demandimport only in scripts, not in importable modules (issue605)
This way other applications can choose if and when they want this feature,
because it might be problematic if those applications rely on ImportError.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Sat, 18 Aug 2007 11:37:08 +0200 |
parents | 306055f5b65c |
children |
rev | line source |
---|---|
4122
306055f5b65c
Unified #! paths for python scripts and removed them for test modules.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3215
diff
changeset
|
1 #!/usr/bin/env python |
1928
50e1c90b0fcf
clarify license on md5sum.py
Peter van Dijk <peter@dataloss.nl>
parents:
1924
diff
changeset
|
2 # |
50e1c90b0fcf
clarify license on md5sum.py
Peter van Dijk <peter@dataloss.nl>
parents:
1924
diff
changeset
|
3 # Based on python's Tools/scripts/md5sum.py |
50e1c90b0fcf
clarify license on md5sum.py
Peter van Dijk <peter@dataloss.nl>
parents:
1924
diff
changeset
|
4 # |
50e1c90b0fcf
clarify license on md5sum.py
Peter van Dijk <peter@dataloss.nl>
parents:
1924
diff
changeset
|
5 # This software may be used and distributed according to the terms |
50e1c90b0fcf
clarify license on md5sum.py
Peter van Dijk <peter@dataloss.nl>
parents:
1924
diff
changeset
|
6 # of the PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2, which is |
50e1c90b0fcf
clarify license on md5sum.py
Peter van Dijk <peter@dataloss.nl>
parents:
1924
diff
changeset
|
7 # GPL-compatible. |
50e1c90b0fcf
clarify license on md5sum.py
Peter van Dijk <peter@dataloss.nl>
parents:
1924
diff
changeset
|
8 |
1924
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
9 import sys |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
10 import os |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
11 import md5 |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
12 |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
13 for filename in sys.argv[1:]: |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
14 try: |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
15 fp = open(filename, 'rb') |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
16 except IOError, msg: |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
17 sys.stderr.write('%s: Can\'t open: %s\n' % (filename, msg)) |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
18 sys.exit(1) |
3215
53e843840349
Whitespace/Tab cleanup
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1928
diff
changeset
|
19 |
1924
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
20 m = md5.new() |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
21 try: |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
22 while 1: |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
23 data = fp.read(8192) |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
24 if not data: |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
25 break |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
26 m.update(data) |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
27 except IOError, msg: |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
28 sys.stderr.write('%s: I/O error: %s\n' % (filename, msg)) |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
29 sys.exit(1) |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
30 sys.stdout.write('%s %s\n' % (m.hexdigest(), filename)) |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
31 |
46fb38ef9a91
add md5sum.py required by fix in previous changeset
Peter van Dijk <peter@dataloss.nl>
parents:
diff
changeset
|
32 sys.exit(0) |