-
Notifications
You must be signed in to change notification settings - Fork 11
Conversation
Codecov Report
@@ Coverage Diff @@
## master #54 +/- ##
==========================================
- Coverage 88.56% 82.88% -5.69%
==========================================
Files 18 20 +2
Lines 1006 1221 +215
==========================================
+ Hits 891 1012 +121
- Misses 115 209 +94
Continue to review full report at Codecov.
|
…fig-improve * origin: added badges version & license added env vars WP_PORT_PHPMA & WP_PORT_SSHD updated changelog & version
Hello les guys ! J'ai vu que vous avez bien commencé le boulot. Je ne sais pas si vous avez regardé côté Django ou pas... mais la structure tend vers celle des Apps de Django, avec une "Registry" et des objets de Config. C'est donc plutôt un bon signe 🍾 Si jamais c'est une pure coincidence, voici tout de même la doc Django: https://docs.djangoproject.com/fr/1.11/ref/applications/#application-registry Des fois que vous y trouviez de choses à prendre... 🍰, 🍬 ou 🧀 |
…fl-idevelop/jahia2wp into feature-wwp-52-plugins-config-improve
…cations needed to be usable in jahia2wp.py
…wp site id' instead of 'wp site name', PEP8
Les tests travis foirent car la génération du site de test semble être faite depuis le dossier |
Les tests Travis ont passé car j'ai fait en sorte que le dossier courant soit dynamiquement récupéré dans le fichier Python dans lequel on utilise un chemin relatif. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Grosse modif discutée de vive voix: utiliser le nom du site (à partir de l'URL) comme id pour l'instant. On mettra en place l'ID (surement avec une DB dans une histoire ultérieure)
cf commentaire pour les autres détails
src/jahia2wp.py
Outdated
jahia2wp.py generate-many <csv_file> [--debug | --quiet] | ||
jahia2wp.py veritas <csv_file> [--debug | --quiet] | ||
jahia2wp.py inventory <wp_env> <path> [--debug | --quiet] | ||
jahia2wp.py generate-many <csv_file> [--debug | --quiet] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
modifier cette commande pour générer la config des plugins pour chaque site (plutot que de l'avoir dans WPGenerator.def generate_plugins
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On avait dit que finalement ça on ne faisait pas non ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
on a sauté celui-là. Mais je pense qu'on peut le supprimer effectivement...
... c'est comme le build-plugin qui est inclu dans generate. Le generate-many s'occupera de generer tous les sites et les plugins viendront avec.
src/jahia2wp.py
Outdated
jahia2wp.py generate-many <csv_file> [--debug | --quiet] | ||
jahia2wp.py veritas <csv_file> [--debug | --quiet] | ||
jahia2wp.py inventory <wp_env> <path> [--debug | --quiet] | ||
jahia2wp.py dump-plugin-config <wp_env> <wp_url> <output_file> [--debug | --quiet] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nom plus explicite, en phase avec le code
jahia2wp.py extract-plugins <wp_env> <wp_url> [--debug | --quiet]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'ai plutôt mis extract-plugin-config
parce qu'en fait, on extrait la configuration d'un plugin et pas la liste des plugins.
src/jahia2wp.py
Outdated
@@ -180,6 +182,14 @@ def veritas(csv_file, **kwargs): | |||
validator.print_errors() | |||
|
|||
|
|||
@dispatch.on('dump-plugin-config') | |||
def dump_plugin_config(wp_env, wp_url, output_file, **kwargs): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
extract plutot que dump
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Modifié en extract_plugin_config
src/settings.py
Outdated
} | ||
current_file_path = os.path.dirname(os.path.realpath(__file__)) | ||
PLUGINS_CONFIG_GENERIC_FOLDER = os.path.join(current_file_path, '../data/plugins/generic') | ||
PLUGINS_CONFIG_SPECIFIC_FOLDER = os.path.join(current_file_path, '../data/plugins/specific') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
attention au '/' qui n'est pas cross-platform. Utiliser plutot un tableau avec la fonction join sur la string os.path.sep
DATA_PATH = os.path.abspath(
os.path.sep.join([
os.path.dirname(__file__),
'..',
'data',
'wp',
]
)
)
src/wordpress/plugins.py
Outdated
self.plugin_name = plugin_name | ||
|
||
# If we have to download from web, | ||
if plugin_config['src'].lower() == 'web': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'web' ??
un peu de doc bienvenue ou une variable dans settings.py ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable ajoutée dans settings.py
src/wordpress/config.py
Outdated
@@ -245,36 +256,33 @@ def is_installed(self): | |||
return os.path.isdir(self.path) | |||
|
|||
@property | |||
def is_activate(self): | |||
def is_activated(self): | |||
command = "plugin list --status=active --field=name --fomat=json" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo sur --format
Me semble que j'ai fait tout ce qu'il fallait. Les tests Travis sont OK. |
…fig-improve * origin: ponsfrilus takes no T added examples. fixed readthedocs badge links on badge, logo link to readthedocs for documentation fixed links again added back simplified README for github homepage renamed README.md to index.md added logo at the end of the page to make it available on readthedocs.io updated links to new README location moved README to ./docs (for readthedocs.io) added 🎈 more icons detailed roadmap (and added icons)
…-container-wp-volumes * origin: (23 commits) add same parameters for generate as for generate-one mention git clone over HTTPS (not only SSH) merged in PR #54 do not decrease coverage PEP8 declare BACKUP_PATH in .env.sample added doc generate DB dump directly in proper directory added $BACKUP_PATH to override BACKUP_PATH (in travis) added tests and command to backup one site only gitignore backups same strategy for WPBackup as for WPGenerator for constructor and config roll run_wp_cli back into WPConfig removed relative path for backups. Added WP_PATH & BACKUP_PATH in settings using /tmp to generate tar in tests (for travis to pass) added tests for generate_tar not using site_id quite yet. name instead precision in doc for content of incremental files change description of tar file: all files are tared, not only php ones do not log twice command ...
From issue: #52
High level changes:
dump-plugin-config
a été ajoutée àjahia2wp.py
generate
etgenerate-many
utilisent la nouvelle structure de manière transparente pour installer et configurer les pluginsLow level changes:
WPPluginConfigManager
fourni des accès MySQL et des informations sur la structure des tables où sont stockées les informations de configuration des pluginsWPPluginConfigExtractor
(hérite deWPPluginConfigManager
) permet d'extraire les informations de configuration d'un plugin (stockées potentiellement dans X tables différentes) et de les sauver dans un fichier YAMLWPPluginConfigRestore
(hérite deWPPluginConfigManager
) permet de restaurer les informations de configuration d'un plugin à partir d'une instance deWPPluginConfigInfos
(décrite ci-dessous).WPPluginConfigList
fourni la liste des plugins à installer/configurer pour un site web donné par un id unique (cet ID doit encore être ajouté dans la source de vérité).WPPluginConfigInfos
permet de reconstruire les informations de configuration d'un plugin à partir d'une configuration générique à X sites et d'une potentielle configuration spécifique pour un site donné. Ces informations sont ensuite utilisées parWPPluginConfigRestore
afin d'être mises dans la DB.options
est gérée par le code.Todo, pour une prochaine itération:
Targetted version: x.x.x