You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added retrieve method to JSSListData, making the retrieval of individual JSSObjectList elements more flexible.
Added some argument type checking.
Added lots of documentation.
Re-enabled the ability to create new objects with the JSS convenience methods (e.g. jss.JSS.Computer)
Added and improved the verbose output for HTTP requests.
Added a repr to JSSListData so you can now better interact with them.
Added the suppress_warnings key to the preference domain and JSSPrefs object.
Added an interactive configuration procedure to the JSSPrefs class. If you don't already have a plist file, on instantiation it will prompt your for all configuration information.
Added a pre_callback and post_callback parameter to DistributionPoints.copy. This allows you to provide some feedback for long copying operations. In the future, if desired, more may be added to long-running methods like JSSObjectList.retrieve_all().
Added a LocalRepository repo type for paths either local or already mounted. Required connection args are "mount_point", "share_name", and if migrated, "jss".
Added some public methods to JSSObjectFactory if you're into doing some lower-level object searching and creation.
Changed
Optimized JSSObjectList.retrieve_all.
Reorganized JSSObject.save method. It was very convoluted. Now it reads better, is more error resistant, and should work exactly the same. Specifically, it assumes that if your JSSObject has no ID, then it is a new object (because only the JSS can assign one) and thus needs to PUT. If it does have an ID, then it POSTs it. Potentially this could be an issue where if you retrieved an object, and then wanted to completely replace it with different data, and then tried to save, it would then be missing the ID and would PUT, creating a new object (or fail because of the name conflict); I don't see that as a real issue though.
Removed JSSObject.search since it implements a deprecated Element
method that wasn't being used anywhere.
Restored requests method of posting FileUploads. Now uses mimetypes to
detect file type and uses it in header.
JAMF fixed D-008180, where the JSS rejected Packages and policies with
a category of "No Category Assigned", even though that's what the JSS
supplied in GET requests. This was fixed in JSS v9.7. Therefore,
python-jss removed its overriden methods Package.save and Policy.save. It's likely this was broader than just Packages and
Policies, but python-jss hadn't implemented or tested other objects.
Internal package structure drastically changed to make modules smaller and more manageable.
Improved the formatting of JSSObjectList objects.
Replaced the Element.repr method with the indenting pretty-printing one that has been in python-jss for awhile now. This allows all non-assigned results from Element subclass methods to pretty-print the XML.
Removed the recently added JSSObject.pretty_find as it's no longer needed.
Changed the method for creating "new" JSSObjects. Now, generating a blank XML for JSSObjects uses a class attribute data_keys to generate the structure. It allows for setting default values.
Now, the __init__ and _new methods accept any of the data_keys as keyword args to be set during creation.
Renamed JSSObject.new to JSSObject._new to discourage client use.
Fixed
JSSObject.set_bool improved to not have broken string behavior.