x2go.backends.profiles.base module¶
x2go.backends.profiles.base.X2GoSessionProfiles
class - managing X2Go Client session profiles, base API.
x2go.backends.profiles.base.X2GoSessionProfiles
is a public API class. Use this class in your Python X2Go based
applications.
-
class
x2go.backends.profiles.base.
X2GoSessionProfiles
(session_profile_defaults=None, logger=None, loglevel=56, **kwargs)[source]¶ Bases:
object
-
add_profile
(profile_id=None, force_add=False, **kwargs)[source]¶ Add a new session profile.
Parameters: - profile_id (
str
) – a custom profile ID–if left empty a profile ID will be auto-generated (Default value = None) - kwargs (
dict
) – session profile options for this new session profile - force_add (
bool
) – enforce adding of the given profile (Default value = False)
Returns: the (auto-generated) profile ID of the new session profile
Return type: str
- profile_id (
-
check_profile_id_or_name
(profile_id_or_name)[source]¶ Detect the profile ID from a given string which maybe profile ID or profile name.
Parameters: profile_id_or_name ( str
) – profile ID or profile nameReturns: profile ID Return type: str
Raises: X2GoProfileException – if no such session profile exists
-
defaultSessionProfile
= {'export': {}, 'height': 600, 'useiconv': False, 'sshproxyautologin': True, 'display': 1, 'useexports': True, 'iconvto': 'UTF-8', 'width': 800, 'mimeboxextensions': '', 'variant': '', 'xinerama': False, 'usemimebox': False, 'icon': ':icons/128x128/x2gosession.png', 'multidisp': False, 'maxdim': False, 'autostart': False, 'sshport': 22, 'defsndport': True, 'sessiontitle': '', 'autologin': True, 'setdpi': False, 'speed': 2, 'sshproxysameuser': False, 'rdpclient': 'rdesktop', 'print': False, 'key': '', 'usesshproxy': False, 'published': False, 'krblogin': False, 'iconvfrom': 'UTF-8', 'layout': 'us', 'kdrive': False, 'mimeboxaction': 'OPEN', 'pack': '16m-jpeg', 'clipboard': 'both', 'rdpoptions': '-u X2GO_USER -p X2GO_PASSWORD', 'setsessiontitle': False, 'rdpport': 3389, 'sshproxykeyfile': '', 'sshproxyhost': 'proxyhost.mydomain', 'fullscreen': False, 'autoconnect': False, 'restoreexports': False, 'startsoundsystem': False, 'forwardsshagent': False, 'directrdp': False, 'sshproxyuser': '', 'soundsystem': 'pulse', 'sshproxysamepass': False, 'sound': False, 'type': 'pc105/us', 'host': ['server.mydomain'], 'quality': 9, 'fstunnel': True, 'rootless': True, 'user': 'jenkins', 'usekbd': True, 'soundtunnel': True, 'sndport': 4713, 'rdpserver': '', 'name': 'NEW_PROFILE', 'applications': ['WWWBROWSER', 'MAILCLIENT', 'OFFICE', 'TERMINAL'], 'uniquehostkeyaliases': False, 'sshproxytype': 'SSH', 'sshproxyport': 22, 'command': 'TERMINAL', 'dpi': 96, 'xdmcpserver': 'localhost', 'directrdpsettings': ''}¶
-
default_profile_config
()[source]¶ Return a default session profile.
Returns: default session profile Return type: dict
-
delete_profile
(profile_id_or_name)[source]¶ Delete a session profile from the configuration file.
Parameters: profile_id_or_name ( str
) – profile ID or profile name
-
get_pkey_object
(profile_id)[source]¶ If available, return a PKey (Paramiko/SSH private key) object.
Parameters: profile_id ( str
) – the profile’s unique IDReturns: a Paramiko/SSH PKey object Return type: obj
-
get_profile_config
(profile_id_or_name=None, parameter=None, profile_id=None)[source]¶ The configuration options for a single session profile.
Parameters: - profile_id_or_name (
str
) – either profile ID or profile name is accepted (Default value = None) - parameter (
str
) – if specified, only the value for the given parameter is returned (Default value = None) - profile_id (
str
) – profile ID (faster than specifyingprofile_id_or_name
) (Default value = None)
Returns: the session profile configuration for the given profile ID (or name)
Return type: dict
- profile_id_or_name (
-
get_profile_metatype
(profile_id_or_name, force=False)[source]¶ Detect a human readable session profile type from the session profile configuration.
Parameters: - profile_id_or_name (
str
) – profile ID or profile name - force (
bool
) – re-detect the meta type, otherwise use a cached result (Default value = False)
Returns: the profile ID’s / name’s meta type
Return type: str
- profile_id_or_name (
-
get_profile_option_type
(option)[source]¶ Get the data type for a specific session profile option.
Parameters: option (will be detected by this method) – the option to get the data type for Returns: the data type of option
Return type: type
-
get_server_hostname
(profile_id)[source]¶ Retrieve host name of the X2Go Server configured in a session profile.
Parameters: profile_id ( str
) – the profile’s unique IDReturns: the host name of the X2Go Server configured by the session profile of the given profile ID Return type: list
-
get_server_port
(profile_id)[source]¶ Retrieve SSH port of the X2Go Server configured in a session profile.
Parameters: profile_id ( str
) – the profile’s unique IDReturns: the SSH port of the X2Go Server configured by the session profile of the given profile ID Return type: list
-
get_session_param
(profile_id_or_name, param)[source]¶ Get a single
x2go.session.X2GoSession
parameter from a specific session profile.Parameters: - profile_id_or_name (
str
) – either profile ID or profile name is accepted - param (
str
) – the parameter name in thex2go.session.X2GoSession
constructor method
Returns: the value of the session profile option represented by
param
Return type: depends on the session profile option requested
- profile_id_or_name (
-
has_profile
(profile_id_or_name)[source]¶ Does a session profile of a given profile ID or profile name exist?
Parameters: profile_id_or_name ( str
) – profile ID or profile nameReturns: True
if there is such a session profile,False
otherwiseReturn type: bool
-
has_profile_id
(profile_id)[source]¶ Does a session profile of a given profile ID exist? (Faster than
has_profile()
.)Parameters: profile_id ( str
) – profile IDReturns: True
if there is such a session profile,False
otherwiseReturn type: bool
-
has_profile_name
(profile_name)[source]¶ Does a session profile of a given profile name exist? (Faster than
has_profile()
.)Parameters: profile_name ( str
) – profile nameReturns: True
if there is such a session profile,False
otherwiseReturn type: bool
-
init_profile_cache
(profile_id_or_name)[source]¶ Some session profile backends (e.g. the broker backends cache dynamic session profile data). On new connections, it is recommented to (re-)initialize these caches.
Parameters: profile_id_or_name ( str
) – profile ID or profile name
-
is_mutable
(profile_id_or_name=None, profile_id=None)[source]¶ Check if a given profile name (or ID) is mutable or not.
Parameters: - profile_id_or_name (
str
) – profile name or profile ID (Default value = None) - profile_id (
str
) – if the profile ID is known, pass it in directly and skip thecheck_profile_id_or_name()
call (Default value = None)
Returns: True
if the session profile of the specified name/ID is mutableReturn type: bool
Raises: X2GoProfileException – if no such session profile exists
- profile_id_or_name (
-
mutable_profile_ids
()[source]¶ List all mutable session profiles.
Returns: List up all session profile IDs of mutable session profiles. Return type: bool
-
populate_session_profiles
()[source]¶ Load a session profile set from the configuration storage backend and make it available for this class.
Returns: a set of session profiles Return type: dict
-
profile_ids
¶ Render a list of all profile IDs found in the session profiles configuration.
-
profile_names
¶ Render a list of all profile names found in the session profiles configuration.
-
supports_mutable_profiles
()[source]¶ Check if the current session profile backend supports mutable session profiles.
Returns: list of mutable profiles Return type: list
-
to_profile_id
(profile_name)[source]¶ Convert profile name to profile ID.
Parameters: profile_name ( str
) – profile nameReturns: profile ID Return type: str
-
to_profile_name
(profile_id)[source]¶ Convert profile ID to profile name.
Parameters: profile_id ( str
) – profile IDReturns: profile name Return type: str
-
to_session_params
(profile_id_or_name=None, profile_id=None)[source]¶ Convert session profile options to
x2go.session.X2GoSession
constructor method parameters.Parameters: - profile_id_or_name (
str
) – either profile ID or profile name is accepted (Default value = None) - profile_id (
str
) – profile ID (fast than specifyingprofile_id_or_name
) (Default value = None)
Returns: a dictionary of
x2go.session.X2GoSession
constructor method parametersReturn type: dict
- profile_id_or_name (
-
update_value
(profile_id_or_name, option, value, profile_id=None)[source]¶ Update a value in a session profile.
Parameters: - profile_id_or_name (
str
) – the profile ID - option (
str
) – the session profile option of the given profile ID - value (any type, depends on the session profile option) – the value to update the session profile option with
- profile_id (
str
) – if the profile ID is known, pass it in directly and skip thecheck_profile_id_or_name()
call (Default value = None)
- profile_id_or_name (
-