#!/bin/sh # hendry@iki.fi #EDIT THESE DIR=/home/hendry/wordpress/blog #DIR=/home/hendry/projects/pyblosxom2wordpress/test #mysql -u studiolist -p -h mysql.studiolist.biz studiolist_development #USER="wplocaldomain" #HOST="localhost" #DB=$USER #PASS="xqpITgbm" #USER="studiolist" #HOST="mysql.studiolist.biz" #DB="studiolist_development" USER="hendry" HOST="mysql.natalian.org" DB="natalian" #PREFIX is 99% of the time "wp" PREFIX="natalian" #No need to edit below this line stty -echo # turn off echo read -p "MySQL password: " PASS; echo stty echo # turn it back on query(){ result=`echo "$*" | mysql -N -h $HOST -u $USER --password=$PASS $DB` return $? } escape(){ echo "$*" | sed "s/'/\\\\\'/g" } for i in `find $DIR -iname '*.txt'` do CAT=`dirname $i` CAT=`basename $CAT` MODTIME=`stat -c %Y $i` NICECAT=`echo $CAT | tr '[A-Z]' '[a-z]'` TITLE=`head -1 $i` TITLE=`escape $TITLE` NICETITLE=`echo $TITLE | tr '[A-Z]' '[a-z]'| tr '[:punct:][:blank:]' "-"` BODY=`tail +2 $i` BODY=`escape $BODY` # Import categories (or rather tags as no hierarchical info) query "SELECT cat_ID FROM ${PREFIX}_categories WHERE (cat_name)=('$CAT');" CATID=$result if [[ ! ${result:+set} ]]; then # result would be there if it existed query "INSERT INTO ${PREFIX}_categories ( cat_name, category_nicename ) VALUES ('$CAT', '$NICECAT');" query "SELECT cat_ID FROM ${PREFIX}_categories WHERE (cat_name)=('$CAT');" CATID=$result fi # Import posts query "SELECT ID FROM ${PREFIX}_posts WHERE (post_name)=('$NICETITLE');" if [[ ! ${result:+set} ]]; then # result would be there if it existed #echo -n INSERTING echo $CAT $CATID $MODTIME $TITLE $NICETITLE $i query "INSERT INTO ${PREFIX}_posts ( post_date, post_content, post_title, post_name ) VALUES ( FROM_UNIXTIME('$MODTIME'), '$BODY', '$TITLE', '$NICETITLE');" query "SELECT ID FROM ${PREFIX}_posts WHERE (post_name)=('$NICETITLE');" #else #POSTID=$result fi POSTID=$result # Set post2cat tag relasonships query "SELECT rel_id FROM ${PREFIX}_post2cat WHERE (post_id, category_id)=('$POSTID', '$CATID');" if [[ ! ${result:+set} ]]; then # result would be there if it existed query "INSERT INTO ${PREFIX}_post2cat ( post_id, category_id ) VALUES ('$POSTID', '$CATID');" #else #echo $result fi done # Fix category count query "UPDATE ${PREFIX}_categories SET category_count = (SELECT COUNT(${PREFIX}_post2cat.rel_id) FROM ${PREFIX}_post2cat WHERE ${PREFIX}_categories.cat_ID = ${PREFIX}_post2cat.category_id)" #echo $result