Changeset - 569bdf2095f0
[Not reviewed]
0 1 0
Lance Edgar (lance) - 11 years ago 2013-10-11 16:23:35
lance@edbob.org
Tweaked Fabric `release` task.
1 file changed with 0 insertions and 11 deletions:
0 comments (0 inline, 0 general)
fabfile.py
Show inline comments
 
#!/usr/bin/env python
 
# -*- coding: utf-8  -*-
 
################################################################################
 
#
 
#  Rattail -- Retail Software Framework
 
#  Copyright © 2010-2012 Lance Edgar
 
#
 
#  This file is part of Rattail.
 
#
 
#  Rattail is free software: you can redistribute it and/or modify it under the
 
#  terms of the GNU Affero General Public License as published by the Free
 
#  Software Foundation, either version 3 of the License, or (at your option)
 
#  any later version.
 
#
 
#  Rattail is distributed in the hope that it will be useful, but WITHOUT ANY
 
#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
#  FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for
 
#  more details.
 
#
 
#  You should have received a copy of the GNU Affero General Public License
 
#  along with Rattail.  If not, see <http://www.gnu.org/licenses/>.
 
#
 
################################################################################
 

	
 
import os.path
 
import shutil
 

	
 
from fabric.api import *
 
from fabric.contrib.files import exists, upload_template
 

	
 

	
 
execfile(os.path.join(os.path.dirname(__file__), 'rattail', '_version.py'))
 

	
 

	
 
def get_overwrite(overwrite=None):
 
    """
 
    Obtain a canonical "overwrite" directive.
 
    """
 

	
 
    if overwrite in (True, False):
 
        return overwrite
 

	
 
    if overwrite is None:
 
        overwrite = raw_input("Overwrite as needed? [y/N]: ")
 
        overwrite = overwrite.strip().lower()
 
    else:
 
        overwrite = overwrite.lower()
 
    return overwrite.startswith('y')
 

	
 

	
 
def prettify(text):
 
    """
 
    Return a "prettified" version of text.
 

	
 
    This is basically copied from ``edbob.util``.
 
    """
 

	
 
    text = text.replace('_', ' ')
 
    text = text.replace('-', ' ')
 
    words = text.split()
 
    return ' '.join([x.capitalize() for x in words])
 

	
 

	
 
@task
 
def release():
 
    """
 
    Release a new version of 'rattail'.
 
    """
 

	
 
    shutil.rmtree('rattail.egg-info')
 
    local('python setup.py sdist --formats=gztar register upload')
 

	
 
    filename = 'rattail-{0}.tar.gz'.format(__version__)
 

	
 
    put(os.path.join('dist', filename), '/srv/pypi/{0}'.format(filename))
 
    with cd('/srv/pypi'):
 
        run('rm --recursive --force simple')
 
        run('compoze index')
 

	
 

	
 
@task
 
def create_user(overwrite=None):
 
    """
 
    Create the 'rattail' user account.
 
    """
 

	
 
    overwrite = get_overwrite(overwrite)
 

	
 
    with settings(warn_only=True):
 
        result = run('id rattail')
 

	
 
    if result.return_code: # user doesn't exist
 
        sudo('adduser --system --home /var/lib/rattail --group rattail')
 

	
 
    elif overwrite:
 
        sudo('usermod --home /var/lib/rattail --move-home --shell /bin/false rattail')
 

	
 

	
 
def configure_rattail_lib(overwrite=None):
 
    """
 
    Configure basic Rattail "library" files.
 
    """
 

	
0 comments (0 inline, 0 general)