Provided by: ddtc_0.17.1_all bug


       ddtc - ddts client tool to help translators and reviewers.




       This script helps both translators and reviewers with parsing mails from the ddts,
       splitting them into individual package files, sending reviews and patching buggy

       Before sending back the translation or the review to the server, the script performs a few
       tests on it and does not sent it if one of the following succeeds:

       - number of paragraphs is different in the description and its translation,
       - line length is more than 80 characters,
       - <tab> character is found,
       - line starts with a dot (.) followed by other characters.

       It can also be run in interactive mode if no command is provided. In this case, menus are
       displayed to prompt the user for commands.


       Here is the basic process:

       - Receiving mail from the ddts
           Pass the whole mail (i.e. with header and Mime parts) you received from the ddts to
           the standard input of this script, providing the parse command.

           If it finds descriptions to translate, it creates a package.todo file for each of them
           in your Base_dir/tr directory, diffing it with the preceding you have already
           translated if it exists.

           If it finds descriptions to review, it creates a package.todo file for each of them in
           your Base_dir/rev directory. If a preceding review exists, it diffs both and write the
           diff or set the description as reviewed if there is no difference.

           If it finds a bug report, it creates a package.bug file in your Base_dir/bug
           directory, it merges all bug reports to ease corrections. It also tries to detect
           collisions (see below).

       - Working with the files
           - Translating
               Rename the package.todo file in your Base/tr directory into

               Edit it with your favorite text editor.

           - Reviewing
               Rename the package.todo file in your Base_dir/rev directory into package.rev. Do
               not edit the package file (with no extension), it is used internally by ddtc.

               Edit it with your favorite text editor. You can add comments that will be sent to
               the translator by adding lines beginning with `>> ' (your $Comment variable
               contents followed by a mandatory space character).

               If a translation has already been reviewed and has been modified the script show
               you the differences between both versions.  Lines beginning with `>>--' correspond
               to your last version you reviewed, replace this by `+>--' if you think the
               translator is still wrong.  Lines beginning with `>>++' are the new translator's
               version, replace this by `+>++' if you agree with the translator.  Of course, if
               you still disagree with the translator, you can add comments as indicated above.

           - Fixing bugs
               Rename the package.bug file in your Base_dir/bug directory into package.fix.

               Edit it with your favorite text editor. It contains all changes and comments of
               the reviewers.

               Lines beginning with `>>' are comments and doesn't have to be removed. Lines
               beginning with `>>X+' are suggested corrections, replace this by `+>X+' if you
               want to validate it. Lines beginning with `>>--' are your last translation,
               replace this by `+>--' if you don't want to accept suggested corrections.

               Run the script providing the fix command. It creates a new file in your
               Base_dir/tr directory containing the unchanged lines and the lines you have

               To prevent collisions (reviewers sending review based on a different version than
               yours), don't send fixed descriptions too often (once a day should be fine),
               retrieve your mails and parse them just before fixing, send the fixed description
               as soon as possible afterward.

       - Sending files back to the ddts
           Run the script providing the mail command.

           It sends descriptions from and package.rev files back to the ddts renaming
           them into package.sent and closing bugs if necessary.

       - Sending commands to the server
           Run the script providing the commands you want to be sent to the server. It checks the
           commands and send them to the server.

           Available commands:

           section section name
           sget package name
           get package name
           get number of packages
           review package name
           review number of packages
           getbug list of bug numbers
           btsclose list of bug numbers
           notification list of languages

           In each set: sget/get/review/getbug/btsclose/notification, noneveraguide/neveraguide
           and noguide/guide, only the first found command is used. The script automatically adds
           language, encoding and mail address (Mail_in) if requested, noguide is default.

           Due to server limitation, to avoid risk of deny of service attack, you cannot receive
           for more than 9 new documents at the same time. The script does not check for this,
           but the server will.

           For sget, get, review, status and listtranslatedpackages you have either to define the
           $Language variable in you .ddtcrc configuration file, or to provide a language
           extension via the --lang or -l option.

       - Cleaning directories
           Run the script providing the clean command.

           It removes unnecessary files in ddtc directories but temporary one as this directory
           should be a system wide temporary directory cleaned via system scheduled threads, but
           for debugging reason.

       - Getting statistics about my work
           Run the script providing the stats command.

           It prints figures based on file counts, it may not be accurate if directory cleaning
           has not been made before.


       Verbosity level:

       -q, --quiet
           quiet mode

       -v  verbose, start at level $Debug + 1, add more for more verbosity (see below)

       --verbose n
           set verbosity level to n (see below)

       cc mails to one-self:

       -s, --mail-self
           send mails also to oneself

       -n, --nomail-self
           don't send mails to oneself


       -l, --lang
           language extension to use when asking for new documents to translate or to review

           send review in special format. Ask your language coordinator before using this option.

           send review in standard format.

       -V, --version
           print version and exit

       -h, --help
           print usage and exit

       Verbosity Level

       0 quiet
           only warnings and errors

       1 normal
           package names, reviewer/translator names and bugs numbers

       2 reserved
           for internal use

       3 debug normal
           names of subroutines

       4 debug verbose
           names and short arguments of subroutines

       5 debug very verbose
           names, arguments and return values of subroutines

       9 debug don't send mails
           same as 5 but send mails to oneself instead of ddts

       level 5 and 9 are really verbose, so you should direct the output to a file.




       Nicolas Bertolissio <>