This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository python-x2go. from d157b22 docs/source/conf.py: Fix project name in comment. White-space change. new a499749 Some extra empty lines in __doc__ strings. new 1b190ab docs/source/conf.py: Switch to Sphinx theme 'haiku'. new 55027e3 docs/source/index.rst: Move introduction text from x2go/__init__.py into the index.rst file. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: docs/source/conf.py | 4 +- docs/source/index.rst | 173 +++++++++++++++++++++++++++++++++++++++++++++++++- x2go/__init__.py | 169 ------------------------------------------------ x2go/client.py | 3 + 4 files changed, 177 insertions(+), 172 deletions(-) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository python-x2go. commit a499749ff3b458585e0355c26d779855a7fb0f7b Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Tue Sep 11 14:15:33 2018 +0200 Some extra empty lines in __doc__ strings. --- x2go/__init__.py | 3 +++ x2go/client.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/x2go/__init__.py b/x2go/__init__.py index bc3749a..0024269 100644 --- a/x2go/__init__.py +++ b/x2go/__init__.py @@ -23,6 +23,7 @@ the free X2Go Server project (http://wiki.x2go.org) in Python. Introduction ============ + With Python X2Go you can write your own X2Go clients or embed X2Go client features into already existing application environments. @@ -170,6 +171,7 @@ Configuration and Session Management 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. On MS Windows Python gevent 1.0 is highly recommended. @@ -180,6 +182,7 @@ Dependencies Contact ======= + If you have any questions concerning Python X2Go, please sign up for the x2go-dev list (https://lists.x2go.org/listinfo/x2go-dev) and post your questions, requests and feedbacks there. diff --git a/x2go/client.py b/x2go/client.py index 8767b53..6ffb562 100644 --- a/x2go/client.py +++ b/x2go/client.py @@ -25,6 +25,7 @@ class implementation. Supported Features ================== + Supported features are: - X2Go multi-session management @@ -44,6 +45,7 @@ Supported Features Non-Profile Sessions ==================== + A new non-profile based X2Go session within an :class:`x2go.client.X2GoClient` instance is setup in the following way: @@ -77,6 +79,7 @@ Non-Profile Sessions Profiled Sessions ================= + A new profile based X2Go session (i.e. using pre-defined session profiles) within an :class:`x2go.client.X2GoClient` instance is setup in a much easier way: -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository python-x2go. commit 1b190aba10e7b87e4ab0fcb66b88a2b0cc66dc7a Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Tue Sep 11 16:15:35 2018 +0200 docs/source/conf.py: Switch to Sphinx theme 'haiku'. --- docs/source/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 22cd207..a4bc82b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -132,9 +132,9 @@ todo_include_todos = True # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -sphinx_want_ver = distutils.version.LooseVersion('1.3') +sphinx_want_ver = distutils.version.LooseVersion('1.0') if sphinxver >= sphinx_want_ver: - html_theme = 'classic' + html_theme = 'haiku' else: html_theme = 'default' -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository python-x2go. commit 55027e354c3d2edb4aae72466b51cf3ec485e3a2 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Tue Sep 11 16:20:16 2018 +0200 docs/source/index.rst: Move introduction text from x2go/__init__.py into the index.rst file. --- docs/source/index.rst | 173 +++++++++++++++++++++++++++++++++++++++++++++++++- x2go/__init__.py | 172 ------------------------------------------------- 2 files changed, 172 insertions(+), 173 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 9de0d56..b5b2acd 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -6,7 +6,178 @@ Welcome to Python X2Go's documentation! ======================================= -Contents: +Python X2Go is a Python module that implements X2Go client support for +the free X2Go Server project (http://wiki.x2go.org) in Python. + +Introduction +------------ + + With Python X2Go you can write your own X2Go clients or embed X2Go client + features into already existing application environments. + + NOTE: Beginning with v0.4.0.0 of Python X2Go all class names start with + X2Go***. Earlier versions used X2go***. As X2Go is the official name of the + project (i.e. with a capital X and a capital G) we have adapted the class + names to this circumstance. + +API Concept +----------- + + Python X2Go consists of quite a few classes. Furthermore, + Python X2Go is quite heavily taking advantage of Python\'s + threading features. 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 five public API classes. With the release of + version 0.1.0.0, we will try to keep these five public API classes + of future releases as compatible as possible with versions of Python X2Go + greater/equal than v0.1.0.0. + + The seven public API classes are: + + - :class:`x2go.client.X2GoClient` --- a whole X2Go client API + - :class:`x2go.session.X2GoSession` --- management of an individual X2Go + session--either started standalone or from within an :class:`x2go.client.X2GoClient` instance + - :class:`x2go.backends.settings.file.X2GoClientSettings` --- provide access to X2Go (global and + user) configuration node »settings« + - :class:`x2go.backends.printing.file.X2GoClientPrinting` --- provide access to X2Go (global and + user) configuration node »printing« + - :class:`x2go.backends.profiles.file.X2GoSessionProfiles` --- provide access to X2Go (global and + user) configuration node »sessions« + - :class:`x2go.backends.profiles.httpbroker.X2GoSessionProfiles` --- provide API for obtaining + session profiles from a http(s) based X2Go Session Broker + - :class:`x2go.backends.profiles.sshbroker.X2GoSessionProfiles` --- provide API for obtaining + session profiles from an SSH based X2Go Session Broker + + Plus two extra classes on MS Windows platforms: + + - :class:`x2go.xserver.X2GoClientXConfig` and :class:`x2go.xserver.X2GoXServer` --- these classes will be initialized + during :class:`x2go.client.X2GoClient` instantiation on MS Windows platforms and start an installed XServer + + 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 different + versions of Python X2Go. If you directly use other than the five public API + classes in your own applications, 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): + + ... + + Python X2Go is capable of handling multiple running/suspended sessions within the + same client instance, so for your application, there should not be any need of + instantiating more than one :class:`x2go.client.X2GoClient` object in parallel. + + NOTE: Doing so is--herewith--fully disrecommended. + + The :class:`x2go.client.X2GoClient` class flattens the complex structure of Python X2Go into + many :class:`x2go.client.X2GoClient` methods that you can use in your own ``MyX2GoClient`` instance. + + However, it might be handy to retrieve a whole X2Go session instance + from the :class:`x2go.client.X2GoClient` instance. This can be achieved by the + :func:`X2GoClient.register_session() <x2go.client.X2GoClient.register_session()>` method:: + + import x2go + my_x2gocli = MyX2GoClient() + 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 :class:`x2go.session.X2GoSession` parameters that can be used to start a + session manually (i.e. a session that is based on a pre-configured session profile + in either of the »sessions« config files). + + The :func:`X2GoClient.register_session() <x2go.client.X2GoClient.register_session()>` method---in object-retrieval-mode---returns + an :class:`x2go.session.X2GoSession` instance. With this instance you can then manage + your X2Go session:: + + import gevent, getpass + pw=getpass.getpass() + # authenticate + reg_session_instance.connect(password=pw, <further_options>) + # then launch the session window with either a new session + if start: + reg_session_instance.start() + # or resume a session + if resume: + reg_session_instance.resume(session_name=<X2Go-session-name>) + # leave it runnint for 60 seconds + gevent.sleep(60) + # and then suspend + if suspend: + reg_session_instance.suspend() + # or alternatively terminate it + elif terminate: + reg_session_instance.terminate() + + How to 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 :class:`x2go.backends.settings.file.X2GoClientSettings`, :class:`x2go.backends.printing.file.X2GoClientPrinting`, + :class:`x2go.backends.profiles.file.X2GoSessionProfiles` and :class:`x2go.xserver.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 gain »read access« to the + classes handling the X2Go client configuration nodes. + + A configuration node in Python X2Go can be a file, a gconf database + section, a section in the Windows registry, etc. + + NOTE: Each configuration node 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 nodes + will be reflected as a change in your X2Go client behaviour: + + - :class:`x2go.backends.profiles.file.X2GoSessionProfiles`: changes to a session profile in + the »sessions« node will be available for the next registered + :class:`x2go.session.X2GoSession` instance + - :class:`x2go.backends.printing.file.X2GoClientPrinting`: on each incoming X2Go print job the + »printing« configuration node will be re-read, thus you can + change your X2Go client's print setup during a running session + - :class:`x2go.backends.settings.file.X2GoClientSettings`: also the configuration node »settings« + is re-read whenever needed in the course of X2Go session management + - :class:`x2go.xserver.X2GoClientXConfig` and :class:`x2go.xserver.X2GoXServer` (Windows only): these classes will only be initialized + once (starting the XServer on Windows platforms) on construction + of an :class:`x2go.client.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. On MS Windows Python gevent 1.0 is highly recommended. + + Python X2Go (because of gevent) requires at least Python 2.6 or + Python 3.4. Further recent information on Python X2Go is available + at: https://wiki.x2go.org/doku.php/wiki:libs:python-x2go + +Contact +------- + + If you have any questions concerning Python X2Go, please sign up for the + x2go-dev list (https://lists.x2go.org/listinfo/x2go-dev) and post + your questions, requests and feedbacks there. + + +Contents +-------- .. toctree:: :maxdepth: 4 diff --git a/x2go/__init__.py b/x2go/__init__.py index 0024269..b08b771 100644 --- a/x2go/__init__.py +++ b/x2go/__init__.py @@ -17,178 +17,6 @@ # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. -"""\ -Python X2Go is a Python module that implements X2Go client support for -the free X2Go Server project (http://wiki.x2go.org) in Python. - -Introduction -============ - - With Python X2Go you can write your own X2Go clients or embed X2Go client - features into already existing application environments. - - NOTE: Beginning with v0.4.0.0 of Python X2Go all class names start with - X2Go***. Earlier versions used X2go***. As X2Go is the official name of the - project (i.e. with a capital X and a capital G) we have adapted the class - names to this circumstance. - -API Concept -=========== - - Python X2Go consists of quite a few classes. Furthermore, - Python X2Go is quite heavily taking advantage of Python\'s - threading features. 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 five public API classes. With the release of - version 0.1.0.0, we will try to keep these five public API classes - of future releases as compatible as possible with versions of Python X2Go - greater/equal than v0.1.0.0. - - The seven public API classes are: - - - :class:`x2go.client.X2GoClient` --- a whole X2Go client API - - :class:`x2go.session.X2GoSession` --- management of an individual X2Go - session--either started standalone or from within an :class:`x2go.client.X2GoClient` instance - - :class:`x2go.backends.settings.file.X2GoClientSettings` --- provide access to X2Go (global and - user) configuration node »settings« - - :class:`x2go.backends.printing.file.X2GoClientPrinting` --- provide access to X2Go (global and - user) configuration node »printing« - - :class:`x2go.backends.profiles.file.X2GoSessionProfiles` --- provide access to X2Go (global and - user) configuration node »sessions« - - :class:`x2go.backends.profiles.httpbroker.X2GoSessionProfiles` --- provide API for obtaining - session profiles from a http(s) based X2Go Session Broker - - :class:`x2go.backends.profiles.sshbroker.X2GoSessionProfiles` --- provide API for obtaining - session profiles from an SSH based X2Go Session Broker - - Plus two extra classes on MS Windows platforms: - - - :class:`x2go.xserver.X2GoClientXConfig` and :class:`x2go.xserver.X2GoXServer` --- these classes will be initialized - during :class:`x2go.client.X2GoClient` instantiation on MS Windows platforms and start an installed XServer - - 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 different - versions of Python X2Go. If you directly use other than the five public API - classes in your own applications, 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): - - ... - - Python X2Go is capable of handling multiple running/suspended sessions within the - same client instance, so for your application, there should not be any need of - instantiating more than one :class:`x2go.client.X2GoClient` object in parallel. - - NOTE: Doing so is--herewith--fully disrecommended. - - The :class:`x2go.client.X2GoClient` class flattens the complex structure of Python X2Go into - many :class:`x2go.client.X2GoClient` methods that you can use in your own ``MyX2GoClient`` instance. - - However, it might be handy to retrieve a whole X2Go session instance - from the :class:`x2go.client.X2GoClient` instance. This can be achieved by the - :func:`X2GoClient.register_session() <x2go.client.X2GoClient.register_session()>` method:: - - import x2go - my_x2gocli = MyX2GoClient() - 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 :class:`x2go.session.X2GoSession` parameters that can be used to start a - session manually (i.e. a session that is based on a pre-configured session profile - in either of the »sessions« config files). - - The :func:`X2GoClient.register_session() <x2go.client.X2GoClient.register_session()>` method---in object-retrieval-mode---returns - an :class:`x2go.session.X2GoSession` instance. With this instance you can then manage - your X2Go session:: - - import gevent, getpass - pw=getpass.getpass() - # authenticate - reg_session_instance.connect(password=pw, <further_options>) - # then launch the session window with either a new session - if start: - reg_session_instance.start() - # or resume a session - if resume: - reg_session_instance.resume(session_name=<X2Go-session-name>) - # leave it runnint for 60 seconds - gevent.sleep(60) - # and then suspend - if suspend: - reg_session_instance.suspend() - # or alternatively terminate it - elif terminate: - reg_session_instance.terminate() - - How to 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 :class:`x2go.backends.settings.file.X2GoClientSettings`, :class:`x2go.backends.printing.file.X2GoClientPrinting`, - :class:`x2go.backends.profiles.file.X2GoSessionProfiles` and :class:`x2go.xserver.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 gain »read access« to the - classes handling the X2Go client configuration nodes. - - A configuration node in Python X2Go can be a file, a gconf database - section, a section in the Windows registry, etc. - - NOTE: Each configuration node 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 nodes - will be reflected as a change in your X2Go client behaviour: - - - :class:`x2go.backends.profiles.file.X2GoSessionProfiles`: changes to a session profile in - the »sessions« node will be available for the next registered - :class:`x2go.session.X2GoSession` instance - - :class:`x2go.backends.printing.file.X2GoClientPrinting`: on each incoming X2Go print job the - »printing« configuration node will be re-read, thus you can - change your X2Go client's print setup during a running session - - :class:`x2go.backends.settings.file.X2GoClientSettings`: also the configuration node »settings« - is re-read whenever needed in the course of X2Go session management - - :class:`x2go.xserver.X2GoClientXConfig` and :class:`x2go.xserver.X2GoXServer` (Windows only): these classes will only be initialized - once (starting the XServer on Windows platforms) on construction - of an :class:`x2go.client.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. On MS Windows Python gevent 1.0 is highly recommended. - - Python X2Go (because of gevent) requires at least Python 2.6 or - Python 3.4. Further recent information on Python X2Go is available - at: https://wiki.x2go.org/doku.php/wiki:libs:python-x2go - -Contact -======= - - If you have any questions concerning Python X2Go, please sign up for the - x2go-dev list (https://lists.x2go.org/listinfo/x2go-dev) and post - your questions, requests and feedbacks there. - -""" - __NAME__ = 'python-x2go' __VERSION__ = '0.6.0.1' __AUTHOR__ = 'Mike Gabriel' -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/python-x2go.git