Skip to content

PyXA 0.1.2

Compare
Choose a tag to compare
@SKaplanOfficial SKaplanOfficial released this 15 Dec 02:27
· 51 commits to main since this release

Additions

  • Added ability to instantiate application objects by calling their title-case name (with whitespace removed) on the PyXA module, e.g. PyXA.Calendar() and PyXA.Safari()
  • Added Additions.UI.XAHUD — A class for displaying momentary messages to the user via a HUD window in the center of their screen.
  • Added SystemEvents.XASystemEventsProcessList.by_displayed_name(str)
  • Added bulk methods to XASoundList.
  • Added by_property methods to XAApplicationList.
  • Added XABase.XAURLList.
  • Added XAList.index(element), which functions the same as the index method of standard list objects.
  • Added ability to quit menu bar apps from the terminal with control+C

Bug Fixes/Changes

  • XAMenuBar now automatically hides the dock icon of the application.
  • XANotesAttachment.url now return an XAURL instance.
  • Fixed bulk getter methods on XAList objects sometimes attempting to operate on empty lists and causing a TypeError. Bulk getter methods should now always return a list, even if empty.
  • Fixed XAFinderContainerList.entire_contents not returning anything. Now returns an instance of XAFinderItemList.
  • Fixed XAFinderListViewOptions.colums() returning instance of XAFinderColumn instead of XAFinderColumnList.
  • Fixed XAFinderContainerList.container_window() failing to return a list of windows due to inaccessible object property.
  • XANoteList.by_creation_date(), XANoteList.by_modification_date(), XANotesAttachmentList.by_creation_date(), and XANotesAttachmentList.by_modification_date() always returning None.
  • Fixed XANoteList.by_container() failing due to AttributeError.
  • Fixed XANotesAccountList.by_default_folder() failing due to AttributeError.
  • Fixed XANotesFolderList.by_container() failing due to AttributeError.
  • Fixed XANotesAttachmentList.by_container() failing due to AttributeError.
  • Fixed Reminders.XARemindersReminderList.container returning creation dates instead of containers (Now returns list of Reminders lists).
  • Fixed setting XAVLCDocument.path not working due to infinite recursion.
  • Fixed XARemindersApplication.new_list() failing due to trying to access ID property of proxy element.
  • Fixed XARemindersApplication.new_reminder() failing due to trying to set an unknown property key.
  • Fixed XARemindersAccountList.by_properties(), XARemindersListList.by_properties(), and XARemindersReminderList.by_properties() failing due to accessing unknown property key.
  • Fixed XARemindersListList.by_container() and XARemindersReminderList.by_container() always returning None.
  • Fixed XACalendarCalendarList.properties() returning a list of None elements.
  • Fixed XACalendarCalendarList.by_properties() failing due to AttributeError.
  • Fixed XACalendarCalendarList.description() returning a list of None elements.
  • Fixed XACalendarCalendarList.by_description() failing due to slight differences in memory locations.
  • Fixed XACalendarEventList.properties() returning a list of None elements.
  • Fixed XACalendarEventList.by_properties() failing due to AttributeError.
  • Fixed XACalendarEventList.by_description() always returning None.
  • Fixed XACalendarEvent.properties always returning None.
  • Fixed XACalendarEventList.duplicate(), XACalendarEventList.duplicate_to(), and XACalendarEventList.move_to() not saving events.
  • Fixed XACalendarAttachmentList.uuid() having a typo in its declaration.

Deprecations

  • Importing various classes from the core PyXA module is now deprecated in favor of submodule imports
    • These classes are still available via PyXA.[class_name] for now, but importing them from their respective submodule will be necessary in the future. This is to minimize memory usage and load time when importing PyXA.
  • XAFinderApplication.delete_items() — Use delete_item() instead.
  • XAFinderApplication.duplicate_items() — Use duplicate_item() instead.
  • XAFinderApplication.recycle_items() — Use recycle_item() instead.
  • XACalendarCalendar.week_events() — Use events_in_range() instead.

Removals

  • Removed logging using the Python logging module as it was causing issues with PyXA scripts bundled as Mac apps via py2app. NSLog is (minimally) used instead.
  • XACalendarCalendarList.calendar_identifier(), XACalendarCalendarList.by_calendar_identifier(), and XACalendarCalendar.calendar_identifier; these methods/attributes have never worked correctly and cannot currently be fixed.