指定ディレクトリの WordPress にインストールされてるプラグインのバージョンと、WordPress.org 上のプラグインのバージョンや最終更新日などを表示する
./list_wp_plugins.sh WordPressインストールディレクトリ
例)
./list_wp_plugins.sh /var/www/wordpress/
#!/bin/sh | |
SCRIPT_DIR=$(cd $(dirname $(readlink -f $0 || echo $0));pwd -P) | |
cd $SCRIPT_DIR | |
WP_PATH=$1 | |
if [ $# -lt 1 ]; then | |
echo "Usage: $0 Wordpress path" | |
echo | |
echo "e.g." | |
echo " $0 /var/www/wordpress/" | |
echo | |
exit | |
fi | |
function search_wordpress_org() | |
{ | |
TMP2=`mktemp` | |
NAME=$1 | |
WP_PATH=$2 | |
wp plugin search "$NAME" --path=$WP_PATH --skip-themes --skip-plugins --format=csv --fields=name,slug,version,tested,last_updated 2>&1 > $TMP2 | |
MATCH="`./retrieve_match_line.py $TMP2 $NAME`" | |
MATCH_COUNT=`echo $MATCH|wc -l` | |
if [ $MATCH_COUNT -eq 0 ]; then | |
echo "---,---,---" | |
else | |
echo $MATCH | |
fi | |
rm $TMP2 | |
} | |
################################################## | |
TMP=`mktemp` | |
wp plugin list --skip-themes --path=$WP_PATH --fields=name,version --format=csv 2>&1 > $TMP | |
echo "slug, current_ver, new_version, tested wp, last_updated" | |
for x in `cat $TMP | grep -v ^name` | |
do | |
NAME="`echo $x | cut -d, -f1`" | |
VERSION=`echo $x | cut -d, -f2` | |
SEARCH_RESULT=`search_wordpress_org $NAME $WP_PATH` | |
NEW_VERSION=`echo $SEARCH_RESULT|cut -d, -f1` | |
TESTED=`echo $SEARCH_RESULT|cut -d, -f2` | |
LAST_UPDATED=`echo $SEARCH_RESULT|cut -d, -f3` | |
echo "$NAME, $VERSION, $NEW_VERSION, $TESTED, $LAST_UPDATED" | |
done | |
rm $TMP |
#!/bin/env python | |
# -*- coding: utf-8 -*- | |
from __future__ import (division, print_function, absolute_import, unicode_literals) | |
import re | |
import sys | |
args = sys.argv | |
tmp_file = args[1] | |
search_name = args[2] | |
with open(tmp_file, 'r') as f: | |
for line in f: | |
if re.match(r"^name,", line): | |
continue | |
name, slug, version, tested, last_updated = line.decode('utf-8').strip().split(",", 4) | |
if slug != search_name: | |
continue | |
last_updated_trim = last_updated.replace('"', '') | |
print("{0},{1},{2}".format(version, tested, last_updated_trim)) | |
sys.exit() |