Mercurial > hg > buttercup
view buttercup/buttercup.py @ 47:0274d9d9fcd4
add dev requirements from lemur box
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Tue, 12 Nov 2013 10:29:30 -0800 |
parents | cee8bf9cc5a2 |
children | c99fbe84c3c2 |
line wrap: on
line source
""" the flower blooming to k0s.org """ import os import source try: from subprocess import check_call as call except ImportError: from subprocess import call class Buttercup(object): # k0sware software # TODO: make this a `package` (or more likely `python-package`) # subtype HG='http://k0s.org/hg' PACKAGES=['bitsyapps', 'bitsyauth', 'bitsyblog', 'bitsytweet', 'buttercup', 'clwapp', 'commentator', 'contenttransformer', 'cropresize', 'decoupage', 'emaildispatcher', 'genshi_view', 'hgpaste', 'lxmlmiddleware', 'martINI', 'montage', 'pyloader', 'redirector', 'relocator', 'svgsitemap', 'uploader', 'webob_view', 'wordstream', 'wsgintegrate'] def __init__(self, srcdir): self.srcdir = srcdir # TODO: this should all go in a `pip` requirements file # base webapps and dependencies self.sources = {'hg': ['%s/%s' % (self.HG, package) for package in self.PACKAGES ]} self.sources['git'] = ['git://github.com/mozilla/toolbox.git'] # extra tools self.sources['hg'].append('http://k0s.org/mozilla/hg/licenser') def install(self): """install all software needed for this flower""" source_objs = source.sources(self.sources, srcdir=self.srcdir) for source_obj in source_objs: source_obj() # clone/update the software def setup(self, source_objs=None): """setup python packages for development""" if source_objs is None: source_objs = source.sources(self.sources, srcdir=self.srcdir) for source_obj in source_objs: if os.path.exists(os.path.join(source_obj.directory(), 'setup.py')): call(['python', 'setup.py', 'develop'], cwd=source_obj.directory()) def deploy(self): self.install() self.setup() __call__ = deploy