[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: afe877606a79bc7b03749dd351ac20d2888e1a91
X2Go dev team
git-admin at x2go.org
Wed Jan 8 15:29:09 CET 2014
The branch, build-baikal 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).
More information about the x2go-commits
mailing list