Mercurial > dotfiles
comparison unixSoft/bin/apply-patchbomb @ 521:6cc5a0550281
tools: port hg utility scripts to python 3
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Thu, 14 Jul 2022 14:09:04 -0400 |
parents | 0b8457903012 |
children |
comparison
equal
deleted
inserted
replaced
520:9af1fc9b713c | 521:6cc5a0550281 |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/env python |
2 # shebang for system python explicitly so we're sure to have pyobjc and | 2 # shebang for system python explicitly so we're sure to have pyobjc and |
3 # the scripting bridge. | 3 # the scripting bridge. |
4 """apply-patchbomb: apply selected messages in Mail.app to an hg repo in pwd. | 4 """apply-patchbomb: apply selected messages in Mail.app to an hg repo in pwd. |
5 | 5 |
6 This uses the scripting bridge to talk to Mail and subprocess to pass the | 6 This uses the scripting bridge to talk to Mail and subprocess to pass the |
16 mail = ScriptingBridge.SBApplication.applicationWithBundleIdentifier_( | 16 mail = ScriptingBridge.SBApplication.applicationWithBundleIdentifier_( |
17 'com.apple.Mail') | 17 'com.apple.Mail') |
18 messages = list(sorted(mail.selection(), | 18 messages = list(sorted(mail.selection(), |
19 cmp=lambda x,y: cmp(x.subject(), y.subject()))) | 19 cmp=lambda x,y: cmp(x.subject(), y.subject()))) |
20 for m in messages: | 20 for m in messages: |
21 print 'Applying', m.subject() | 21 print('Applying', m.subject()) |
22 p = subprocess.Popen(['hg', 'import', '--obsolete', '-'], stdin=subprocess.PIPE) | 22 p = subprocess.Popen(['hg', 'import', '--obsolete', '-'], stdin=subprocess.PIPE) |
23 p.stdin.write(m.source()) | 23 p.stdin.write(m.source()) |
24 p.stdin.close() | 24 p.stdin.close() |
25 if p.wait() != 0: | 25 if p.wait() != 0: |
26 print 'hg import failed, bailing' | 26 print('hg import failed, bailing') |
27 return 2 | 27 return 2 |
28 return 0 | 28 return 0 |
29 | 29 |
30 if __name__ == '__main__': | 30 if __name__ == '__main__': |
31 sys.exit(main()) | 31 sys.exit(main()) |