Last 30 days
-
issue 3
(applescript fails when interacting with GUI app) commented on by r0ssar00
-
-
issue 3
(applescript fails when interacting with GUI app) commented on by r0ssar00
-
-
issue 3
(applescript fails when interacting with GUI app) commented on by adamsc
-
-
issue 2
(crankd doesn't handle nsdistributednotifications, now it doe...) commented on by r0ssar00
-
-
issue 3
(applescript fails when interacting with GUI app) reported by r0ssar00
-
-
issue 2
(crankd doesn't handle nsdistributednotifications, now it doe...) reported by r0ssar00
-
Older
-
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
-
r41
(Created static crankd_refactor branch) committed by adamsc
- Created static crankd_refactor branch
Created static crankd_refactor branch
-
r40
(Backport from Hg
) committed by adamsc
- Backport from Hg
-
-
Revision ef2bce78c7
(Added a simple FSEvents example)
pushed by adamsc
- Added a simple FSEvents example
Added a simple FSEvents example
-
Revision 1c20cc599a
(Merge of distribution work into default)
pushed by adamsc
- Merge of distribution work into default
Merge of distribution work into default
-
-
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.)
-
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
-
PyMacAdmin.dmg (Installer package) file uploaded by adamsc
-
Labels:
Type-Package
OpSys-OSX
Featured
Labels:
Type-Package
OpSys-OSX
Featured
-
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
-
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
-
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.
-
issue 1
(Changes made to an individual location happen to other locat...) changed by adamsc
-
Status:
Fixed
Cc:
nigel.kersten
Labels:
Priority-High
−Priority-Medium
Status:
Fixed
Cc:
nigel.kersten
Labels:
Priority-High
−Priority-Medium
-
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
-
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.
-
r34
(Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into...) committed by adamsc
- Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into svn_merge
Merge commit 'e7f669d2f319213394c49fe2828548c707ac45cf' into svn_merge
-
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
-
issue 1
(Changes made to an individual location happen to other locat...) changed by adamsc
-
Status:
Accepted
Owner:
adamsc
Status:
Accepted
Owner:
adamsc
-
-
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
-
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.
-
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>
-
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.
-
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
-
r27
(Minor PEP-8 cleanup
) committed by adamsc
- Minor PEP-8 cleanup
-
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
-
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
-
-
-
-
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...
-
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
-
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?
-
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
-
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
-
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
|