My favorites | Sign in
Project Logo
                
Details: Show all Hide all

Last 30 days

  • Dec 10, 2009
    issue 3 (applescript fails when interacting with GUI app) commented on by r0ssar00   -   One more comment about this: I had been running the applescript as an application, saved as an app bundle with LSUIElement=true, so that it would pick up on the right context because the open command figures that out. It caused a nasty old-style pinwheel every so often so I switched back over to osascript. Immediately, I hit the same context problem that was supposed to be fixed by -S Aqua. I fixed it by calling my script like this: "sudo /bin/launchctl bsexec $PIDOFITUNES /usr/bin/osascript /path/to/script.scpt". I really don't like running it with sudo but that's the only way launchctl's bsexec will work. Maybe something tricky might have to be done? It might be that context switches of this nature are strictly limited to root, I've never developed anything that low level so I don't really know.
    One more comment about this: I had been running the applescript as an application, saved as an app bundle with LSUIElement=true, so that it would pick up on the right context because the open command figures that out. It caused a nasty old-style pinwheel every so often so I switched back over to osascript. Immediately, I hit the same context problem that was supposed to be fixed by -S Aqua. I fixed it by calling my script like this: "sudo /bin/launchctl bsexec $PIDOFITUNES /usr/bin/osascript /path/to/script.scpt". I really don't like running it with sudo but that's the only way launchctl's bsexec will work. Maybe something tricky might have to be done? It might be that context switches of this nature are strictly limited to root, I've never developed anything that low level so I don't really know.
  • Dec 10, 2009
    issue 3 (applescript fails when interacting with GUI app) commented on by r0ssar00   -   I had been running it as an agent but I don't think I had the session type set at all. I set the session type to Aqua and reloaded the plist, everything worked great. You can close this issue. It would probably be a good idea to make a note of this in the README or add -S Aqua to the install script's launchctl load.
    I had been running it as an agent but I don't think I had the session type set at all. I set the session type to Aqua and reloaded the plist, everything worked great. You can close this issue. It would probably be a good idea to make a note of this in the README or add -S Aqua to the install script's launchctl load.
  • Dec 10, 2009
    issue 3 (applescript fails when interacting with GUI app) commented on by adamsc   -   I'll have to check but I'm fairly certain that this would require running in a WindowServer context - how are you running crankd? I think if it's set up as a launch agent and the session type is "aqua" you should be able to do this. Otherwise we might need something tricky.
    I'll have to check but I'm fairly certain that this would require running in a WindowServer context - how are you running crankd? I think if it's set up as a launch agent and the session type is "aqua" you should be able to do this. Otherwise we might need something tricky.
  • Dec 10, 2009
    issue 2 (crankd doesn't handle nsdistributednotifications, now it doe...) commented on by r0ssar00   -   edit: remove the line containing "del RELAUNCH_IDS[event]" otherwise the appdidlaunch event will be lost
    edit: remove the line containing "del RELAUNCH_IDS[event]" otherwise the appdidlaunch event will be lost
  • Dec 10, 2009
    issue 3 (applescript fails when interacting with GUI app) reported by r0ssar00   -   What steps will reproduce the problem? 1. Call applescript that does "tell application xyz" (where xyz is a GUI application) from a handler. crankd must be running via launchd. What is the expected output? What do you see instead? Expected Output: result from applescript Actual Output: applescript fails because it doesn't have a connection to WindowServer What version of the product are you using? On what operating system? Version: current posted version OS: 10.5.8 Please provide any additional information below. As a work-around, I've wrapped crankd in a Platypus app that runs on login after 30 seconds. Is it possible for crankd to obtain the proper WindowServer handle from launchd/somewhere and execute in that context? I don't even know where to start (patch-wise) if it is possible so I can't really help with this (except testing).
    What steps will reproduce the problem? 1. Call applescript that does "tell application xyz" (where xyz is a GUI application) from a handler. crankd must be running via launchd. What is the expected output? What do you see instead? Expected Output: result from applescript Actual Output: applescript fails because it doesn't have a connection to WindowServer What version of the product are you using? On what operating system? Version: current posted version OS: 10.5.8 Please provide any additional information below. As a work-around, I've wrapped crankd in a Platypus app that runs on login after 30 seconds. Is it possible for crankd to obtain the proper WindowServer handle from launchd/somewhere and execute in that context? I don't even know where to start (patch-wise) if it is possible so I can't really help with this (except testing).
  • Dec 10, 2009
    issue 2 (crankd doesn't handle nsdistributednotifications, now it doe...) reported by r0ssar00   -   I have GeekTool installed(v3 is applescriptable. In particular, you can tell it to refresh certain geeklets, allowing one to update a geeklet on an event supported by crankd) and I wanted a way to avoid polling for iTunes track information because that drained my macbook's battery pretty quickly so I took a look at crankd. I quickly realized that it didn't support NSDistributedNotifications so I wrote in support for that particular notification type. When the initial patch was finished, I discovered that there might be a quirk(maybe this "quirk" is by design, I don't know) with the way the NSDistributedNotificationCenter handles an application launch/quit. I found that if you're subscribed to an event and the application emitting that event quits and subsequently relaunches, the handler will never be called again. I wrote another patch to fix this problem. It adds a config option for NSDistrbutedNotifications, process, that tells crankd to subscribe to ApplicationDidLaunch events with a special handler, do_reload. When an application is launched, the do_reload handler is called and checks the process name against the config option. If they match, the DistNotification is reloaded and hence the handler is valid once again. This handler won't replace any existing appdidlaunch events. The patched version of crankd is attached to this issue with changes marked by the comment "# distnot patch: change" (where change is what was added). FYI: All spaces were converted to tabs. btw, I wanted to take this opportunity to thank you for crankd, it's been working amazingly well for me :D.
    I have GeekTool installed(v3 is applescriptable. In particular, you can tell it to refresh certain geeklets, allowing one to update a geeklet on an event supported by crankd) and I wanted a way to avoid polling for iTunes track information because that drained my macbook's battery pretty quickly so I took a look at crankd. I quickly realized that it didn't support NSDistributedNotifications so I wrote in support for that particular notification type. When the initial patch was finished, I discovered that there might be a quirk(maybe this "quirk" is by design, I don't know) with the way the NSDistributedNotificationCenter handles an application launch/quit. I found that if you're subscribed to an event and the application emitting that event quits and subsequently relaunches, the handler will never be called again. I wrote another patch to fix this problem. It adds a config option for NSDistrbutedNotifications, process, that tells crankd to subscribe to ApplicationDidLaunch events with a special handler, do_reload. When an application is launched, the do_reload handler is called and checks the process name against the config option. If they match, the DistNotification is reloaded and hence the handler is valid once again. This handler won't replace any existing appdidlaunch events. The patched version of crankd is attached to this issue with changes marked by the comment "# distnot patch: change" (where change is what was added). FYI: All spaces were converted to tabs. btw, I wanted to take this opportunity to thank you for crankd, it's been working amazingly well for me :D.

Older

  • Oct 29, 2009
    Revision 8e1d8cc1dd (Working copy of crankd.py. Shifted shebang to be explicit. P...) pushed by nigel.kersten   -   Working copy of crankd.py. Shifted shebang to be explicit. Patches welcome
    Working copy of crankd.py. Shifted shebang to be explicit. Patches welcome
  • Aug 19, 2009
    r41 (Created static crankd_refactor branch) committed by adamsc   -   Created static crankd_refactor branch
    Created static crankd_refactor branch
  • Aug 19, 2009
    r40 (Backport from Hg ) committed by adamsc   -   Backport from Hg
    Backport from Hg
  • Aug 15, 2009
    2 new revisions pushed by adamsc   -   Revision 1ff95506ad:Simplified import logic: non-default config file paths will be added to the python path, allowing everything to be in one directory Revision a709df4b93:Added a basic .hgignore
    Revision 1ff95506ad:Simplified import logic: non-default config file paths will be added to the python path, allowing everything to be in one directory Revision a709df4b93:Added a basic .hgignore
  • Aug 15, 2009
    Revision ef2bce78c7 (Added a simple FSEvents example) pushed by adamsc   -   Added a simple FSEvents example
    Added a simple FSEvents example
  • Jul 17, 2009
    Revision 1c20cc599a (Merge of distribution work into default) pushed by adamsc   -   Merge of distribution work into default
    Merge of distribution work into default
  • Jul 17, 2009
    2 new revisions pushed by adamsc   -   Revision c330de258d:Initial merge of the older crankd_refactor branch Revision d1fcfe3646:Remerge of the setup tools work
    Revision c330de258d:Initial merge of the older crankd_refactor branch Revision d1fcfe3646:Remerge of the setup tools work
  • Jul 16, 2009
    119 new revisions pushed by adamsc   -   Revision ac69809cad:Initial directory structure. git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@1 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 88fa85a8f4:Checkin of kicker-replacement from my personal repository. At this point it supports SystemConfiguration notifications, NSWorkspace notifications and FSEvents with actions being shell scripts and Python functions or objects. Beyond better help and some improved command-line options (e.g. adding simple events) the next major area will be expanded library support for common admin tasks (e.g. dealing with system/network configuration) git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@2 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision a37f5aca3d:Created a proxy-setenv.py utility which can be eval-ed to set the shell http_proxy/ftp_proxy variables based on the current SystemConfiguration settings Created a set-proxy.py utility which allows you to manipulate the system configuration from the command-line Started the utility library off with PyMacAdmin.SCUtilities.SCPreferences, which simplifies the process of editing SystemConfiguration preferences. Currently supports only the proxy settings, as used by set-proxy.py git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@3 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 3126e38f51:Fixed a bug in add_fs_notifications More consistent whitespace git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@4 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision c38b6193d4:sys.argv[0] is now run to through os.path.realpath() to avoid problems with relative paths on restart if anything changes the current working directory git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@5 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 7a884d6ea2:Fixed a bug in SCPreferences which caused the proxy port to be written out as a string rather than an integer. This breaks System Preferences Added an example for selectively enabling or disabling a local SOCKS proxy git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@6 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 73fb8d295e:Updated to disable the timer callback debug message to avoid excessive logging Changed SCPreferences to remove manual locking as per the SystemConfiguration docs Changed ProxyManager to get a SCPreferences object in network_changed since sessions will become invalid Updated kicker_replacement to use os.path.realpath() when checking module updates to handle the case where a file is symlinked Updated kicker_replacement to trap exceptions when checking for updates so a file which was deleted (e.g. rm *.pyc) will cause a restart rather than simply crashing git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@7 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision fd79b18826:Added example NSWorkspace notification messages to --list output Updated ProxyManager to ignore extra parameters git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@8 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision f0cb0e227b:Minor tweaks for the WWDC08 demo git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@9 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 676731b39d:Added an example for accessing the keychain framework from within Python git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@10 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 7728ab9238:Initial checkin of unit testing mechanism for Mac OS X image candidates git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@11 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision e9d7f5416c:kicker-replacment has been renamed to crankd Updated the socks-proxy demo to include instructions, better named config files and a sample OpenSSH Dynamic Proxy launchagent git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@12 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 1ec7b84583:Moved the documentation to the wiki git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@14 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision d656bed3b3:Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@16 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 187041bb36:Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@17 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 86e6aee63a:Import missing constants and correct the notification center call git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@18 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 3b5cb6525c:Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway? git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@19 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision ad73f20b86:Reduce logging under normal conditions for crankd when external scripts exit zero git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@20 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 753c46d568:Fix problem with egg installs which aren't a directory... git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@21 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 41c358042e:Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@25 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 3539642b97:Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@26 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 15f74f5a44:Minor PEP-8 cleanup git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@27 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision dce193c56c:Checkin of kicker-replacement from my personal repository. At this point it supports SystemConfiguration notifications, NSWorkspace notifications and FSEvents with actions being shell scripts and Python functions or objects. Beyond better help and some improved command-line options (e.g. adding simple events) the next major area will be expanded library support for common admin tasks (e.g. dealing with system/network configuration) git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@2 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision d0f4448bcf:Created a proxy-setenv.py utility which can be eval-ed to set the shell http_proxy/ftp_proxy variables based on the current SystemConfiguration settings Created a set-proxy.py utility which allows you to manipulate the system configuration from the command-line Started the utility library off with PyMacAdmin.SCUtilities.SCPreferences, which simplifies the process of editing SystemConfiguration preferences. Currently supports only the proxy settings, as used by set-proxy.py Revision 81840e8fdc:Fixed a bug in add_fs_notifications More consistent whitespace Revision 7d460e9792:sys.argv[0] is now run to through os.path.realpath() to avoid problems with relative paths on restart if anything changes the current working directory Revision c0b73fefc8:Fixed a bug in SCPreferences which caused the proxy port to be written out as a string rather than an integer. This breaks System Preferences Added an example for selectively enabling or disabling a local SOCKS proxy Revision e237bea0ad:Updated to disable the timer callback debug message to avoid excessive logging Changed SCPreferences to remove manual locking as per the SystemConfiguration docs Changed ProxyManager to get a SCPreferences object in network_changed since sessions will become invalid Updated kicker_replacement to use os.path.realpath() when checking module updates to handle the case where a file is symlinked Updated kicker_replacement to trap exceptions when checking for updates so a file which was deleted (e.g. rm *.pyc) will cause a restart rather than simply crashing Revision f2aece0199:Added example NSWorkspace notification messages to --list output Updated ProxyManager to ignore extra parameters Revision 7e00701a22:Minor tweaks for the WWDC08 demo Revision 8ff0924774:Added an example for accessing the keychain framework from within Python Revision cc0e31de95:Initial checkin of unit testing mechanism for Mac OS X image candidates committer: Chris Adams <chris@improbable.org> Revision 51ecaa34ee:kicker-replacment has been renamed to crankd Updated the socks-proxy demo to include instructions, better named config files and a sample OpenSSH Dynamic Proxy launchagent Revision 764a355dcc:Moved the documentation to the wiki Revision b6af426f8f:Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint Revision 1541fc9b29:Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently Revision 5fc4566a5e:Import missing constants and correct the notification center call committer: Chris Adams <chris@improbable.org> Revision 81d65527d8:Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway? committer: Chris Adams <chris@improbable.org> Revision c632081fa5:Reduce logging under normal conditions for crankd when external scripts exit zero committer: Chris Adams <chris@improbable.org> Revision c27566b815:Fix problem with egg installs which aren't a directory... committer: Chris Adams <chris@improbable.org> Revision 4479fb3679:Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update Revision 9ee552eeb2:Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file Revision fa3b7cdd72:Minor PEP-8 cleanup Revision ba25045806:Synced with upstream Google Code SVN Revision e3f49633c3:Import of wtfUpdate.py Revision 649cd6badb:Minor reliability tweaks No longer crash when called with a file which contains no SUDescription.html A top-level Bom file will be included Revision 7b4dea935e:Switched to jQuery * Updated to use jQuery to avoid external file dependencies - we can now load using only the local file and the Google CDN * Added descendent counts for list branches Revision a0dd2ba458:HTML Generation Rewrite HTML generation is now done entirely using BeautifulSoup, which avoids encoding issues or the need to manually worry about closing tags. The page is largely contained in wtfUpdate.html, which can independently be developed as a standalone file - Tag.find is used to locate elements by id (#description, #files, #scripts) and populate them The BOM processing logic has been reimplemented as a recursive function PEP-8 changes: function and variable Pervasive use of subprocess for calling external programs, which means return codes are now handled CSS tweaks jQuery tweaks: <pre> tags are now easily toggleable to make large scripts easier to deal with and each top-level list now has an expand/collapse-all toggle. Revision 907d7eb830:Updated run_image_tests.py, added example tests. run_image_tests.py: * use optparse. * Added several more command line options. * Tests now must be descended from macdmgtest.DMGUnitTest macdmgtest.py: * Provides convenience methods for divining the true path of paths relative to the dmg mount point, whether a given file path exists on the dmg. * Provides convenience method to get paths to config files needed by tests. tests/*_test.py: Example tests that are generic enough to be useful to people outside google. Signed-off-by: Chris Adams <chris@improbable.org> committer: Chris Adams <chris@improbable.org> Revision 2455dc676f:set-proxy bugfix for --disable The old logic prevented --disable from working if you hadn't specified a servername Revision ae2340b2fd:Checkin of kicker-replacement from my personal repository. At this point it supports SystemConfiguration notifications, NSWorkspace notifications and FSEvents with actions being shell scripts and Python functions or objects. Beyond better help and some improved command-line options (e.g. adding simple events) the next major area will be expanded library support for common admin tasks (e.g. dealing with system/network configuration) Revision a5f2cabbd5:Created a proxy-setenv.py utility which can be eval-ed to set the shell http_proxy/ftp_proxy variables based on the current SystemConfiguration settings Created a set-proxy.py utility which allows you to manipulate the system configuration from the command-line Started the utility library off with PyMacAdmin.SCUtilities.SCPreferences, which simplifies the process of editing SystemConfiguration preferences. Currently supports only the proxy settings, as used by set-proxy.py Revision ca02f07238:Fixed a bug in add_fs_notifications More consistent whitespace Revision 13ef0c5585:sys.argv[0] is now run to through os.path.realpath() to avoid problems with relative paths on restart if anything changes the current working directory Revision 2d0154173e:Fixed a bug in SCPreferences which caused the proxy port to be written out as a string rather than an integer. This breaks System Preferences Added an example for selectively enabling or disabling a local SOCKS proxy Revision f091e78be4:Updated to disable the timer callback debug message to avoid excessive logging Changed SCPreferences to remove manual locking as per the SystemConfiguration docs Changed ProxyManager to get a SCPreferences object in network_changed since sessions will become invalid Updated kicker_replacement to use os.path.realpath() when checking module updates to handle the case where a file is symlinked Updated kicker_replacement to trap exceptions when checking for updates so a file which was deleted (e.g. rm *.pyc) will cause a restart rather than simply crashing Revision b21e769afe:Added example NSWorkspace notification messages to --list output Updated ProxyManager to ignore extra parameters Revision 2a24704548:Minor tweaks for the WWDC08 demo Revision 82040424dc:Added an example for accessing the keychain framework from within Python Revision 8e9d6df53a:Initial checkin of unit testing mechanism for Mac OS X image candidates Revision fd3b3c6311:kicker-replacment has been renamed to crankd Updated the socks-proxy demo to include instructions, better named config files and a sample OpenSSH Dynamic Proxy launchagent Revision 0dbec4d3d2:Moved the documentation to the wiki Revision f66b1da0f4:Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint Revision 75b9ce30ef:Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently Revision 816315ae0e:Import missing constants and correct the notification center call Revision d3faf0fee0:Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway? Revision 1a78eac150:Reduce logging under normal conditions for crankd when external scripts exit zero Revision f4f37b5e9f:Fix problem with egg installs which aren't a directory... Revision 03f65ddaf4:Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update Revision 8b2c94122c:Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file Revision 6bc8b7e244:Minor PEP-8 cleanup Revision 84d63b1cbb:Synced with upstream Google Code SVN Revision 7c01dce8ba:Import of wtfUpdate.py Revision 06af7301ae:Minor reliability tweaks No longer crash when called with a file which contains no SUDescription.html A top-level Bom file will be included Revision 1e4a00b9bc:Switched to jQuery * Updated to use jQuery to avoid external file dependencies - we can now load using only the local file and the Google CDN * Added descendent counts for list branches Revision defa5df12f:Merge branch 'master' of git@github.com:acdha/pymacadmin Syncing with upstream SVN Conflicts: bin/crankd.py bin/create-location.py bin/keychain-delete.py bin/set-proxy.py examples/socks-proxy/ProxyManager.py git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@28 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 8fb9bfe59b:HTML Generation Rewrite HTML generation is now done entirely using BeautifulSoup, which avoids encoding issues or the need to manually worry about closing tags. The page is largely contained in wtfUpdate.html, which can independently be developed as a standalone file - Tag.find is used to locate elements by id (#description, #files, #scripts) and populate them The BOM processing logic has been reimplemented as a recursive function PEP-8 changes: function and variable Pervasive use of subprocess for calling external programs, which means return codes are now handled CSS tweaks jQuery tweaks: <pre> tags are now easily toggleable to make large scripts easier to deal with and each top-level list now has an expand/collapse-all toggle. git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@29 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 10ef86eb37:Updated run_image_tests.py, added example tests. run_image_tests.py: * use optparse. * Added several more command line options. * Tests now must be descended from macdmgtest.DMGUnitTest macdmgtest.py: * Provides convenience methods for divining the true path of paths relative to the dmg mount point, whether a given file path exists on the dmg. * Provides convenience method to get paths to config files needed by tests. tests/*_test.py: Example tests that are generic enough to be useful to people outside google. Signed-off-by: Chris Adams <chris@improbable.org> git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@30 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision e7c5741547:Moved unit testing from contrib into utilities. git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@31 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision ffe77af4d0:set-proxy bugfix for --disable The old logic prevented --disable from working if you hadn't specified a servername git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@32 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 7e67eee6c2:Squashed commit of the following: commit 866bfa58161c2d0023d6f9e30cbcb32ac4f854b3 Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 15:02:16 2009 -0500 Minor cleanup Cleaned imports, whitespace, line-length, comments commit da1fe8ef4eb4945a5d5d689193138eec2cd0705e Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 14:58:30 2009 -0500 Cleanup Reorganized contrib/ into examples/ Copied the original keychain-delete which calls ctypes directly from bin to examples/ctypes/ so it can be replaced with a wrapper-based version git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@33 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 2ce555ba42:Merge branch 'master' of git@github.com:acdha/pymacadmin Revision ffcf0dda2a:Removed contrib/image_unittesting The resync w/SVN brought contrib/image_unittesting back from the dead Revision ec05d40f68:Cleanup Reorganized contrib/ into examples/ Copied the original keychain-delete which calls ctypes directly from bin to examples/ctypes/ so it can be replaced with a wrapper-based version Revision 441b56648c:Minor cleanup Cleaned imports, whitespace, line-length, comments Revision 62ade56af2:Keychain consolidation bin/keychain-delete.py now uses PyMacAdmin.Security.Keychain rather than calling ctypes directly Security.Keychain now corrects None ⇒ "" for search parameters Security.Keychain now exposes the keychain handle as a public property Revision 6463a1dd48:Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into svn_merge git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@34 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 62067e8e8f:Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves. Revision c53af689a2:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision a19b8b5bc3:Removed a redundant SCPreferencesPathCreateUniqueChild call Revision 9308ff952c:Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves. Revision 7dac754226:Fix for issue 1 where settings were incorrectly shared across locations because network services (e.g. IPv4 or IPv6) are stored as links to separate branches under /NetworkServices - before we only copied the link rather than the settings themselves. git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@35 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision f4446b8726:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision bef58f67fb:Merge branch 'master' of git@github.com:acdha/pymacadmin Revision e7585d18b6:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@36 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 3a5c7312bc:Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves. Revision ce07a07597:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision d4c5a10b2b:Merge branch 'master' of git@github.com:acdha/pymacadmin Revision aeddd61c16:Misc bugfixes reported by Clinton logging could fail if given an excessively long message. This happened primarily with the event key lists, which now use log_list() which takes the message template and keys and splits into multiple sub-1024 character messages as needed. do_shell() attempted to pass all of its parameters to subprocess.call() and broke if there was anything which didn't automatically stringify. It now looks only for two keys ("key" and "info") and sets them as CRANKD_{key.upper()} to avoid conflicts - we'll probably want to revise this list to see which other values are useful for simple scripts. Python handlers, of course, still have access to everything in native form. Added a -d/--debug option to set the default logging level and made the default file-based log level use the same value as stdout Revision 30b9e921e9:Clinton Blackmore's sample-of-events demo An example which attempts to monitor every event supported on the current system - see this mailing list thread: http://groups.google.com/group/pymacadmin/browse_thread/thread/15060f66cab0b42d class="ot-revlogs-br-2"> Revision fba5052762:(Log message clipped, see revision page for details.) Revision e007acca56:(Log message clipped, see revision page for details.) Revision 60dd8466c2:(Log message clipped, see revision page for details.) Revision 48f99d6a34:(Log message clipped, see revision page for details.) Revision eafbc33a2b:(Log message clipped, see revision page for details.) Revision 04c607bca1:(Log message clipped, see revision page for details.) Revision d9aa86bb52:(Log message clipped, see revision page for details.) Revision 5254fbad64:(Log message clipped, see revision page for details.) Revision ab54b6e12c:(Log message clipped, see revision page for details.) Revision c9f59cfa1f:(Log message clipped, see revision page for details.) Revision 99f2644d64:(Log message clipped, see revision page for details.) Revision 81d2ad80a4:(Log message clipped, see revision page for details.) Revision 3b33faf572:(Log message clipped, see revision page for details.) Revision 0740129eb3:(Log message clipped, see revision page for details.) Revision 21eed6aefe:(Log message clipped, see revision page for details.) Revision 14611f3f3c:(Log message clipped, see revision page for details.) Revision 2623c7fd6c:(Log message clipped, see revision page for details.) Revision b9ed7e1943:(Log message clipped, see revision page for details.) Revision 43009128bf:(Log message clipped, see revision page for details.)
    Revision ac69809cad:Initial directory structure. git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@1 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 88fa85a8f4:Checkin of kicker-replacement from my personal repository. At this point it supports SystemConfiguration notifications, NSWorkspace notifications and FSEvents with actions being shell scripts and Python functions or objects. Beyond better help and some improved command-line options (e.g. adding simple events) the next major area will be expanded library support for common admin tasks (e.g. dealing with system/network configuration) git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@2 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision a37f5aca3d:Created a proxy-setenv.py utility which can be eval-ed to set the shell http_proxy/ftp_proxy variables based on the current SystemConfiguration settings Created a set-proxy.py utility which allows you to manipulate the system configuration from the command-line Started the utility library off with PyMacAdmin.SCUtilities.SCPreferences, which simplifies the process of editing SystemConfiguration preferences. Currently supports only the proxy settings, as used by set-proxy.py git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@3 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 3126e38f51:Fixed a bug in add_fs_notifications More consistent whitespace git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@4 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision c38b6193d4:sys.argv[0] is now run to through os.path.realpath() to avoid problems with relative paths on restart if anything changes the current working directory git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@5 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 7a884d6ea2:Fixed a bug in SCPreferences which caused the proxy port to be written out as a string rather than an integer. This breaks System Preferences Added an example for selectively enabling or disabling a local SOCKS proxy git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@6 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 73fb8d295e:Updated to disable the timer callback debug message to avoid excessive logging Changed SCPreferences to remove manual locking as per the SystemConfiguration docs Changed ProxyManager to get a SCPreferences object in network_changed since sessions will become invalid Updated kicker_replacement to use os.path.realpath() when checking module updates to handle the case where a file is symlinked Updated kicker_replacement to trap exceptions when checking for updates so a file which was deleted (e.g. rm *.pyc) will cause a restart rather than simply crashing git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@7 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision fd79b18826:Added example NSWorkspace notification messages to --list output Updated ProxyManager to ignore extra parameters git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@8 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision f0cb0e227b:Minor tweaks for the WWDC08 demo git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@9 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 676731b39d:Added an example for accessing the keychain framework from within Python git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@10 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 7728ab9238:Initial checkin of unit testing mechanism for Mac OS X image candidates git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@11 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision e9d7f5416c:kicker-replacment has been renamed to crankd Updated the socks-proxy demo to include instructions, better named config files and a sample OpenSSH Dynamic Proxy launchagent git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@12 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 1ec7b84583:Moved the documentation to the wiki git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@14 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision d656bed3b3:Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@16 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 187041bb36:Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@17 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 86e6aee63a:Import missing constants and correct the notification center call git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@18 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 3b5cb6525c:Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway? git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@19 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision ad73f20b86:Reduce logging under normal conditions for crankd when external scripts exit zero git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@20 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 753c46d568:Fix problem with egg installs which aren't a directory... git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@21 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 41c358042e:Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@25 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 3539642b97:Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@26 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 15f74f5a44:Minor PEP-8 cleanup git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@27 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision dce193c56c:Checkin of kicker-replacement from my personal repository. At this point it supports SystemConfiguration notifications, NSWorkspace notifications and FSEvents with actions being shell scripts and Python functions or objects. Beyond better help and some improved command-line options (e.g. adding simple events) the next major area will be expanded library support for common admin tasks (e.g. dealing with system/network configuration) git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@2 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision d0f4448bcf:Created a proxy-setenv.py utility which can be eval-ed to set the shell http_proxy/ftp_proxy variables based on the current SystemConfiguration settings Created a set-proxy.py utility which allows you to manipulate the system configuration from the command-line Started the utility library off with PyMacAdmin.SCUtilities.SCPreferences, which simplifies the process of editing SystemConfiguration preferences. Currently supports only the proxy settings, as used by set-proxy.py Revision 81840e8fdc:Fixed a bug in add_fs_notifications More consistent whitespace Revision 7d460e9792:sys.argv[0] is now run to through os.path.realpath() to avoid problems with relative paths on restart if anything changes the current working directory Revision c0b73fefc8:Fixed a bug in SCPreferences which caused the proxy port to be written out as a string rather than an integer. This breaks System Preferences Added an example for selectively enabling or disabling a local SOCKS proxy Revision e237bea0ad:Updated to disable the timer callback debug message to avoid excessive logging Changed SCPreferences to remove manual locking as per the SystemConfiguration docs Changed ProxyManager to get a SCPreferences object in network_changed since sessions will become invalid Updated kicker_replacement to use os.path.realpath() when checking module updates to handle the case where a file is symlinked Updated kicker_replacement to trap exceptions when checking for updates so a file which was deleted (e.g. rm *.pyc) will cause a restart rather than simply crashing Revision f2aece0199:Added example NSWorkspace notification messages to --list output Updated ProxyManager to ignore extra parameters Revision 7e00701a22:Minor tweaks for the WWDC08 demo Revision 8ff0924774:Added an example for accessing the keychain framework from within Python Revision cc0e31de95:Initial checkin of unit testing mechanism for Mac OS X image candidates committer: Chris Adams <chris@improbable.org> Revision 51ecaa34ee:kicker-replacment has been renamed to crankd Updated the socks-proxy demo to include instructions, better named config files and a sample OpenSSH Dynamic Proxy launchagent Revision 764a355dcc:Moved the documentation to the wiki Revision b6af426f8f:Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint Revision 1541fc9b29:Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently Revision 5fc4566a5e:Import missing constants and correct the notification center call committer: Chris Adams <chris@improbable.org> Revision 81d65527d8:Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway? committer: Chris Adams <chris@improbable.org> Revision c632081fa5:Reduce logging under normal conditions for crankd when external scripts exit zero committer: Chris Adams <chris@improbable.org> Revision c27566b815:Fix problem with egg installs which aren't a directory... committer: Chris Adams <chris@improbable.org> Revision 4479fb3679:Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update Revision 9ee552eeb2:Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file Revision fa3b7cdd72:Minor PEP-8 cleanup Revision ba25045806:Synced with upstream Google Code SVN Revision e3f49633c3:Import of wtfUpdate.py Revision 649cd6badb:Minor reliability tweaks No longer crash when called with a file which contains no SUDescription.html A top-level Bom file will be included Revision 7b4dea935e:Switched to jQuery * Updated to use jQuery to avoid external file dependencies - we can now load using only the local file and the Google CDN * Added descendent counts for list branches Revision a0dd2ba458:HTML Generation Rewrite HTML generation is now done entirely using BeautifulSoup, which avoids encoding issues or the need to manually worry about closing tags. The page is largely contained in wtfUpdate.html, which can independently be developed as a standalone file - Tag.find is used to locate elements by id (#description, #files, #scripts) and populate them The BOM processing logic has been reimplemented as a recursive function PEP-8 changes: function and variable Pervasive use of subprocess for calling external programs, which means return codes are now handled CSS tweaks jQuery tweaks: <pre> tags are now easily toggleable to make large scripts easier to deal with and each top-level list now has an expand/collapse-all toggle. Revision 907d7eb830:Updated run_image_tests.py, added example tests. run_image_tests.py: * use optparse. * Added several more command line options. * Tests now must be descended from macdmgtest.DMGUnitTest macdmgtest.py: * Provides convenience methods for divining the true path of paths relative to the dmg mount point, whether a given file path exists on the dmg. * Provides convenience method to get paths to config files needed by tests. tests/*_test.py: Example tests that are generic enough to be useful to people outside google. Signed-off-by: Chris Adams <chris@improbable.org> committer: Chris Adams <chris@improbable.org> Revision 2455dc676f:set-proxy bugfix for --disable The old logic prevented --disable from working if you hadn't specified a servername Revision ae2340b2fd:Checkin of kicker-replacement from my personal repository. At this point it supports SystemConfiguration notifications, NSWorkspace notifications and FSEvents with actions being shell scripts and Python functions or objects. Beyond better help and some improved command-line options (e.g. adding simple events) the next major area will be expanded library support for common admin tasks (e.g. dealing with system/network configuration) Revision a5f2cabbd5:Created a proxy-setenv.py utility which can be eval-ed to set the shell http_proxy/ftp_proxy variables based on the current SystemConfiguration settings Created a set-proxy.py utility which allows you to manipulate the system configuration from the command-line Started the utility library off with PyMacAdmin.SCUtilities.SCPreferences, which simplifies the process of editing SystemConfiguration preferences. Currently supports only the proxy settings, as used by set-proxy.py Revision ca02f07238:Fixed a bug in add_fs_notifications More consistent whitespace Revision 13ef0c5585:sys.argv[0] is now run to through os.path.realpath() to avoid problems with relative paths on restart if anything changes the current working directory Revision 2d0154173e:Fixed a bug in SCPreferences which caused the proxy port to be written out as a string rather than an integer. This breaks System Preferences Added an example for selectively enabling or disabling a local SOCKS proxy Revision f091e78be4:Updated to disable the timer callback debug message to avoid excessive logging Changed SCPreferences to remove manual locking as per the SystemConfiguration docs Changed ProxyManager to get a SCPreferences object in network_changed since sessions will become invalid Updated kicker_replacement to use os.path.realpath() when checking module updates to handle the case where a file is symlinked Updated kicker_replacement to trap exceptions when checking for updates so a file which was deleted (e.g. rm *.pyc) will cause a restart rather than simply crashing Revision b21e769afe:Added example NSWorkspace notification messages to --list output Updated ProxyManager to ignore extra parameters Revision 2a24704548:Minor tweaks for the WWDC08 demo Revision 82040424dc:Added an example for accessing the keychain framework from within Python Revision 8e9d6df53a:Initial checkin of unit testing mechanism for Mac OS X image candidates Revision fd3b3c6311:kicker-replacment has been renamed to crankd Updated the socks-proxy demo to include instructions, better named config files and a sample OpenSSH Dynamic Proxy launchagent Revision 0dbec4d3d2:Moved the documentation to the wiki Revision f66b1da0f4:Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint Revision 75b9ce30ef:Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently Revision 816315ae0e:Import missing constants and correct the notification center call Revision d3faf0fee0:Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway? Revision 1a78eac150:Reduce logging under normal conditions for crankd when external scripts exit zero Revision f4f37b5e9f:Fix problem with egg installs which aren't a directory... Revision 03f65ddaf4:Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update Revision 8b2c94122c:Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file Revision 6bc8b7e244:Minor PEP-8 cleanup Revision 84d63b1cbb:Synced with upstream Google Code SVN Revision 7c01dce8ba:Import of wtfUpdate.py Revision 06af7301ae:Minor reliability tweaks No longer crash when called with a file which contains no SUDescription.html A top-level Bom file will be included Revision 1e4a00b9bc:Switched to jQuery * Updated to use jQuery to avoid external file dependencies - we can now load using only the local file and the Google CDN * Added descendent counts for list branches Revision defa5df12f:Merge branch 'master' of git@github.com:acdha/pymacadmin Syncing with upstream SVN Conflicts: bin/crankd.py bin/create-location.py bin/keychain-delete.py bin/set-proxy.py examples/socks-proxy/ProxyManager.py git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@28 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 8fb9bfe59b:HTML Generation Rewrite HTML generation is now done entirely using BeautifulSoup, which avoids encoding issues or the need to manually worry about closing tags. The page is largely contained in wtfUpdate.html, which can independently be developed as a standalone file - Tag.find is used to locate elements by id (#description, #files, #scripts) and populate them The BOM processing logic has been reimplemented as a recursive function PEP-8 changes: function and variable Pervasive use of subprocess for calling external programs, which means return codes are now handled CSS tweaks jQuery tweaks: <pre> tags are now easily toggleable to make large scripts easier to deal with and each top-level list now has an expand/collapse-all toggle. git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@29 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 10ef86eb37:Updated run_image_tests.py, added example tests. run_image_tests.py: * use optparse. * Added several more command line options. * Tests now must be descended from macdmgtest.DMGUnitTest macdmgtest.py: * Provides convenience methods for divining the true path of paths relative to the dmg mount point, whether a given file path exists on the dmg. * Provides convenience method to get paths to config files needed by tests. tests/*_test.py: Example tests that are generic enough to be useful to people outside google. Signed-off-by: Chris Adams <chris@improbable.org> git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@30 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision e7c5741547:Moved unit testing from contrib into utilities. git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@31 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision ffe77af4d0:set-proxy bugfix for --disable The old logic prevented --disable from working if you hadn't specified a servername git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@32 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 7e67eee6c2:Squashed commit of the following: commit 866bfa58161c2d0023d6f9e30cbcb32ac4f854b3 Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 15:02:16 2009 -0500 Minor cleanup Cleaned imports, whitespace, line-length, comments commit da1fe8ef4eb4945a5d5d689193138eec2cd0705e Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 14:58:30 2009 -0500 Cleanup Reorganized contrib/ into examples/ Copied the original keychain-delete which calls ctypes directly from bin to examples/ctypes/ so it can be replaced with a wrapper-based version git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@33 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 2ce555ba42:Merge branch 'master' of git@github.com:acdha/pymacadmin Revision ffcf0dda2a:Removed contrib/image_unittesting The resync w/SVN brought contrib/image_unittesting back from the dead Revision ec05d40f68:Cleanup Reorganized contrib/ into examples/ Copied the original keychain-delete which calls ctypes directly from bin to examples/ctypes/ so it can be replaced with a wrapper-based version Revision 441b56648c:Minor cleanup Cleaned imports, whitespace, line-length, comments Revision 62ade56af2:Keychain consolidation bin/keychain-delete.py now uses PyMacAdmin.Security.Keychain rather than calling ctypes directly Security.Keychain now corrects None ⇒ "" for search parameters Security.Keychain now exposes the keychain handle as a public property Revision 6463a1dd48:Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into svn_merge git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@34 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 62067e8e8f:Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves. Revision c53af689a2:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision a19b8b5bc3:Removed a redundant SCPreferencesPathCreateUniqueChild call Revision 9308ff952c:Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves. Revision 7dac754226:Fix for issue 1 where settings were incorrectly shared across locations because network services (e.g. IPv4 or IPv6) are stored as links to separate branches under /NetworkServices - before we only copied the link rather than the settings themselves. git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@35 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision f4446b8726:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision bef58f67fb:Merge branch 'master' of git@github.com:acdha/pymacadmin Revision e7585d18b6:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse git-svn-id: https://pymacadmin.googlecode.com/svn/trunk@36 a06d0699-be4d-0410-9b60-b1b7deb0f677 Revision 3a5c7312bc:Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves. Revision ce07a07597:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision d4c5a10b2b:Merge branch 'master' of git@github.com:acdha/pymacadmin Revision aeddd61c16:Misc bugfixes reported by Clinton logging could fail if given an excessively long message. This happened primarily with the event key lists, which now use log_list() which takes the message template and keys and splits into multiple sub-1024 character messages as needed. do_shell() attempted to pass all of its parameters to subprocess.call() and broke if there was anything which didn't automatically stringify. It now looks only for two keys ("key" and "info") and sets them as CRANKD_{key.upper()} to avoid conflicts - we'll probably want to revise this list to see which other values are useful for simple scripts. Python handlers, of course, still have access to everything in native form. Added a -d/--debug option to set the default logging level and made the default file-based log level use the same value as stdout Revision 30b9e921e9:Clinton Blackmore's sample-of-events demo An example which attempts to monitor every event supported on the current system - see this mailing list thread: http://groups.google.com/group/pymacadmin/browse_thread/thread/15060f66cab0b42d class="ot-revlogs-br-2"> Revision fba5052762:(Log message clipped, see revision page for details.) Revision e007acca56:(Log message clipped, see revision page for details.) Revision 60dd8466c2:(Log message clipped, see revision page for details.) Revision 48f99d6a34:(Log message clipped, see revision page for details.) Revision eafbc33a2b:(Log message clipped, see revision page for details.) Revision 04c607bca1:(Log message clipped, see revision page for details.) Revision d9aa86bb52:(Log message clipped, see revision page for details.) Revision 5254fbad64:(Log message clipped, see revision page for details.) Revision ab54b6e12c:(Log message clipped, see revision page for details.) Revision c9f59cfa1f:(Log message clipped, see revision page for details.) Revision 99f2644d64:(Log message clipped, see revision page for details.) Revision 81d2ad80a4:(Log message clipped, see revision page for details.) Revision 3b33faf572:(Log message clipped, see revision page for details.) Revision 0740129eb3:(Log message clipped, see revision page for details.) Revision 21eed6aefe:(Log message clipped, see revision page for details.) Revision 14611f3f3c:(Log message clipped, see revision page for details.) Revision 2623c7fd6c:(Log message clipped, see revision page for details.) Revision b9ed7e1943:(Log message clipped, see revision page for details.) Revision 43009128bf:(Log message clipped, see revision page for details.)
  • Jul 08, 2009
    34 new revisions pushed by adamsc   -   Revision 1f982015c8:Initial directory structure. Revision 862a7417b6:Checkin of kicker-replacement from my personal repository. At this point it supports SystemConfiguration notifications, NSWorkspace notifications and FSEvents with actions being shell scripts and Python functions or objects. Beyond better help and some improved command-line options (e.g. adding simple events) the next major area will be expanded library support for common admin tasks (e.g. dealing with system/network configuration) Revision 202b72e195:Created a proxy-setenv.py utility which can be eval-ed to set the shell http_proxy/ftp_proxy variables based on the current SystemConfiguration settings Created a set-proxy.py utility which allows you to manipulate the system configuration from the command-line Started the utility library off with PyMacAdmin.SCUtilities.SCPreferences, which simplifies the process of editing SystemConfiguration preferences. Currently supports only the proxy settings, as used by set-proxy.py Revision 3b348780a1:Fixed a bug in add_fs_notifications More consistent whitespace Revision 0f15da2479:sys.argv[0] is now run to through os.path.realpath() to avoid problems with relative paths on restart if anything changes the current working directory Revision 282975f6d2:Fixed a bug in SCPreferences which caused the proxy port to be written out as a string rather than an integer. This breaks System Preferences Added an example for selectively enabling or disabling a local SOCKS proxy Revision a7033a44ee:Updated to disable the timer callback debug message to avoid excessive logging Changed SCPreferences to remove manual locking as per the SystemConfiguration docs Changed ProxyManager to get a SCPreferences object in network_changed since sessions will become invalid Updated kicker_replacement to use os.path.realpath() when checking module updates to handle the case where a file is symlinked Updated kicker_replacement to trap exceptions when checking for updates so a file which was deleted (e.g. rm *.pyc) will cause a restart rather than simply crashing Revision cb9e7ba41e:Added example NSWorkspace notification messages to --list output Updated ProxyManager to ignore extra parameters Revision f1584d1841:Minor tweaks for the WWDC08 demo Revision 03a14743ab:Added an example for accessing the keychain framework from within Python Revision cb8fb7f595:Initial checkin of unit testing mechanism for Mac OS X image candidates Revision c544709ecb:kicker-replacment has been renamed to crankd Updated the socks-proxy demo to include instructions, better named config files and a sample OpenSSH Dynamic Proxy launchagent Revision a8f283e958:Moved the documentation to the wiki Revision 98a9c98013:Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint Revision 5887928114:Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently Revision ff922071e4:Import missing constants and correct the notification center call Revision b23495d97a:Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway? Revision 06752551d5:Reduce logging under normal conditions for crankd when external scripts exit zero Revision 0b84baac25:Fix problem with egg installs which aren't a directory... Revision 7cd19b26e2:Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update Revision b9ed1f9f54:Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file Revision 9935fc59b1:Minor PEP-8 cleanup Revision 2e2acbda9a:Merge branch 'master' of git@github.com:acdha/pymacadmin Syncing with upstream SVN Conflicts: bin/crankd.py bin/create-location.py bin/keychain-delete.py bin/set-proxy.py examples/socks-proxy/ProxyManager.py Revision cce47c93f8:HTML Generation Rewrite HTML generation is now done entirely using BeautifulSoup, which avoids encoding issues or the need to manually worry about closing tags. The page is largely contained in wtfUpdate.html, which can independently be developed as a standalone file - Tag.find is used to locate elements by id (#description, #files, #scripts) and populate them The BOM processing logic has been reimplemented as a recursive function PEP-8 changes: function and variable Pervasive use of subprocess for calling external programs, which means return codes are now handled CSS tweaks jQuery tweaks: <pre> tags are now easily toggleable to make large scripts easier to deal with and each top-level list now has an expand/collapse-all toggle. Revision eb372a9b9d:Updated run_image_tests.py, added example tests. run_image_tests.py: * use optparse. * Added several more command line options. * Tests now must be descended from macdmgtest.DMGUnitTest macdmgtest.py: * Provides convenience methods for divining the true path of paths relative to the dmg mount point, whether a given file path exists on the dmg. * Provides convenience method to get paths to config files needed by tests. tests/*_test.py: Example tests that are generic enough to be useful to people outside google. Signed-off-by: Chris Adams <chris@improbable.org> Revision 198308841d:Moved unit testing from contrib into utilities. Revision 82793afe31:set-proxy bugfix for --disable The old logic prevented --disable from working if you hadn't specified a servername Revision c164cda7b7:Squashed commit of the following: commit 866bfa58161c2d0023d6f9e30cbcb32ac4f854b3 Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 15:02:16 2009 -0500 Minor cleanup Cleaned imports, whitespace, line-length, comments commit da1fe8ef4eb4945a5d5d689193138eec2cd0705e Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 14:58:30 2009 -0500 Cleanup Reorganized contrib/ into examples/ Copied the original keychain-delete which calls ctypes directly from bin to examples/ctypes/ so it can be replaced with a wrapper-based version Revision 90213557af:Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into svn_merge Revision 0d0ffd3014:Fix for issue 1 where settings were incorrectly shared across locations because network services (e.g. IPv4 or IPv6) are stored as links to separate branches under /NetworkServices - before we only copied the link rather than the settings themselves. Revision 0170855bb2:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision 229b36cf2a:Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves. Revision 1509d02fd8:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision 46535ccd90:Merge branch 'master' of git@github.com:acdha/pymacadmin
    Revision 1f982015c8:Initial directory structure. Revision 862a7417b6:Checkin of kicker-replacement from my personal repository. At this point it supports SystemConfiguration notifications, NSWorkspace notifications and FSEvents with actions being shell scripts and Python functions or objects. Beyond better help and some improved command-line options (e.g. adding simple events) the next major area will be expanded library support for common admin tasks (e.g. dealing with system/network configuration) Revision 202b72e195:Created a proxy-setenv.py utility which can be eval-ed to set the shell http_proxy/ftp_proxy variables based on the current SystemConfiguration settings Created a set-proxy.py utility which allows you to manipulate the system configuration from the command-line Started the utility library off with PyMacAdmin.SCUtilities.SCPreferences, which simplifies the process of editing SystemConfiguration preferences. Currently supports only the proxy settings, as used by set-proxy.py Revision 3b348780a1:Fixed a bug in add_fs_notifications More consistent whitespace Revision 0f15da2479:sys.argv[0] is now run to through os.path.realpath() to avoid problems with relative paths on restart if anything changes the current working directory Revision 282975f6d2:Fixed a bug in SCPreferences which caused the proxy port to be written out as a string rather than an integer. This breaks System Preferences Added an example for selectively enabling or disabling a local SOCKS proxy Revision a7033a44ee:Updated to disable the timer callback debug message to avoid excessive logging Changed SCPreferences to remove manual locking as per the SystemConfiguration docs Changed ProxyManager to get a SCPreferences object in network_changed since sessions will become invalid Updated kicker_replacement to use os.path.realpath() when checking module updates to handle the case where a file is symlinked Updated kicker_replacement to trap exceptions when checking for updates so a file which was deleted (e.g. rm *.pyc) will cause a restart rather than simply crashing Revision cb9e7ba41e:Added example NSWorkspace notification messages to --list output Updated ProxyManager to ignore extra parameters Revision f1584d1841:Minor tweaks for the WWDC08 demo Revision 03a14743ab:Added an example for accessing the keychain framework from within Python Revision cb8fb7f595:Initial checkin of unit testing mechanism for Mac OS X image candidates Revision c544709ecb:kicker-replacment has been renamed to crankd Updated the socks-proxy demo to include instructions, better named config files and a sample OpenSSH Dynamic Proxy launchagent Revision a8f283e958:Moved the documentation to the wiki Revision 98a9c98013:Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint Revision 5887928114:Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently Revision ff922071e4:Import missing constants and correct the notification center call Revision b23495d97a:Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway? Revision 06752551d5:Reduce logging under normal conditions for crankd when external scripts exit zero Revision 0b84baac25:Fix problem with egg installs which aren't a directory... Revision 7cd19b26e2:Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update Revision b9ed1f9f54:Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file Revision 9935fc59b1:Minor PEP-8 cleanup Revision 2e2acbda9a:Merge branch 'master' of git@github.com:acdha/pymacadmin Syncing with upstream SVN Conflicts: bin/crankd.py bin/create-location.py bin/keychain-delete.py bin/set-proxy.py examples/socks-proxy/ProxyManager.py Revision cce47c93f8:HTML Generation Rewrite HTML generation is now done entirely using BeautifulSoup, which avoids encoding issues or the need to manually worry about closing tags. The page is largely contained in wtfUpdate.html, which can independently be developed as a standalone file - Tag.find is used to locate elements by id (#description, #files, #scripts) and populate them The BOM processing logic has been reimplemented as a recursive function PEP-8 changes: function and variable Pervasive use of subprocess for calling external programs, which means return codes are now handled CSS tweaks jQuery tweaks: <pre> tags are now easily toggleable to make large scripts easier to deal with and each top-level list now has an expand/collapse-all toggle. Revision eb372a9b9d:Updated run_image_tests.py, added example tests. run_image_tests.py: * use optparse. * Added several more command line options. * Tests now must be descended from macdmgtest.DMGUnitTest macdmgtest.py: * Provides convenience methods for divining the true path of paths relative to the dmg mount point, whether a given file path exists on the dmg. * Provides convenience method to get paths to config files needed by tests. tests/*_test.py: Example tests that are generic enough to be useful to people outside google. Signed-off-by: Chris Adams <chris@improbable.org> Revision 198308841d:Moved unit testing from contrib into utilities. Revision 82793afe31:set-proxy bugfix for --disable The old logic prevented --disable from working if you hadn't specified a servername Revision c164cda7b7:Squashed commit of the following: commit 866bfa58161c2d0023d6f9e30cbcb32ac4f854b3 Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 15:02:16 2009 -0500 Minor cleanup Cleaned imports, whitespace, line-length, comments commit da1fe8ef4eb4945a5d5d689193138eec2cd0705e Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 14:58:30 2009 -0500 Cleanup Reorganized contrib/ into examples/ Copied the original keychain-delete which calls ctypes directly from bin to examples/ctypes/ so it can be replaced with a wrapper-based version Revision 90213557af:Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into svn_merge Revision 0d0ffd3014:Fix for issue 1 where settings were incorrectly shared across locations because network services (e.g. IPv4 or IPv6) are stored as links to separate branches under /NetworkServices - before we only copied the link rather than the settings themselves. Revision 0170855bb2:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision 229b36cf2a:Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves. Revision 1509d02fd8:Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse Revision 46535ccd90:Merge branch 'master' of git@github.com:acdha/pymacadmin
  • Jun 07, 2009
    PyMacAdmin.dmg (Installer package) file uploaded by adamsc   -  
    Labels: Type-Package OpSys-OSX Featured
    Labels: Type-Package OpSys-OSX Featured
  • May 13, 2009
    r39 (Merge branch 'master' of git@github.com:acdha/pymacadmin) committed by adamsc   -   Merge branch 'master' of git@github.com:acdha/pymacadmin
    Merge branch 'master' of git@github.com:acdha/pymacadmin
  • May 13, 2009
    r38 (Switch to OptionParser/Logging Logging is now used to provi...) committed by adamsc   -   Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse
    Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse
  • May 13, 2009
    r37 (Fix for #1 (settings shared across locations) Network servi...) committed by adamsc   -   Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves.
    Fix for #1 (settings shared across locations) Network services (e.g. IPv4 or IPv6) are stored separately under /NetworkServices - before we only copied the link rather than the settings themselves.
  • Mar 10, 2009
    issue 1 (Changes made to an individual location happen to other locat...) changed by adamsc   -   The problem will be service-specific because our copy of the Automatic set maintains the GUIDs so e.g. the IPv4 configuration will have the same UUID as the IPv4 configuration for the Automatic set and those are stored as references outside of the configuration set under /NetworkServices rather than /Network. This should be fixed in r35: http://code.google.com/p/pymacadmin/source/detail?r=35
    Status: Fixed
    Cc: nigel.kersten
    Labels: Priority-High Priority-Medium
    The problem will be service-specific because our copy of the Automatic set maintains the GUIDs so e.g. the IPv4 configuration will have the same UUID as the IPv4 configuration for the Automatic set and those are stored as references outside of the configuration set under /NetworkServices rather than /Network. This should be fixed in r35: http://code.google.com/p/pymacadmin/source/detail?r=35
    Status: Fixed
    Cc: nigel.kersten
    Labels: Priority-High Priority-Medium
  • Mar 10, 2009
    r36 (Switch to OptionParser/Logging Logging is now used to provi...) committed by adamsc   -   Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse
    Switch to OptionParser/Logging Logging is now used to provide variable output levels Command-line processing now uses optparse
  • Mar 10, 2009
    r35 (Fix for issue 1 where settings were incorrectly shared acros...) committed by adamsc   -   Fix for issue 1 where settings were incorrectly shared across locations because network services (e.g. IPv4 or IPv6) are stored as links to separate branches under /NetworkServices - before we only copied the link rather than the settings themselves.
    Fix for issue 1 where settings were incorrectly shared across locations because network services (e.g. IPv4 or IPv6) are stored as links to separate branches under /NetworkServices - before we only copied the link rather than the settings themselves.
  • Mar 10, 2009
    r34 (Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into...) committed by adamsc   -   Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into svn_merge
    Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into svn_merge
  • Mar 10, 2009
    r33 (Squashed commit of the following: commit 866bfa58161c2d0023...) committed by adamsc   -   Squashed commit of the following: commit 866bfa58161c2d0023d6f9e30cbcb32ac4f854b3 Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 15:02:16 2009 -0500 Minor cleanup Cleaned imports, whitespace, line-length, comments commit da1fe8ef4eb4945a5d5d689193138eec2cd0705e Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 14:58:30 2009 -0500 Cleanup Reorganized contrib/ into examples/ Copied the original keychain-delete which calls ctypes directly from bin to examples/ctypes/ so it can be replaced with a wrapper-based version
    Squashed commit of the following: commit 866bfa58161c2d0023d6f9e30cbcb32ac4f854b3 Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 15:02:16 2009 -0500 Minor cleanup Cleaned imports, whitespace, line-length, comments commit da1fe8ef4eb4945a5d5d689193138eec2cd0705e Author: Chris Adams <chris@improbable.org> Date: Sat Mar 7 14:58:30 2009 -0500 Cleanup Reorganized contrib/ into examples/ Copied the original keychain-delete which calls ctypes directly from bin to examples/ctypes/ so it can be replaced with a wrapper-based version
  • Mar 10, 2009
    issue 1 (Changes made to an individual location happen to other locat...) changed by adamsc   -  
    Status: Accepted
    Owner: adamsc
    Status: Accepted
    Owner: adamsc
  • Mar 09, 2009
    issue 1 (Changes made to an individual location happen to other locat...) reported by and...@dotmac.net.au   -   What steps will reproduce the problem? 1. Create multiple locations with create-location.py 2. Use networksetup to configure network settings or just use Sys Prefs 3. What is the expected output? What do you see instead? Configuration changes (such as setting proxy, turning off interfaces etc) happens across all locations made with the script not just the one. What version of the product are you using? On what operating system? Mac OS X 10.5.6 Please provide any additional information below.
    What steps will reproduce the problem? 1. Create multiple locations with create-location.py 2. Use networksetup to configure network settings or just use Sys Prefs 3. What is the expected output? What do you see instead? Configuration changes (such as setting proxy, turning off interfaces etc) happens across all locations made with the script not just the one. What version of the product are you using? On what operating system? Mac OS X 10.5.6 Please provide any additional information below.
  • Mar 07, 2009
    r32 (set-proxy bugfix for --disable The old logic prevented --di...) committed by adamsc   -   set-proxy bugfix for --disable The old logic prevented --disable from working if you hadn't specified a servername
    set-proxy bugfix for --disable The old logic prevented --disable from working if you hadn't specified a servername
  • Mar 06, 2009
    r31 (Moved unit testing from contrib into utilities.) committed by Joe.Block   -   Moved unit testing from contrib into utilities.
    Moved unit testing from contrib into utilities.
  • Mar 05, 2009
    r30 (Updated run_image_tests.py, added example tests. run_image_...) committed by adamsc   -   Updated run_image_tests.py, added example tests. run_image_tests.py: * use optparse. * Added several more command line options. * Tests now must be descended from macdmgtest.DMGUnitTest macdmgtest.py: * Provides convenience methods for divining the true path of paths relative to the dmg mount point, whether a given file path exists on the dmg. * Provides convenience method to get paths to config files needed by tests. tests/*_test.py: Example tests that are generic enough to be useful to people outside google. Signed-off-by: Chris Adams <chris@improbable.org>
    Updated run_image_tests.py, added example tests. run_image_tests.py: * use optparse. * Added several more command line options. * Tests now must be descended from macdmgtest.DMGUnitTest macdmgtest.py: * Provides convenience methods for divining the true path of paths relative to the dmg mount point, whether a given file path exists on the dmg. * Provides convenience method to get paths to config files needed by tests. tests/*_test.py: Example tests that are generic enough to be useful to people outside google. Signed-off-by: Chris Adams <chris@improbable.org>
  • Mar 05, 2009
    r29 (HTML Generation Rewrite HTML generation is now done entirel...) committed by adamsc   -   HTML Generation Rewrite HTML generation is now done entirely using BeautifulSoup, which avoids encoding issues or the need to manually worry about closing tags. The page is largely contained in wtfUpdate.html, which can independently be developed as a standalone file - Tag.find is used to locate elements by id (#description, #files, #scripts) and populate them The BOM processing logic has been reimplemented as a recursive function PEP-8 changes: function and variable Pervasive use of subprocess for calling external programs, which means return codes are now handled CSS tweaks jQuery tweaks: <pre> tags are now easily toggleable to make large scripts easier to deal with and each top-level list now has an expand/collapse-all toggle.
    HTML Generation Rewrite HTML generation is now done entirely using BeautifulSoup, which avoids encoding issues or the need to manually worry about closing tags. The page is largely contained in wtfUpdate.html, which can independently be developed as a standalone file - Tag.find is used to locate elements by id (#description, #files, #scripts) and populate them The BOM processing logic has been reimplemented as a recursive function PEP-8 changes: function and variable Pervasive use of subprocess for calling external programs, which means return codes are now handled CSS tweaks jQuery tweaks: <pre> tags are now easily toggleable to make large scripts easier to deal with and each top-level list now has an expand/collapse-all toggle.
  • Mar 05, 2009
    r28 (Merge branch 'master' of git@github.com:acdha/pymacadmin Sy...) committed by adamsc   -   Merge branch 'master' of git@github.com:acdha/pymacadmin Syncing with upstream SVN Conflicts: bin/crankd.py bin/create-location.py bin/keychain-delete.py bin/set-proxy.py examples/socks-proxy/ProxyManager.py
    Merge branch 'master' of git@github.com:acdha/pymacadmin Syncing with upstream SVN Conflicts: bin/crankd.py bin/create-location.py bin/keychain-delete.py bin/set-proxy.py examples/socks-proxy/ProxyManager.py
  • Jan 08, 2009
    r27 (Minor PEP-8 cleanup ) committed by adamsc   -   Minor PEP-8 cleanup
    Minor PEP-8 cleanup
  • Jan 07, 2009
    r26 (Introducing a new module which provides a more Pythonic wrap...) committed by adamsc   -   Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file
    Introducing a new module which provides a more Pythonic wrapper for the core Keychain API: adding, searching and removing generic or Internet passwords. The new bin/airport-update.py script uses the new module; compare with contrib/ctypes/airport- update.py which uses the ctypes module directly Added a LICENSE file
  • Jan 05, 2009
    r25 (Added airport-update.py example for updating the saved airpo...) committed by adamsc   -   Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update
    Added airport-update.py example for updating the saved airport password for a network Minor tweaks to keychain-update
  • Dec 16, 2008
    SOCKSProxyExample Wiki page edited by adamsc
  • Dec 16, 2008
    SOCKSProxyExample Wiki page edited by adamsc
  • Dec 16, 2008
    SOCKSProxyExample Wiki page edited by adamsc
  • Oct 22, 2008
    r21 (Fix problem with egg installs which aren't a directory...) committed by nigel.kersten   -   Fix problem with egg installs which aren't a directory...
    Fix problem with egg installs which aren't a directory...
  • Oct 15, 2008
    r20 (Reduce logging under normal conditions for crankd when exter...) committed by nigel.kersten   -   Reduce logging under normal conditions for crankd when external scripts exit zero
    Reduce logging under normal conditions for crankd when external scripts exit zero
  • Sep 24, 2008
    r19 (Ran into some other constants that weren't defined. Why not ...) committed by nigel.kersten   -   Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway?
    Ran into some other constants that weren't defined. Why not just import everything in SC and FS given they're all nicely prefixed anyway?
  • Sep 24, 2008
    r18 (Import missing constants and correct the notification center...) committed by nigel.kersten   -   Import missing constants and correct the notification center call
    Import missing constants and correct the notification center call
  • Sep 15, 2008
    r17 (Added a sanity check in case older versions of SCPreferences...) committed by adamsc   -   Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently
    Added a sanity check in case older versions of SCPreferencesPathCreateUniqueChild() behave differently
  • Sep 15, 2008
    r16 (Added a Keychain update example contributed by Matt Rosenber...) committed by adamsc   -   Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint
    Added a Keychain update example contributed by Matt Rosenberg Added a SystemConfiguration example which creates a new network location (aka Set in SC parlance) Minor cleanups, mostly driven by pylint
 
Hosted by Google Code