Browse Source

improved ee site update and delete commands working

bugfixes
harshadyeola 10 years ago
parent
commit
2207525424
  1. 14
      ee/cli/plugins/site.py
  2. 7
      ee/cli/plugins/site_functions.py
  3. 45
      ee/cli/plugins/sitedb.py
  4. 3
      ee/core/mysql.py
  5. 2
      ee/core/variables.py
  6. 3
      install
  7. 2
      setup.py

14
ee/cli/plugins/site.py

@ -20,7 +20,6 @@ def ee_site_hook(app):
from ee.core.database import init_db
import ee.cli.plugins.models
init_db(app)
EESync(app).syncdbinfo()
class EESiteController(CementBaseController):
@ -579,7 +578,13 @@ class EESiteUpdateController(CementBaseController):
.format(ee_domain))
ee_auth = site_package_check(self, stype)
sitebackup(self, data)
try:
sitebackup(self, data)
except Exception as e:
Log.debug(self, str(e))
Log.error(self, "Check logs for reason "
"`tail /var/log/ee/ee.log` & Try Again!!!")
# setup NGINX configuration, and webroot
try:
@ -788,7 +793,7 @@ class EESiteDeleteController(CementBaseController):
# Delete website database
if self.app.pargs.db:
if ee_db_name != 'deleted':
if ee_db_name != 'deleted' and ee_db_name != '':
if not self.app.pargs.no_prompt:
ee_db_prompt = input('Are you sure, you want to delete'
' database [y/N]: ')
@ -807,7 +812,8 @@ class EESiteDeleteController(CementBaseController):
Log.info(self, "Deleted Database successfully.")
else:
mark_db_deleted = True
Log.info(self, "Database seems to be deleted.")
Log.info(self, "Does not seems to have database for this site."
)
# Delete webroot
if self.app.pargs.files:

7
ee/cli/plugins/site_functions.py

@ -506,8 +506,11 @@ def sitebackup(self, data):
.split(')')[0].strip().replace('\'', ''))
Log.info(self, 'Backing up database \t\t', end='')
try:
EEShellExec.cmd_exec(self, "mysqldump {0} > {1}/{0}.sql"
.format(ee_db_name, backup_path))
if not EEShellExec.cmd_exec(self, "mysqldump {0} > {1}/{0}.sql"
.format(ee_db_name, backup_path)):
Log.info(self,
"[" + Log.ENDC + Log.FAIL + "Fail" + Log.OKBLUE + "]")
raise SiteError("mysqldump failed to backup database")
except CommandExecutionError as e:
Log.info(self, "[" + Log.ENDC + "Fail" + Log.OKBLUE + "]")
raise SiteError("mysqldump failed to backup database")

45
ee/cli/plugins/sitedb.py

@ -4,7 +4,6 @@ from sqlalchemy.orm import relationship, backref
from sqlalchemy.ext.declarative import declarative_base
from ee.core.logging import Log
from ee.core.database import db_session
from ee.core.fileutils import EEFileUtils
from ee.cli.plugins.models import SiteDB
import sys
import glob
@ -117,47 +116,3 @@ def getAllsites(self):
except Exception as e:
Log.debug(self, "{0}".format(e))
Log.error(self, "Unable to query database")
class EESync(object):
def __init__(self, app):
self.app = app
def syncdbinfo(self):
"""
1. reads database information from wp/ee-config.php
2. updates records into ee database accordingly.
"""
sites = getAllsites(self)
if not sites:
pass
for site in sites:
if site.site_type in ['mysql', 'wp', 'wpsubdir', 'wpsubdomain']:
ee_site_webroot = site.site_path
# Read config files
configfiles = glob.glob(ee_site_webroot + '/*-config.php')
if configfiles:
if EEFileUtils.isexist(self, configfiles[0]):
ee_db_name = (EEFileUtils.grep(self, configfiles[0],
'DB_NAME').split(',')[1]
.split(')')[0].strip().replace('\'', ''))
ee_db_user = (EEFileUtils.grep(self, configfiles[0],
'DB_USER').split(',')[1]
.split(')')[0].strip().replace('\'', ''))
ee_db_pass = (EEFileUtils.grep(self, configfiles[0],
'DB_PASSWORD').split(',')[1]
.split(')')[0].strip().replace('\'', ''))
ee_db_host = (EEFileUtils.grep(self, configfiles[0],
'DB_HOST').split(',')[1]
.split(')')[0].strip().replace('\'', ''))
if site.db_name != ee_db_name:
# update records if any mismatch found
Log.debug(self, "Updating {0}"
.format(site.sitename))
updateSiteInfo(self, site.sitename,
db_name=ee_db_name,
db_user=ee_db_user,
db_password=ee_db_pass,
db_host=ee_db_host)

3
ee/core/mysql.py

@ -122,3 +122,6 @@ class EEMysql():
except DatabaseNotExistsError as e:
Log.debug(self, str(e))
return False
except MySQLConnectionError as e:
Log.debug(self, str(e))
return False

2
ee/core/variables.py

@ -12,7 +12,7 @@ class EEVariables():
"""Intialization of core variables"""
# EasyEngine version
ee_version = "3.0.8"
ee_version = "3.0.9"
# EasyEngine packages versions
ee_wp_cli = "0.18.0"

3
install

@ -48,7 +48,7 @@ fi
# Define variables for later use
ee_branch=$1
readonly ee_version_old="2.2.3"
readonly ee_version_new="3.0.8"
readonly ee_version_new="3.0.9"
readonly ee_log_dir=/var/log/ee/
readonly ee_install_log=/var/log/ee/install.log
readonly ee_linux_distro=$(lsb_release -i | awk '{print $3}')
@ -348,3 +348,4 @@ else
ee_lib_echo_fail "You already have EasyEngine $ee_version_new, exit status = " $? | tee -ai $ee_install_log
fi
fi
ee sync | tee -ai $EE_INSTALL_LOG

2
setup.py

@ -54,7 +54,7 @@ except Exception as e:
os.system("git config --global user.email {0}".format(ee_email))
setup(name='ee',
version='3.0.8',
version='3.0.9',
description=long_description,
long_description=long_description,
classifiers=[],

Loading…
Cancel
Save