"dzddlZddlZddlZddlZddlmZddlmZddlm Z ee Z GddZ dS)N)shell)minimal_logger)fetchc`eZdZddZdZdZddZdZdZdZ d Z d Z d Z d Z d ZdZdS) WordpressNc"||_||_dSN)pathuser)selfr r s >/home/matt/dreamhost/git/dreamhost/dhwp/dhwp/core/wordpress.py__init__zWordpress.__init__ s  c tjd\}}}|dkr.tdt jdd|jz|g}|D]i\}}tj dd|}t|tkr|r| d|zN| d |d |jd d |z} |jr'd |jzd|j| z} td| ztj| \}}}|d}|d}td|z|dkr1td|zt jd|S)Nzwhich wprz*cannot find wpcli, please install it firstz --path=%s__-z--%sz--=zwp --no-color  zcd z; sudo -u {user} {command})r commandzwpcli command : %szutf-8zwpcli output %szwpcli failed with error %s)rcmdLOGfatalsysexitr itemsresubtypeboolappendjoinr formatinfodecode) r rkwargsouterrcodeargskeyvaluers r cliz Wordpress.clis:..S$ !88 IIB C C C HQKKKty(3/ ,,.. 6 6JC&S))CE{{d"".KK --- ee45555"SXXd^^3 I odi'*F*M*MSWS\fm*M*n*nnG %/0007++S$jj!!jj!! #c)*** !88 II3c9 : : : HQKKK rc2|d|zS)Nz db import r-)r sql_files r db_importzWordpress.db_import4sxx x/000rcf|stj\}}|d|z|S)Nz db export --set-gtid-purged=OFF )tempfilemkstempr-)r r0_s r db_exportzWordpress.db_export7s9 -"*,,KAx 3h>???rcV|dd}|S)Nz/option get siteurl --skip-plugins --skip-themes r-rstrip)r site_urls r r;zWordpress.site_url>s(88MNNUUVZ[[rcV|dd}|S)Nz0option get blogname --skip-plugins --skip-themesr8r9)r blognames r r=zWordpress.blognameCs(88NOOVVW[\\rcV|dd}|S)Nzconfig get table_prefixr8r9)r db_prefixs r r?zWordpress.db_prefixGs(HH677>>tDD rcVd|jz}tj|d}|dkrdSdS)Nz7wp --quiet --path=%s core is-installed > /dev/null 2>&1F)capturerT)r rr)r rr)s r is_installedzWordpress.is_installedKs5KdiWy%000 !8854rcdSr )r s r wp_importzWordpress.wp_importSs rc>|d|d|ddS)Nzsearch-replace rz7 --skip-plugins --skip-themes --all-tables-with-prefixr/)r old_urlnew_urls r renamezWordpress.renameVs1 bibibikrkrkrstttttrc|jdz}t||d||j}tj|\}}}|dkr9|jjd|d|tj dd|j }tj|\}}}|dkr;|jjd |d|tj ddSdS) Nz/wordpress.zipzDunzip -q {wpfile} -d {path} && rm {wpfile} )wpfiler rzerror extracting  : rzMmv {path}/wordpress/* {path} && rm -rf {path}/wordpress)r z error moving ) r rr#rrapplogrrr)r location dest_file extract_cmdr'r(r)move_cmds r download_sourcezWordpress.download_source]s"I 00  h """))/*0* *   ;//S$ !88 HL    ) 33 0 1 1 1 HQKKK117282 2   8,,S$ !88 HL   CCH I I I HQKKKKK 8rcd}d}tj|r|}n(tj\}}t ||d}d|j|}tj|\}}}|dkr9|j j d|d|tj d|rtj|dSdS) NFTz!cd {path} && tar zxvf {dest_file})r rPrzerror extracting package rLr)osr existsr3r4rr#rrrMrNrrrunlink) r rOrPunlink_file_afterr5rQr'r(r)s r download_packagezWordpress.download_packagews ! 7>>( # # % II#+--LAy (I & & & $ =DDE  ;//S$ !88 HL   6?iiE G G G HQKKK  ! Ii  ! !rczd}d}tj|r|}nVtj\}}t d|t||d}d|j||}t d|j|tj |\}}} | d kr7t d |d |d |tj d |rtj|dSdS)NFz!Downloading extra from {location})rOTz*cd {path}{subpath} && unzip -o {dest_file})r subpathrPz#Installing extra to {path}{subpath})r r[rzerror extracting extra z to rLr)rUr rVr3r4rr$r#rrrrrrrW) r rOrel_dirrPrXr5rQr'r(r)s r download_extrazWordpress.download_extrasX ! 7>>( # # % II#+--LAy HH8???RR S S S (I & & & $ FMMN  6==>   ;//S$ !88 III:C))WWWccR T T T HQKKK  ! Ii  ! !rr )__name__ __module__ __qualname__rr-r1r6r;r=r?rBrErIrSrYr]rDrr rr s"""H111    uuu4!!!.!!!!!rr) rUrrr3cementrcement.utils.miscrdhwp.core.curlrr^rrrDrr rds ,,,,,, nX]!]!]!]!]!]!]!]!]!]!r