VirtualMailManager/cli/clihelp.py
changeset 760 b678a1c43027
parent 748 659c4476c57c
child 761 e4e656f19771
equal deleted inserted replaced
748:659c4476c57c 760:b678a1c43027
     1 # -*- coding: UTF-8 -*-
       
     2 # Copyright (c) 2012 - 2014, Pascal Volk
       
     3 # See COPYING for distribution information.
       
     4 """
       
     5     VirtualMailManager.cli.vmmhelp
       
     6     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       
     7 
       
     8     Virtual Mail Manager's command line help.
       
     9 """
       
    10 
       
    11 _ = lambda msg: msg
       
    12 
       
    13 help_msgs = {
       
    14 # TP: There are some words enclosed within angle brackets '<'word'>'. They
       
    15 # are used to indicate replaceable arguments. Please do not translate them.
       
    16 #
       
    17 # The descriptions of subcommands may contain the both keywords 'domain'
       
    18 # and 'force', enclosed within single quotes. Please keep them as they are.
       
    19 #
       
    20     # TP: description of subcommand configget
       
    21     'configget': (_(u"""This subcommand is used to display the actual value
       
    22 of the given configuration <option>."""),),
       
    23     # TP: description of subcommand configset
       
    24     'configset': (_(u"""Use this subcommand to set or update a single
       
    25 configuration option's value. <option> is the configuration option, <value>
       
    26 is the <option>'s new value."""),
       
    27 _(u"""Note: This subcommand will create a new vmm.cfg without any comments.
       
    28 Your current configuration file will be backed as vmm.cfg.bak."""),),
       
    29     # TP: description of subcommand configure
       
    30     'configure': (_(u"""Starts the interactive configuration for all
       
    31 configuration sections."""),
       
    32 _(u"""In this process the currently set value of each option will be displayed
       
    33 in square brackets. If no value is configured, the default value of each
       
    34 option will be displayed in square brackets. Press the return key, to accept
       
    35 the displayed value."""),
       
    36 _(u"""If the optional argument <section> is given, only the configuration
       
    37 options from the given section will be displayed and will be configurable.
       
    38 The following sections are available:
       
    39 """),
       
    40 """    account, bin, database, domain, mailbox, misc""",
       
    41 _(u"""All configuration options are described in vmm.cfg(5)."""),
       
    42 _(u"""Note: This subcommand will create a new vmm.cfg without any comments.
       
    43 Your current configuration file will be backed as vmm.cfg.bak."""),),
       
    44     # TP: description of subcommand getuser
       
    45     'getuser': (_(u"""If only the <uid> is available, for example from process
       
    46 list, the subcommand getuser will show the user's address."""),),
       
    47     # TP: description of subcommand listaddresses
       
    48     'listaddresses': (_(u"""This command lists all defined addresses.
       
    49 Addresses belonging to alias-domains are prefixed with a '-', addresses of
       
    50 regular domains with a '+'. Additionally, the letters 'u', 'a', and 'r'
       
    51 indicate the type of each address: user, alias and relocated respectively.
       
    52 The output can be limited with an optional <pattern>."""),
       
    53 _(u"""To perform a wild card search, the % character can be used at the start
       
    54 and/or the end of the <pattern>."""),),
       
    55     # TP: description of subcommand listaliases
       
    56     'listaliases': (_(u"""This command lists all defined aliases. Aliases
       
    57 belonging to alias-domains are prefixed with a '-', addresses of regular
       
    58 domains with a '+'. The output can be limited with an optional <pattern>."""),
       
    59 # xgettext:no-python-format
       
    60 _(u"""To perform a wild card search, the % character can be used at the start
       
    61 and/or the end of the <pattern>."""),),
       
    62     # TP: description of subcommand listdomains
       
    63     'listdomains': (_(u"""This subcommand lists all available domains. All
       
    64 domain names will be prefixed either with `[+]', if the domain is a primary
       
    65 domain, or with `[-]', if it is an alias domain name. The output can be
       
    66 limited with an optional <pattern>."""),
       
    67 _(u"""To perform a wild card search, the % character can be used at the start
       
    68 and/or the end of the <pattern>."""),),
       
    69     # TP: description of subcommand listpwschemes
       
    70     'listpwschemes': (_(u"""This subcommand lists all password schemes which
       
    71 could be used in the vmm.cfg as value of the misc.password_scheme option.
       
    72 The output varies, depending on the used Dovecot version and the system's
       
    73 libc."""),
       
    74 _(u"""When your Dovecot installation isn't too old, you will see additionally
       
    75 a few usable encoding suffixes. One of them can be appended to the password
       
    76 scheme."""),),
       
    77     # TP: description of subcommand listrelocated
       
    78     'listrelocated': (_(u"""This command lists all defined relocated addresses.
       
    79 Relocated entries belonging to alias-domains are prefixed with a '-', addresses
       
    80 of regular domains with a '+'. The output can be limited with an optional
       
    81 <pattern>."""),
       
    82 _(u"""To perform a wild card search, the % character can be used at the start
       
    83 and/or the end of the <pattern>."""),),
       
    84     # TP: description of subcommand listusers
       
    85     'listusers': (_(u"""This command lists all user accounts. User accounts
       
    86 belonging to alias-domains are prefixed with a '-', addresses of regular
       
    87 domains with a '+'. The output can be limited with an optional <pattern>."""),
       
    88 _(u"""To perform a wild card search, the % character can be used at the start
       
    89 and/or the end of the <pattern>."""),),
       
    90     # TP: description of subcommand version
       
    91     'version': (_(u"""Prints vmm's version and copyright information to stdout.
       
    92 After this vmm exits."""),),
       
    93     # TP: description of subcommand domainadd
       
    94     'domainadd': (_(u"""Adds the new domain into the database and creates the
       
    95 domain directory."""),
       
    96 _(u"""If the optional argument <transport> is given, it will override the
       
    97 default transport (domain.transport) from vmm.cfg. The specified <transport>
       
    98 will be the default transport for all new accounts in this domain."""),
       
    99 _(u"""Configuration-related behavior:"""),
       
   100 u""" * domain.auto_postmaster""",
       
   101 _(u"""When that option is set to true (default) vmm will automatically create
       
   102 the postmaster account for the new domain and prompt for postmaster@<fqdn>'s
       
   103 password."""),
       
   104 u""" * account.random_password""",
       
   105 _(u"""When the value of that option is also set to true, vmm will automatically
       
   106 create the postmaster account for the new domain and print the generated
       
   107 postmaster password to stdout."""),),
       
   108     # TP: description of subcommand domaindelete
       
   109     'domaindelete': (_(u"""This subcommand deletes the domain specified by
       
   110 <fqdn>."""),
       
   111 _(u"""If there are accounts, aliases and/or relocated users assigned to the
       
   112 given domain, vmm will abort the requested operation and show an error
       
   113 message. If you know, what you are doing, you can specify the optional keyword
       
   114 'force'."""),
       
   115 _(u"""If you really always know what you are doing, edit your vmm.cfg and set
       
   116 the option domain.force_deletion to true."""),),
       
   117     # TP: description of subcommand domaininfo
       
   118     'domaininfo': (_(u"""This subcommand shows some information about the
       
   119 given domain."""),
       
   120 _(u"""For a more detailed information about the domain the optional argument
       
   121 <details> can be specified. A possible <details> value can be one of the
       
   122 following six keywords:"""),
       
   123 """    accounts, aliasdomains, aliases, catchall, relocated, full""",),
       
   124     # TP: description of subcommand domainquota
       
   125     'domainquota': (_(u"""This subcommand is used to configure a new quota
       
   126 limit for the accounts of the domain - not for the domain itself."""),
       
   127 _(u"""The default quota limit for accounts is defined in the vmm.cfg
       
   128 (domain.quota_bytes and domain.quota_messages)."""),
       
   129 _(u"""The new quota limit will affect only those accounts for which the limit
       
   130 has not been overridden. If you want to restore the default to all accounts,
       
   131 you may pass the keyword 'force'. When the argument <messages> was omitted the
       
   132 default number of messages 0 (zero) will be applied."""),),
       
   133     # TP: description of subcommand domainservices
       
   134     'domainservices': (_(u"""To define which services could be used by the
       
   135 users of the domain — with the given <fqdn> — use this subcommand."""),
       
   136 _(u"""Each specified <service> will be enabled/usable. All other services
       
   137 will be deactivated/unusable. Possible <service> names are:"""),
       
   138 u"""    imap, pop3, sieve, smtp""",
       
   139 _(u"""The new service set will affect only those accounts for which the set has
       
   140 not been overridden. If you want to restore the default to all accounts, you
       
   141 may pass the keyword 'force'."""),),
       
   142     # TP: description of subcommand domaintransport
       
   143     'domaintransport': (_(u"""A new transport for the indicated domain can be
       
   144 set with this subcommand."""),
       
   145 _(u"""The new transport will affect only those accounts for which the transport
       
   146 has not been overridden. If you want to restore the default to all accounts,
       
   147 you may pass the keyword 'force'."""),),
       
   148     # TP: description of subcommand domainnote
       
   149     'domainnote': (_(u"""With this subcommand, it is possible to attach a
       
   150 note to the specified domain. Without an argument, an existing note is
       
   151 removed."""),),
       
   152     # TP: description of subcommand aliasdomainadd
       
   153     'aliasdomainadd': (_(u"""This subcommand adds the new alias domain
       
   154 (<fqdn>) to the destination <domain> that should be aliased."""),),
       
   155     # TP: description of subcommand aliasdomaindelete
       
   156     'aliasdomaindelete': (_(u"""Use this subcommand if the alias domain
       
   157 <fqdn> should be removed."""),),
       
   158     # TP: description of subcommand aliasdomaininfo
       
   159     'aliasdomaininfo': (_(u"""This subcommand shows to which domain the alias
       
   160 domain <fqdn> is assigned to."""),),
       
   161     # TP: description of subcommand aliasdomainswitch
       
   162     'aliasdomainswitch': (_(u"""If the destination of the existing alias
       
   163 domain <fqdn> should be switched to another <destination> use this
       
   164 subcommand."""),),
       
   165     # TP: description of subcommand useradd
       
   166     'useradd': (_(u"""Use this subcommand to create a new e-mail account for
       
   167 the given <address>."""),
       
   168 _(u"""If the <password> is not provided, vmm will prompt for it interactively.
       
   169 When no <password> is provided and account.random_password is set to true, vmm
       
   170 will generate a random password and print it to stdout after the account has
       
   171 been created."""),),
       
   172     # TP: description of subcommand userdelete
       
   173     'userdelete': (_(u"""Use this subcommand to delete the account with the
       
   174 given <address>."""),
       
   175 _(u"""If there are one or more aliases with an identical destination address,
       
   176 vmm will abort the requested operation and show an error message. To prevent
       
   177 this, specify the optional keyword 'force'."""),),
       
   178     # TP: description of subcommand userinfo
       
   179     'userinfo': (_(u"""This subcommand displays some information about the
       
   180 account specified by <address>."""),
       
   181 _(u"""If the optional argument <details> is given some more information will be
       
   182 displayed. Possible values for <details> are:"""),
       
   183 u"""    aliases, du. full""",),
       
   184     # TP: description of subcommand username
       
   185     'username': (_(u"""The user's real <name> can be set/updated with this
       
   186 subcommand."""),
       
   187 _(u"""If no <name> is given, the value stored for the account is erased."""),
       
   188 ),
       
   189     # TP: description of subcommand userpassword
       
   190     'userpassword': (_(u"""The password of an account can be updated with this
       
   191 subcommand."""),
       
   192 _(u"""If no <password> was provided, vmm will prompt for it interactively."""),
       
   193 ),
       
   194     # TP: description of subcommand usernote
       
   195     'usernote': (_(u"""With this subcommand, it is possible to attach a note
       
   196 to the specified account. Without an argument, an existing note is
       
   197 removed."""),),
       
   198     # TP: description of subcommand userquota
       
   199     'userquota': (_(u"""This subcommand is used to set a new quota limit for
       
   200 the given account."""),
       
   201 _(u"""When the argument <messages> was omitted the default number of messages
       
   202 0 (zero) will be applied."""),
       
   203 _(u"""Instead of <storage> pass the keyword 'domain' to remove the
       
   204 account-specific override, causing the domain's value to be in effect."""),),
       
   205     # TP: description of subcommand userservices
       
   206     'userservices': (_(u"""To grant a user access to the specified services,
       
   207 use this command."""),
       
   208 _(u"""All omitted services will be deactivated/unusable for the user with the
       
   209 given <address>."""),
       
   210 _(u"""Instead of <service> pass 'domain' to remove the account-specific
       
   211 override, causing the domain's value to be in effect."""),),
       
   212     # TP: description of subcommand usertransport
       
   213     'usertransport': (_(u"""A different <transport> for an account can be
       
   214 specified with this subcommand."""),
       
   215 _(u"""Instead of <transport> pass 'domain' to remove the account-specific
       
   216 override, causing the domain's value to be in effect."""),),
       
   217     # TP: description of subcommand aliasadd
       
   218     'aliasadd': (_(u"""This subcommand is used to create a new alias
       
   219 <address> with one or more <destination> addresses."""),
       
   220 _(u"""Within the destination address, the placeholders '%n', '%d', and '%='
       
   221 will be replaced by the local part, the domain, or the email address with '@'
       
   222 replaced by '=' respectively. In combination with alias domains, this enables
       
   223 domain-specific destinations."""),),
       
   224     # TP: description of subcommand aliasdelete
       
   225     'aliasdelete': (_(u"""This subcommand is used to delete one or multiple
       
   226 <destination>s from the alias with the given <address>."""),
       
   227 _(u"""When no <destination> address was specified the alias with all its
       
   228 destinations will be deleted."""),),
       
   229     # TP: description of subcommand aliasinfo
       
   230     'aliasinfo': (_(u"""Information about the alias with the given <address>
       
   231 can be displayed with this subcommand."""),),
       
   232     # TP: description of subcommand relocatedadd
       
   233     'relocatedadd': (_(u"""A new relocated user can be created with this
       
   234 subcommand."""),
       
   235 _(u"""<address> is the user's ex-email address, for example
       
   236 b.user@example.com, and <newaddress> points to the new email address where
       
   237 the user can be reached."""),),
       
   238     # TP: description of subcommand relocatedinfo
       
   239     'relocatedinfo': (_(u"""This subcommand shows the new address of the
       
   240 relocated user with the given <address>."""),),
       
   241     # TP: description of subcommand relocateddelete
       
   242     'relocateddelete': (_(u"""Use this subcommand in order to delete the
       
   243 relocated user with the given <address>."""),),
       
   244     # TP: description of subcommand catchalladd
       
   245     'catchalladd': (_(u"""This subcommand allows to specify destination
       
   246 addresses for a domain, which shall receive mail addressed to unknown
       
   247 local-parts within that domain. Those catch-all aliases hence "catch all" mail
       
   248 to any address in the domain (unless a more specific alias, mailbox or
       
   249 relocated user exists)."""),
       
   250 _(u"""WARNING: Catch-all addresses can cause mail server flooding because
       
   251 spammers like to deliver mail to all possible combinations of names, e.g.
       
   252 to all addresses between abba@example.org and zztop@example.org."""),),
       
   253     # TP: description of subcommand catchallinfo
       
   254     'catchallinfo': (_(u"""This subcommand displays information about catch-all
       
   255 aliases defined for the domain <fqdn>."""),),
       
   256     # TP: description of subcommand catchalldelete
       
   257     'catchalldelete': (_(u"""With this subcommand, catch-all aliases defined
       
   258 for a domain can be removed, either all of them, or those <destination>s which
       
   259 were specified explicitly."""),),
       
   260 }
       
   261 
       
   262 del _