Server IP : 172.67.216.182 / Your IP : 104.23.175.129 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/lib/python3/dist-packages/secretstorage/ |
Upload File : |
# SecretStorage module for Python # Access passwords using the SecretService DBus API # Author: Dmitry Shachnev, 2013-2020 # License: 3-clause BSD, see LICENSE file """This file provides quick access to all SecretStorage API. Please refer to documentation of individual modules for API details. """ from jeepney.bus_messages import message_bus from jeepney.io.blocking import DBusConnection, Proxy, open_dbus_connection from secretstorage.collection import Collection, create_collection, \ get_all_collections, get_default_collection, get_any_collection, \ get_collection_by_alias, search_items from secretstorage.item import Item from secretstorage.exceptions import SecretStorageException, \ SecretServiceNotAvailableException, LockedException, \ ItemNotFoundException, PromptDismissedException from secretstorage.util import add_match_rules __version_tuple__ = (3, 3, 1) __version__ = '.'.join(map(str, __version_tuple__)) __all__ = [ 'Collection', 'Item', 'ItemNotFoundException', 'LockedException', 'PromptDismissedException', 'SecretServiceNotAvailableException', 'SecretStorageException', 'check_service_availability', 'create_collection', 'dbus_init', 'get_all_collections', 'get_any_collection', 'get_collection_by_alias', 'get_default_collection', 'search_items', ] def dbus_init() -> DBusConnection: """Returns a new connection to the session bus, instance of jeepney's :class:`DBusConnection` class. This connection can then be passed to various SecretStorage functions, such as :func:`~secretstorage.collection.get_default_collection`. .. warning:: The D-Bus socket will not be closed automatically. You can close it manually using the :meth:`DBusConnection.close` method, or you can use the :class:`contextlib.closing` context manager: .. code-block:: python from contextlib import closing with closing(dbus_init()) as conn: collection = secretstorage.get_default_collection(conn) items = collection.search_items({'application': 'myapp'}) However, you will not be able to call any methods on the objects created within the context after you leave it. .. versionchanged:: 3.0 Before the port to Jeepney, this function returned an instance of :class:`dbus.SessionBus` class. .. versionchanged:: 3.1 This function no longer accepts any arguments. """ try: connection = open_dbus_connection() add_match_rules(connection) return connection except KeyError as ex: # os.environ['DBUS_SESSION_BUS_ADDRESS'] may raise it reason = "Environment variable {} is unset".format(ex.args[0]) raise SecretServiceNotAvailableException(reason) from ex except (ConnectionError, ValueError) as ex: raise SecretServiceNotAvailableException(str(ex)) from ex def check_service_availability(connection: DBusConnection) -> bool: """Returns True if the Secret Service daemon is either running or available for activation via D-Bus, False otherwise. .. versionadded:: 3.2 """ from secretstorage.util import BUS_NAME proxy = Proxy(message_bus, connection) return (proxy.NameHasOwner(BUS_NAME)[0] == 1 or BUS_NAME in proxy.ListActivatableNames()[0])