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

X2Go dev team git-admin at x2go.org
Wed Jan 8 15:27:15 CET 2014


The branch, build-baikal 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).




More information about the x2go-commits mailing list