source: spip-zone/_plugins_/trad-lang/trunk/spip-cli/SalvatorePousser.php @ 119843

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

Debut refactoring pousseur

  • Property svn:eol-style set to native
File size: 3.1 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 * Ce script va chercher les fichiers définis dans le fichier traductions/traductions.txt
30 *
31 */
32
33
34use Spip\Cli\Console\Command;
35use Symfony\Component\Console\Input\InputArgument;
36use Symfony\Component\Console\Input\InputInterface;
37use Symfony\Component\Console\Input\InputOption;
38use Symfony\Component\Console\Output\OutputInterface;
39use Symfony\Component\Console\Helper\ProgressHelper;
40
41
42class SalvatorePousser extends Command {
43        protected function configure(){
44                $this
45                        ->setName('salvatore:pousser')
46                        ->setDescription('Commit et push les fichiers de langues modifies des modules de langue décrits dans le fichier traductions')
47                        ->addOption(
48                                'traductions',
49                                null,
50                                InputOption::VALUE_REQUIRED,
51                                'Chemin vers le fichier traductions.txt a utiliser [salvatore/traductions/traductions.txt]',
52                                null
53                        )
54                        ->addOption(
55                                'module',
56                                null,
57                                InputOption::VALUE_REQUIRED,
58                                'Un ou plusieurs modules a traiter (par defaut tous les modules du fichier de traduction seront traites)',
59                                null
60                        )
61                ;
62        }
63
64        protected function execute(InputInterface $input, OutputInterface $output){
65                global $spip_racine;
66                global $spip_loaded;
67
68                include_spip('inc/salvatore');
69                include_spip('inc/salvatore_pousseur');
70
71                salvatore_init(array($output, 'writeln'));
72
73                $output->writeln("<comment>=======================================</comment>");
74                $output->writeln("<comment>POUSSEUR [Prend les fichiers langue dans sa copie locale et les commite+push SVN|GIT]</comment>");
75                $output->writeln("<comment>=======================================</comment>");
76
77                $traductions = $input->getOption('traductions');
78                $liste_trad = salvatore_charger_fichier_traductions($traductions);
79                $n = count($liste_trad);
80                $output->writeln("<info>$n modules dans le fichier traductions " . ($traductions ? $traductions : '') . "</info>");
81
82                $modules = $input->getOption('module');
83                if ($modules = trim($modules)) {
84                        $liste_trad = salvatore_filtrer_liste_traductions($liste_trad, $modules);
85                        $n = count($liste_trad);
86                        $output->writeln("<info>$n modules à traiter : " . $modules . "</info>");
87                }
88
89                salvatore_pousser($liste_trad);
90        }
91}
92
Note: See TracBrowser for help on using the repository browser.