The branch, twofactorauth has been updated via 846da07298c6b26d3280e30f991dc49b6dce33aa (commit) from 4b4fe7d0f2c4f215130fc2b084e672e98b4a7587 (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 | 115 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 105 insertions(+), 10 deletions(-) The diff of changes is: diff --git a/x2go/__init__.py b/x2go/__init__.py index ddfb2f7..082ff61 100644 --- a/x2go/__init__.py +++ b/x2go/__init__.py @@ -19,22 +19,117 @@ """\ Python X2go is a python module that implements X2go client support for -the free X2go server project. +the free X2go server project (U{http://www.x2go.org}). -With Python X2go you can write your own X2go clients. Python X2go takes advantage -of the libevent/greenlet implementation gevent (http://www.gevent.org). The least -needed version of Python gevent is 0.13.0 (or above). +Introduction +============ + With Python X2go you can write your own X2go clients or embed X2go client + suport into already existing application environments. -Python X2go (because of gevent) requires at least Python 2.6. Further recent information -on Python X2go is available at: http://das-netzwerkteam.de/site/?q=node/71 +API Concept +=========== -If you have any questions concerning Python X2go, please sign up for the -x2go-user list (https://lists.berlios.de/mailman/listinfo/x2go-user) and post -your questions, requests and feedbacks there. + 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 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« + + 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. + + +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:: + + 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. + + 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) + + 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). + + 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() + # 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}, + 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 + 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 + +Dependencies +============ + Python X2go takes advantage of the libevent/greenlet implementation + gevent (http://www.gevent.org). The least needed version of Python gevent + is 0.13.0 (or above). + + Python X2go (because of gevent) requires at least Python 2.6. Further recent + information on Python X2go is available at: + U{http://das-netzwerkteam.de/site/?q=node/71} + +Contact +======= + If you have any questions concerning Python X2go, please sign up for the + x2go-user list (https://lists.berlios.de/mailman/listinfo/x2go-user) and post + your questions, requests and feedbacks there. """ __NAME__ = 'python-x2go' -__VERSION__ = '0.0.14' +__VERSION__ = '0.0.15' from gevent import monkey monkey.patch_all() 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).