author | Danek Duvall <danek.duvall@sun.com> |
Mon, 17 Sep 2007 10:03:20 -0700 | |
changeset 108 | fd206aa1dfcb |
parent 46 | 86a10bea7bb6 |
child 119 | 537d69114be4 |
permissions | -rw-r--r-- |
46
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
1 |
#!/usr/bin/python |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
2 |
# |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
3 |
# CDDL HEADER START |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
4 |
# |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
5 |
# The contents of this file are subject to the terms of the |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
6 |
# Common Development and Distribution License (the "License"). |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
7 |
# You may not use this file except in compliance with the License. |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
8 |
# |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
9 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
10 |
# or http://www.opensolaris.org/os/licensing. |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
11 |
# See the License for the specific language governing permissions |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
12 |
# and limitations under the License. |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
13 |
# |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
14 |
# When distributing Covered Code, include this CDDL HEADER in each |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
15 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
16 |
# If applicable, add the following below this CDDL HEADER, with the |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
17 |
# fields enclosed by brackets "[]" replaced with your own identifying |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
18 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
19 |
# |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
20 |
# CDDL HEADER END |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
21 |
# |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
22 |
|
108
fd206aa1dfcb
Change the file hashing chunking scheme to work on UFS.
Danek Duvall <danek.duvall@sun.com>
parents:
46
diff
changeset
|
23 |
# |
46
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
24 |
# Copyright 2007 Sun Microsystems, Inc. All rights reserved. |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
25 |
# Use is subject to license terms. |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
26 |
# |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
27 |
|
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
28 |
def hash_file_name(f): |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
29 |
"""Return the two-level path fragment for the given filename, which is |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
30 |
assumed to be a content hash of at least 8 distinct characters.""" |
108
fd206aa1dfcb
Change the file hashing chunking scheme to work on UFS.
Danek Duvall <danek.duvall@sun.com>
parents:
46
diff
changeset
|
31 |
return "%s/%s/%s" % (f[0:2], f[2:8], f) |
46
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
32 |
|
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
33 |
if __name__ == "__main__": |
86a10bea7bb6
commonize file/ prefix handling; sketch manifest difference algorithm
Stephen Hahn <sch@sun.com>
parents:
diff
changeset
|
34 |
print hash_file_name("abcdefghijklmnopqrstuvwxyz") |