:py:mod:`dissect.target.plugins.os.unix.linux.recentlyused` =========================================================== .. py:module:: dissect.target.plugins.os.unix.linux.recentlyused Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: dissect.target.plugins.os.unix.linux.recentlyused.RecentlyUsedPlugin Functions ~~~~~~~~~ .. autoapisummary:: :nosignatures: dissect.target.plugins.os.unix.linux.recentlyused.parse_ts dissect.target.plugins.os.unix.linux.recentlyused.parse_recently_used_xbel Attributes ~~~~~~~~~~ .. autoapisummary:: dissect.target.plugins.os.unix.linux.recentlyused.RecentlyUsedRecord dissect.target.plugins.os.unix.linux.recentlyused.RecentlyUsedIconRecord dissect.target.plugins.os.unix.linux.recentlyused.RecentlyUsedApplicationRecord dissect.target.plugins.os.unix.linux.recentlyused.ns .. py:data:: RecentlyUsedRecord .. py:data:: RecentlyUsedIconRecord .. py:data:: RecentlyUsedApplicationRecord .. py:data:: ns .. py:function:: parse_ts(target: dissect.target.Target, ts: str) -> datetime.datetime | None Parse timestamp format from xbel file Returns None if unable to parse the timestamp .. py:function:: parse_recently_used_xbel(target: dissect.target.Target, username: str, xbel_file: dissect.target.helpers.fsutil.TargetPath) -> collections.abc.Iterator[RecentlyUsedRecord | flow.record.GroupedRecord] | None .. py:class:: RecentlyUsedPlugin(target: dissect.target.Target) Bases: :py:obj:`dissect.target.plugin.Plugin` Parse recently-used.xbel files on Gnome-based Linux Desktops. Based on the spec on https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/ .. py:attribute:: FILEPATH :value: '.local/share/recently-used.xbel' .. py:attribute:: users_files :type: list[tuple[str, dissect.target.helpers.fsutil.TargetPath]] :value: [] .. py:method:: check_compatible() -> None Perform a compatibility check with the target. This function should return ``None`` if the plugin is compatible with the current target (``self.target``). For example, check if a certain file exists. Otherwise it should raise an :class:`UnsupportedPluginError`. :raises UnsupportedPluginError: If the plugin could not be loaded. .. py:method:: recently_used() -> collections.abc.Iterator[RecentlyUsedRecord | flow.record.GroupedRecord] Parse recently-used.xbel files on Linux Desktops.