[X2Go-Commits] python-x2go.git - twofactorauth (branch) updated: 846da07298c6b26d3280e30f991dc49b6dce33aa

X2Go dev team git-admin at x2go.org
Sat Sep 14 15:55:19 CEST 2013

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).
+    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
+    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}
+    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

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).

More information about the x2go-commits mailing list