source: spip-zone/_plugins_/trad-lang/trunk/spip-cli/SalvatoreLire.php @ 119869

Last change on this file since 119869 was 119869, checked in by Cerdic, 2 years ago

ajout d'une option --force sur salvatore:lire et bugfix de l'import en base du fichier de reference si aucune trad n'existe encore

  • Property svn:eol-style set to native
File size: 3.4 KB
Line 
1<?php
2
3/*
4    This file is part of Salvatore, the translation robot of Trad-lang (SPIP)
5
6    Salvatore is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
10
11    Trad-Lang is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with Trad-Lang; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20    Copyright 2003-2020
21        Florent Jugla <florent.jugla@eledo.com>,
22        Philippe Riviere <fil@rezo.net>,
23        Chryjs <chryjs!@!free!.!fr>,
24        kent1 <kent1@arscenic.info>
25        Cerdic <cedric@yterium.com>
26*/
27
28/**
29 * Prend les fichiers de langue de référence de salvatore/modules/ et met à jour la base de données
30 * pour les modules decrits dans le fichier traductions/traductions.txt
31 *
32 */
33
34
35use Spip\Cli\Console\Command;
36use Symfony\Component\Console\Input\InputArgument;
37use Symfony\Component\Console\Input\InputInterface;
38use Symfony\Component\Console\Input\InputOption;
39use Symfony\Component\Console\Output\OutputInterface;
40use Symfony\Component\Console\Helper\ProgressHelper;
41
42
43class SalvatoreLire extends Command {
44        protected function configure(){
45                $this
46                        ->setName('salvatore:lire')
47                        ->setDescription('Prend les fichiers de langue de référence de salvatore/modules/ et met à jour la base de données')
48                        ->addOption(
49                                'traductions',
50                                null,
51                                InputOption::VALUE_REQUIRED,
52                                'Chemin vers le fichier traductions.txt a utiliser [salvatore/traductions/traductions.txt]',
53                                null
54                        )
55                        ->addOption(
56                                'module',
57                                null,
58                                InputOption::VALUE_REQUIRED,
59                                'Un ou plusieurs modules a traiter (par defaut tous les modules du fichier de traduction seront traites)',
60                                null
61                        )
62                        ->addOption(
63                                'force',
64                                null,
65                                InputOption::VALUE_NONE,
66                                'Forcer la relecture du ou des modules et la mise a jour en base indépendament de la date de dernière mise a jour des fichiers',
67                                null
68                        )
69                ;
70        }
71
72        protected function execute(InputInterface $input, OutputInterface $output){
73                global $spip_racine;
74                global $spip_loaded;
75
76                include_spip('inc/salvatore');
77                include_spip('salvatore/lecteur');
78
79                salvatore_init(array($output, 'writeln'));
80
81
82                $output->writeln("<comment>=======================================</comment>");
83                $output->writeln("<comment>LECTEUR [Prend les fichiers de reference de salvatore/modules/ et met a jour la base de donnees]</comment>");
84                $output->writeln("<comment>=======================================</comment>");
85
86
87                $traductions = $input->getOption('traductions');
88                $liste_trad = salvatore_charger_fichier_traductions($traductions);
89                $n = count($liste_trad);
90                $output->writeln("<info>$n modules dans le fichier traductions " . ($traductions ? $traductions : '') . "</info>");
91
92                $modules = $input->getOption('module');
93                if ($modules = trim($modules)) {
94                        $liste_trad = salvatore_filtrer_liste_traductions($liste_trad, $modules);
95                        $n = count($liste_trad);
96                        $output->writeln("<info>$n modules à traiter : " . $modules . "</info>");
97                }
98
99                $force = $input->getOption('force');
100                salvatore_lire($liste_trad, $force);
101        }
102}
103
Note: See TracBrowser for help on using the repository browser.