[X2Go-Commits] python-x2go.git - release/0.4.0.x (branch) updated: 846da07298c6b26d3280e30f991dc49b6dce33aa
X2Go dev team
git-admin at x2go.org
Tue Jan 7 16:15:50 CET 2014
The branch, release/0.4.0.x 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