jvr | 45d1f3b | 2008-03-01 11:34:54 +0000 | [diff] [blame] | 1 | import sys |
| 2 | try: |
| 3 | import MacOS |
| 4 | except ImportError: |
| 5 | MacOS = None |
| 6 | |
| 7 | def _reverseString(s): |
| 8 | s = list(s) |
| 9 | s.reverse() |
| 10 | return "".join(s) |
| 11 | |
| 12 | |
| 13 | def getMacCreatorAndType(path): |
| 14 | if MacOS is not None: |
| 15 | fileCreator, fileType = MacOS.GetCreatorAndType(path) |
| 16 | if sys.byteorder == "little": |
| 17 | # work around bug in MacOS.GetCreatorAndType() on intel: |
| 18 | # http://bugs.python.org/issue1594 |
| 19 | fileCreator = _reverseString(fileCreator) |
| 20 | fileType = _reverseString(fileType) |
| 21 | return fileCreator, fileType |
| 22 | else: |
| 23 | return None, None |
| 24 | |
| 25 | |
| 26 | def setMacCreatorAndType(path, fileCreator, fileType): |
| 27 | if MacOS is not None: |
| 28 | if sys.byteorder == "little": |
| 29 | # work around bug in MacOS.SetCreatorAndType() on intel: |
| 30 | # http://bugs.python.org/issue1594 |
| 31 | fileCreator = _reverseString(fileCreator) |
| 32 | fileType = _reverseString(fileType) |
| 33 | MacOS.SetCreatorAndType(path, fileCreator, fileType) |