The branch, twofactorauth has been updated via afe877606a79bc7b03749dd351ac20d2888e1a91 (commit) from d2fa372a6f7988a4743b8e683e759354bcf2dde1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: x2go/__init__.py | 112 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 68 insertions(+), 44 deletions(-) The diff of changes is: diff --git a/x2go/__init__.py b/x2go/__init__.py index 082ff61..f4b77dd 100644 --- a/x2go/__init__.py +++ b/x2go/__init__.py @@ -19,97 +19,121 @@ """\ Python X2go is a python module that implements X2go client support for -the free X2go server project (U{http://www.x2go.org}). +the free X2go server project (U{http://www.x2go.org}) in Python. Introduction ============ With Python X2go you can write your own X2go clients or embed X2go client - suport into already existing application environments. + features into already existing application environments. API Concept =========== - Python X2go consists of quite a few classes. Furthermore, Python X2go is quite heavily - taken advantage of Python threading features. As, when providing a library like Python - X2go, it is always quite a task to keep the library code compatible with former versions - of the same library. This intended for Python X2go, but with some restraints. + Python X2go consists of quite a few classes. Furthermore, + Python X2go is quite heavily taking advantage of Python\'s + threading features. As, when providing a library like Python + X2go, it is always quite a task to keep the library code + compatible with former versions of the same library. This is + intended for Python X2go, but with some restraints. - Python X2go only offers 5 public API classes. Once version 0.1.0 has been released, we - will try to keep these 5 public API classes as compatible as possible to former versions - of Python X2go. + Python X2go only offers 5 public API classes. Once version 0.1.0 + has been released, we will try to keep these 5 public API classes + as compatible as possible to former versions of Python X2go. These classes are: - L{X2goClient} --- a whole X2go client API - - L{X2goRegisteredSession} --- management of an individual X2go session - - L{X2goClientSettings} --- access to X2go (global and user) config file(s) »settings« - - L{X2goClientPrinting} --- access to X2go (global and user) config file(s) »printing« - - L{X2goSessionProfiles} --- access to X2go (global and user) config file(s) »sessions« + - L{X2goRegisteredSession} --- management of an individual X2go + session started from an L{X2goClient} instance + - L{X2goClientSettings} --- provide access to X2go (global and + user) config file(s) »settings« + - L{X2goClientPrinting} --- provide access to X2go (global and + user) config file(s) »printing« + - L{X2goSessionProfiles} --- provide access to X2go (global and + user) config file(s) »sessions« - Any other of the Python X2go classes may be subject to internal changes and they way of - addressing these classes in code may vary between versions. If you use them, so please be warned. + Any other of the Python X2go classes may be subject to internal changes + and the way of addressing these classes in code may vary between versions. + If you use them, so please be warned. API Structure ============= - When using Python X2go in your applications, the basic idea is that you create your own class - and inherit the X2goClient class in that:: + When using Python X2go in your applications, the basic idea is that you + create your own class and inherit the X2goClient class in that:: import x2go class MyX2goClient(x2go.X2goClient): ... - The X2goClient class flattens the complex structure behind it into many X2goClient methods that - you can use in your own MyX2goClient instances. + The X2goClient class flattens the complex structure behind it into many + X2goClient methods that you can use in your own C{MyX2goClient} instances. - However, it might be handy, to retrieve a whole X2go session instance from the X2goClient instance. - This can be achieved by the L{X2goClient.register_session} method:: + However, it might be handy, to retrieve a whole X2go session instance + from the X2goClient instance. This can be achieved by the + L{X2goClient.register_session()} method:: import x2go my_x2gocli = MyX2goClient() - session = my_x2gocli.register_session(<options>, return_object=True) + reg_session_instance = my_x2gocli.register_session(<options>, return_object=True) - Whereas <options> can be as simple as »profile_name=<PROFILE_NAME_IN_SESSIONS_FILE>« or contain a - whole set of L{X2goSession} parameters that can be used to start a session manually (and not based - on a pre-configured profile in either of the »sessions« config files). + Whereas <options> can be as simple as:: - The X2goClient.register_session method---in object-retrieval-mode---returns an X2goRegisteredSession - instance. With this instance you can then manage your X2go session:: + »profile_name=<PROFILE_NAME_IN_SESSIONS_FILE>« + + or contain a whole set of L{X2goSession} parameters that can be used to start a + session manually (and not based on a pre-configured profile in either of the + »sessions« config files). + + The X2goClient.register_session method---in object-retrieval-mode---returns + an X2goRegisteredSession instance. With this instance you can then manage + your X2go session:: import gevent, getpass pw=getpass.getpass() - session.connect(password=pw, <further_options>) - session.start() + # authenticate + reg_session_instance.connect(password=pw, <further_options>) + # launch the session window + reg_session_instance.start() # or resume the youngest session for gevent.sleep(60) session.suspend() # or alternatively: session.terminate() - Howto access---especially how to modify---the X2go client configuration files »settings«, »printing«, - »sessions« and »xconfig« (Windows only) is explained in detail above each class declaration in - this API documentation. Please refer to the class docs of L{X2goClientSettings}, L{X2goClientPrinting}, + Howto access---especially how to modify---the X2go client configuration + files »settings«, »printing«, »sessions« and »xconfig« (Windows only) + is explained in detail with each class declaration in this API documentation. + Please refer to the class docs of L{X2goClientSettings}, L{X2goClientPrinting}, L{X2goSessionProfiles} and {X2goXServer}. Configuration and Session Management ==================================== - Python X2go strictly separates configuration management from session management. The classes needed - for session management / administration are supposed to only »read access« to the classes handling the - X2go client configuration files. Each configuration file will be re-read whenever it is needed by - an X2go sesion or the X2goClient class itself. Conclusively, any change to either of the configuration files + Python X2go strictly separates configuration management from + session management. The classes needed for session management + / administration are supposed to only gain »read access« to the + classes handling the X2go client configuration files. + + NOTE: Each configuration file will be re-read whenever it is needed + by an X2go sesion or the X2goClient class itself. + + Conclusively, any change to either of the configuration files will be reflected as a change in your X2go client behaviour: - - X2goSessionProfiles: changing a session profile in the »sessions« file will be available for - the next registered X2goRegisteredSession instance - - X2goClientPrinting: on each incoming X2go print job the »printing« configuration file will be re-read, - thus you can change your X2go client's print setup during a running session - - X2goClientSettings: also the configuration file »settings« is re-read whenever needed in the course of - X2go session management - - X2goXServer (Windows only): this class will only be initialized once (starting the XServer on Windows - platforms) on construction of an X2goClient instance + - X2goSessionProfiles: changing a session profile in + the »sessions« file will be available for the next registered + X2goRegisteredSession instance + - X2goClientPrinting: on each incoming X2go print job the + »printing« configuration file will be re-read, thus you can + change your X2go client's print setup during a running session + - X2goClientSettings: also the configuration file »settings« + is re-read whenever needed in the course of X2go session management + - X2goXServer (Windows only): this class will only be initialized + once (starting the XServer on Windows platforms) on construction + of an X2goClient instance Dependencies ============ hooks/post-receive -- python-x2go.git (Python X2Go Client API) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "python-x2go.git" (Python X2Go Client API).