Skip to content

Commit

Permalink
community.general.osx_defaults: Include stderr in error messages (#6011)
Browse files Browse the repository at this point in the history
* Update osx_defaults documentation examples

* Include stderr in errors from osx_defaults

* Add Changelog Fragment

* Update changelogs/fragments/6011-osx-defaults-errors.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Change format of examples

* Update plugins/modules/osx_defaults.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
  • Loading branch information
josephshanak and felixfontein authored Feb 25, 2023
1 parent 95b8afd commit 9254499
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 14 deletions.
2 changes: 2 additions & 0 deletions changelogs/fragments/6011-osx-defaults-errors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
minor_changes:
- "osx_defaults - include stderr in error messages (https://github.com/ansible-collections/community.general/pull/6011)."
33 changes: 19 additions & 14 deletions plugins/modules/osx_defaults.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,49 +78,54 @@
'''

EXAMPLES = r'''
# TODO: Describe what happens in each example
- community.general.osx_defaults:
- name: Set boolean valued key for application domain
community.general.osx_defaults:
domain: com.apple.Safari
key: IncludeInternalDebugMenu
type: bool
value: true
state: present
- community.general.osx_defaults:
- name: Set string valued key for global domain
community.general.osx_defaults:
domain: NSGlobalDomain
key: AppleMeasurementUnits
type: string
value: Centimeters
state: present
- community.general.osx_defaults:
- name: Set int valued key for arbitrary plist
community.general.osx_defaults:
domain: /Library/Preferences/com.apple.SoftwareUpdate
key: AutomaticCheckEnabled
type: int
value: 1
become: true
- community.general.osx_defaults:
- name: Set int valued key only for the current host
community.general.osx_defaults:
domain: com.apple.screensaver
host: currentHost
key: showClock
type: int
value: 1
- community.general.osx_defaults:
- name: Defaults to global domain and setting value
community.general.osx_defaults:
key: AppleMeasurementUnits
type: string
value: Centimeters
- community.general.osx_defaults:
- name: Setting an array valued key
community.general.osx_defaults:
key: AppleLanguages
type: array
value:
- en
- nl
- community.general.osx_defaults:
- name: Removing a key
community.general.osx_defaults:
domain: com.geekchimp.macable
key: ExampleKeyToRemove
state: absent
Expand Down Expand Up @@ -264,7 +269,7 @@ def read(self):

# If the RC is not 0, then terrible happened! Ooooh nooo!
if rc != 0:
raise OSXDefaultsException("An error occurred while reading key type from defaults: %s" % out)
raise OSXDefaultsException("An error occurred while reading key type from defaults: %s" % err)

# Ok, lets parse the type from output
data_type = out.strip().replace('Type is ', '')
Expand All @@ -275,9 +280,9 @@ def read(self):
# Strip output
out = out.strip()

# An non zero RC at this point is kinda strange...
# A non zero RC at this point is kinda strange...
if rc != 0:
raise OSXDefaultsException("An error occurred while reading key value from defaults: %s" % out)
raise OSXDefaultsException("An error occurred while reading key value from defaults: %s" % err)

# Convert string to list when type is array
if data_type == "array":
Expand Down Expand Up @@ -315,13 +320,13 @@ def write(self):
expand_user_and_vars=False)

if rc != 0:
raise OSXDefaultsException('An error occurred while writing value to defaults: %s' % out)
raise OSXDefaultsException('An error occurred while writing value to defaults: %s' % err)

def delete(self):
""" Deletes defaults key from domain """
rc, out, err = self.module.run_command(self._base_command() + ['delete', self.domain, self.key])
if rc != 0:
raise OSXDefaultsException("An error occurred while deleting key from defaults: %s" % out)
raise OSXDefaultsException("An error occurred while deleting key from defaults: %s" % err)

# /commands ----------------------------------------------------------- }}}

Expand Down

0 comments on commit 9254499

Please sign in to comment.