From 2e0b2f65357b35e787a672183008ee161633c103 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 1 Jun 2012 03:39:06 -0400 Subject: [PATCH] Finish uninstall task --- fabfile/__init__.py | 7 ++++--- fabfile/conf.py | 1 + fabfile/databases/mysql.py | 5 +++-- fabfile/platforms/__init__.py | 12 ++++++++++++ fabfile/platforms/ubuntu.py | 4 ++-- fabfile/webservers/__init__.py | 2 +- 6 files changed, 23 insertions(+), 8 deletions(-) diff --git a/fabfile/__init__.py b/fabfile/__init__.py index b0e11f2eb0..c770c891b0 100644 --- a/fabfile/__init__.py +++ b/fabfile/__init__.py @@ -1,4 +1,4 @@ -from fabric.api import task +from fabric.api import task, env from fabric.colors import white import databases as database @@ -43,10 +43,11 @@ def install(): @task def uninstall(): - platform.uninstall() + platform.delete_mayan() webserver.remove_site() + webserver.restart() if env.drop_database: - database.drop() + database.drop_database() diff --git a/fabfile/conf.py b/fabfile/conf.py index c9d28b4770..b0ec550ac7 100644 --- a/fabfile/conf.py +++ b/fabfile/conf.py @@ -32,6 +32,7 @@ def setup_environment(): env['database_username'] = getattr(env, 'database_username', DEFAULT_DATABASE_USERNAME) env['database_password'] = getattr(env, 'database_password', password_generator()) env['database_host'] = getattr(env, 'database_host', DEFAULT_DATABASE_HOST) + env['drop_database'] = getattr(env, 'drop_database', False) if not getattr(env, 'database_manager_admin_password', None): print('Must set the database_manager_admin_password entry in the fabric settings file (~/.fabricrc by default)') diff --git a/fabfile/databases/mysql.py b/fabfile/databases/mysql.py index 0a3b11b76b..eeed8f3412 100644 --- a/fabfile/databases/mysql.py +++ b/fabfile/databases/mysql.py @@ -1,4 +1,4 @@ -from fabric.api import run, sudo, cd, env, task +from fabric.api import run, env, task, settings def create_database(): @@ -14,5 +14,6 @@ def drop_database(): """ Drop MySQL's Mayan EDMS's database """ - run('echo "drop database %(database_name)s;" | mysql -u root --password=%(database_manager_admin_password)s' % env) + with settings(warn_only=True): + run('echo "drop database %(database_name)s;" | mysql -u root --password=%(database_manager_admin_password)s' % env) diff --git a/fabfile/platforms/__init__.py b/fabfile/platforms/__init__.py index 3d9dfc41c6..99a428ba55 100644 --- a/fabfile/platforms/__init__.py +++ b/fabfile/platforms/__init__.py @@ -62,3 +62,15 @@ def install_webserver(): if env.os == OS_UBUNTU: ubuntu.install_webserver() + + +@task +def delete_mayan(): + """ + Delete Mayan EDMS from the OS + """ + + print(green('Deleting Mayan EDMS files', bold=True)) + + if env.os == OS_UBUNTU: + ubuntu.delete_mayan() diff --git a/fabfile/platforms/ubuntu.py b/fabfile/platforms/ubuntu.py index 25613a62ce..8b28e719d0 100644 --- a/fabfile/platforms/ubuntu.py +++ b/fabfile/platforms/ubuntu.py @@ -10,9 +10,9 @@ def install_dependencies(): sudo('apt-get install -y git-core gcc tesseract-ocr unpaper python-virtualenv ghostscript libjpeg-dev libpng-dev poppler-utils') -def uninstall(): +def delete_mayan(): """ - Uninstall Mayan EDMS from an Ubuntu system + Delete Mayan EDMS files from an Ubuntu system """ sudo('rm %s -Rf' % env.virtualenv_path) diff --git a/fabfile/webservers/__init__.py b/fabfile/webservers/__init__.py index b4c46991c1..ceaeeebf1e 100644 --- a/fabfile/webservers/__init__.py +++ b/fabfile/webservers/__init__.py @@ -22,7 +22,7 @@ def remove_site(): """ Install Mayan EDMS's site file from the webserver's configuration """ - print(green('Removing Mayan EDMS\s site file from %s configuration' % env.webserver_name, bold=True)) + print(green('Removing Mayan EDMS\'s site file from %s configuration' % env.webserver_name, bold=True)) if env.webserver == WEB_APACHE: apache.remove_site()