Commit 47d40d92 authored by Cerdic's avatar Cerdic

spip offline:rebuild

parent 754f53a3
......@@ -150,7 +150,7 @@ Les URLs à télécharger doivent être relatives au domaine consulté, et les
### Mise à jour des listes d'URLs
[TODO] Pour assurer une mise à jour de toutes les listes d'URLs existantes, il est possible de lancer depuis un cron système la commande
Pour assurer une mise à jour de toutes les listes d'URLs existantes, il est possible de lancer depuis un cron système la commande
```
spip offline:rebuild
```
......
<?php
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Helper\ProgressHelper;
class OfflineRebuild extends Command {
protected function configure() {
$this
->setName('offline:rebuild')
->setDescription('Reconstuire le service worker et toutes les listes d\'URLs des objets téléchargeables offline')
->addOption(
'refresh',
null,
InputOption::VALUE_OPTIONAL,
'Forcer la mise a jour du contenu des URLs avant de les parser',
false
)
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
include_spip('inc/offline');
global $spip_racine;
global $spip_loaded;
$refresh = $input->getOption('refresh');
$option = "";
if ($refresh) {
$option = " --refresh";
}
$output->writeln("\n<comment>Rebuild des services</comment>");
passthru('spip offline:build:services' . $option);
$files = glob(_DIR_ETC . 'offline/objets/urls-*.txt');
foreach ($files as $file) {
if (preg_match(",^urls-(\w+)-(\d+)\.txt$,", basename($file), $m)) {
$objet = $m[1];
$id_objet = $m[2];
$output->writeln("\n<comment>Rebuild des URLS $objet #$id_objet</comment>");
passthru("spip offline:build:urls --objet=$objet --id_objet=$id_objet" . $option);
}
}
$output->writeln("<info>Rebuild complet</info>");
}
}
......@@ -12,5 +12,6 @@
* [x] prompt pour pesistence du storage quand l'utilisateur demande a stocker du contenu pour plus tard
* [x] mise en cache d'une liste d'URL sur demande de l'utilisateur
* [ ] build du service worker lorsqu'on enregistre la configuration
* [x] spip-cli de rebuild complet pour appeler en cron
* [ ] permettre de mettre un tag dans une url d'image (?1234&offline-cache) pour forcer la mise en cache même si taille supérieure au seuil
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment