This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2goclient.

commit 17d1be1319ba6dfcf7dd6748ee14a186c30b1e56
Author: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
Date:   Thu Sep 2 08:18:27 2021 +0200

    pyhoca-cli: Add cmdline option --list-cmdline-features. Required for 
Remmina X2Go Plugin.
---
 debian/changelog |  2 ++
 pyhoca-cli       | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 4b702e7c..b27ae4a0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,8 @@ pyhoca-cli (0.6.1.3-0x2go1) UNRELEASED; urgency=medium
     - pyhoca-cli: Add --kdrive cmdline option.
     - pyhoca-cli.1 man page: Drop -d from --quiet documentation line.
     - Move --dpi cmdline option from X2Go options to NX options.
+    - pyhoca-cli: Add cmdline option --list-cmdline-features. Required for
+      Remmina X2Go Plugin.
 
   [ Daniel Teichmann ]
   * New upstream release (0.6.1.3):
diff --git a/pyhoca-cli b/pyhoca-cli
index 0ed5c40e..4ae5cc36 100755
--- a/pyhoca-cli
+++ b/pyhoca-cli
@@ -138,7 +138,19 @@ action_options =   [
                    {'args':['--list-desktops'], 'default': False, 'action': 
'store_true', 'help': 'list X2Go desktop sessions that are available for 
sharing', },
                    {'args':['--list-profiles'], 'default': False, 'action': 
'store_true', 'help': 'list user\'s X2Go pre-configured session profiles', },
                    {'args':['-P','--session-profile'], 'default': None, 
'help': 'load x2goclient session profiles and use the session profile 
SESSION_PROFILE', },
+                   {'args':['--list-cmdline-features'], 'default': False, 
'action': 'store_true', 'help': 'show a list of parseable command line features 
available in this PyHoca-CLI version', },
                  ]
+action_features = [ 'NEW',
+                    'TRY_RESUME',
+                    'RESUME',
+                    'SHARE_DESKTOP',
+                    'SUSPEND',
+                    'TERMINATE',
+                    'LIST_SESSIONS',
+                    'LIST_DESKTOPS',
+                    'SESSION_PROFILE',
+                    'LIST_CLIENT_FEATURES',
+                  ]
 if _X2GOCLIENT_OS == "Linux":
     action_options.append(
                    {'args':['--from-stdin'], 'default': False, 'action': 
'store_true', 'help': 'for LightDM remote login: read <username> <password> 
<host[:port]> <desktopshell> from STDIN', },
@@ -152,6 +164,12 @@ debug_options =   [
                     {'args':['--libdebug-sftpxfer'], 'default': False, 
'action': 'store_true', 'help': 'enable debugging code of Python X2Go\'s sFTP 
server code (very verbose, and even promiscuous)', },
                     {'args':['-V', '--version'], 'default': False, 'action': 
'store_true', 'help': 'print version number and exit', },
                   ]
+debug_features =  [ 'DEBUG',
+                    'QUIET',
+                    'LIBDEBUG',
+                    'LIBDEBUG_SFTPXFER',
+                  ]
+
 # possible programme options are
 x2go_options =    [
                     # NOT IMPLEMENTED {'args':['--config'], 'default': 
'~/.x2goclient/sessions', 'help': 'x2goclient config file containing x2go 
session settings (default: ~/.x2goclient/sessions)', },
@@ -171,9 +189,29 @@ x2go_options =    [
                     {'args':['--auth-attempts'], 'default': 3, 'help': 'number 
of authentication attempts before authentication fails (default: 3)', },
                     {'args':['--kdrive'], 'default': False, 'action': 
'store_true', 'help': 'as graphical backend use the X2Go Kdrive Xserver instead 
of the default NXv3 Xserver', },
                   ]
+x2go_features =   [ 'COMMAND',
+                    'USERNAME',
+                    'PASSWORD',
+                    'FORCE_PASSWORD',
+                    'REMOTE_SSH_PORT',
+                    'SSH_PRIVKEY',
+                    'ADD_TO_KNOWN_HOSTS',
+                    'SOUND',
+                    'PRINTING',
+                    'SHARE_MODE',
+                    'SHARE_LOCAL_FOLDERS',
+                    'CLEAN_SESSIONS',
+                    'TERMINATE_ON_CTRL_C',
+                    'AUTH_ATTEMPTS',
+                    'KDRIVE',
+                  ]
+
 ssh_options =     [
                     {'args':['-A', '--forward-sshagent'], 'default': False, 
'action': 'store_true', 'help': 'forward SSH agent authentication socket', },
                   ]
+ssh_features =    [ 'FORWARD_SSHAGENT',
+                  ]
+
 print_options =   [
                     {'args':['--print-action'], 'default': 'PDFVIEW', 
'choices': PRINT_ACTIONS, 'help': 'action to be performed for incoming X2Go 
print jobs (default: \'PDFVIEW\')', },
                     {'args':['--pdfview-cmd'], 'default': None, 'help': 'PDF 
viewer command for displaying incoming X2Go print jobs (default: \'%s\'); this 
option selects \'--print-action PDFVIEW\'' % DEFAULT_PDFVIEW_CMD,},
@@ -181,10 +219,21 @@ print_options =   [
                     {'args':['--printer'], 'default': None, 'help': 'target 
CUPS print queue for incoming X2Go print jobs (default: CUPS default printer); 
this option selects \'--print-action CUPS\'',},
                     {'args':['--print-cmd'], 'default': None, 'help': 'print 
command including cmd line arguments (default: \'%s\'); this option selects 
\'--print-action PRINTCMD\'' % DEFAULT_PRINTCMD_CMD,},
                   ]
+print_features =  [ 'PRINT_ACTION',
+                    'PDFVIEW_CMD',
+                    'SAVE_TO_FOLDER',
+                    'PRINTER',
+                    'PRINT_CMD',
+                  ]
+
 broker_options =  [
                     {'args':['-B','--broker-url'], 'default': None, 'help': 
'retrieve session profiles via an X2Go Session Broker under the given URL', },
                     {'args':['--broker-password'], 'default': None, 'help': 
'password for authenticating against the X2Go Session Broker', },
                   ]
+broker_features = [ 'BROKER_URL',
+                    'BROKER_PASSWORD',
+                  ]
+
 session_options = [
                     {'args':['-g','--geometry'], 'default': '800x600','help': 
'screen geometry: \'<width>x<height>\' or \'fullscreen\' (default: 
\'800x600\')',},
                     {'args':['-x','--xinerama'], 'default': False, 'action': 
'store_true', 'help': 'enable Xinerama support in remote X2Go session',},
@@ -196,6 +245,17 @@ session_options = [
                     {'args':['-C', '--clipboard-mode'], 'default': 'both', 
'help': 'configure clipboard mode (default: \'both\' directions, other allowed 
values: \'none\' for no clipboard support, \'client\' to server copy+pasting 
only, \'server\' to client copy+pasting only)',},
                     {'args':['--dpi'], 'default': None, 'help': 'resolution 
(in dots per inch) to be used by the X2Go session\'s Xserver', },
                   ]
+session_features =[ 'GEOMETRY',
+                    'XINERAMA',
+                    'LINK',
+                    'SESSION_TYPE',
+                    'PACK',
+                    'KBD_TYPE',
+                    'KBD_LAYOUT',
+                    'CLIPBOARD_MODE',
+                    'DPI',
+                  ]
+
 compat_options =  [
                     {'args':['--port'], 'default': None, 'help': 
'compatibility option, synonymous to --remote-ssh-port PORT', },
                     {'args':['--ssh-key'], 'default': None, 'help': 
'compatibility option, synonymous to --ssh-privkey SSH_KEY', },
@@ -235,6 +295,18 @@ def version():
     sys.stderr.write ("%s\n" % VERSION_TEXT)
     sys.exit(0)
 
+def list_features():
+    feature_list = action_features \
+                 + debug_features  \
+                 + x2go_features   \
+                 + ssh_features    \
+                 + print_features  \
+                 + broker_features \
+                 + session_features
+    feature_list.sort()
+    for f in feature_list:
+        print(f)
+    sys.exit(0)
 
 def parseargs():
 
@@ -290,6 +362,9 @@ Possible values for the --pack NX option are:
     if a.version:
         version()
 
+    if a.list_cmdline_features:
+        list_features()
+
     if type(a.host) == str and not a.username and "@" in a.host:
         a.username = a.host.split('@')[0]
         a.host = '@'.join(a.host.split('@')[1:])

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on 
/srv/git/code.x2go.org/x2goclient.git
_______________________________________________
x2go-commits mailing list
x2go-commits@lists.x2go.org
https://lists.x2go.org/listinfo/x2go-commits

Reply via email to