annotate buttercup/buttercup.py @ 37:8d67dbd068cd

add wsgintegrate to required software
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 13 Jun 2011 07:23:26 -0700
parents 2aa78e65d882
children 1744fe69a129
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 """
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 the flower blooming to k0s.org
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 """
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4
30
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
5 import os
33
f3878c2f7032 add neglected import
Jeff Hammel <jhammel@mozilla.com>
parents: 31
diff changeset
6 import source
30
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
7 try:
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
8 from subprocess import check_call as call
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
9 except ImportError:
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
10 from subprocess import call
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
11
18
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12 class Buttercup(object):
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 # k0sware software
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 HG='http://k0s.org/hg'
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 PACKAGES=['bitsyapps',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 'bitsyauth',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18 'bitsyblog',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19 'bitsytweet',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20 'buttercup',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21 'clwapp',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22 'commentator',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
23 'contenttransformer',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
24 'cropresize',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25 'decoupage',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
26 'emaildispatcher',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
27 'genshi_view',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
28 'hgpaste',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
29 'lxmlmiddleware',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
30 'martINI',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
31 'montage',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
32 'pyloader',
36
2aa78e65d882 add svgsitemap to deps
Jeff Hammel <jhammel@mozilla.com>
parents: 33
diff changeset
33 'svgsitemap',
18
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
34 'webob_view',
37
8d67dbd068cd add wsgintegrate to required software
Jeff Hammel <jhammel@mozilla.com>
parents: 36
diff changeset
35 'wordstream',
8d67dbd068cd add wsgintegrate to required software
Jeff Hammel <jhammel@mozilla.com>
parents: 36
diff changeset
36 'wsgintegrate']
18
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
37
30
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
38 def __init__(self, srcdir):
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
39 self.srcdir = srcdir
31
f6b768417d27 now listing kinda works
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
40 self.sources = {'hg': ['%s/%s' % (self.HG, package)
18
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
41 for package in self.PACKAGES ]}
31
f6b768417d27 now listing kinda works
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
42 self.sources['git'] = ['git://github.com/mozilla/toolbox.git']
18
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
43
30
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
44 def install(self):
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
45 """install all software needed for this flower"""
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
46 source_objs = source.sources(self.sources, srcdir=self.srcdir)
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
47 for source_obj in source_objs:
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
48 source_obj() # clone/update the software
25
a54543838686 add test for source demunging
Jeff Hammel <jhammel@mozilla.com>
parents: 18
diff changeset
49
30
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
50 def setup(self, source_objs=None):
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
51 """setup python packages for development"""
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
52 if source_objs is None:
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
53 source_objs = source.sources(self.sources, srcdir=self.srcdir)
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
54 for source_obj in source_objs:
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
55 if os.path.exists(os.path.join(source_obj.directory(), 'setup.py')):
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
56 call(['python', 'setup.py', 'develop'], cwd=source_obj.directory())
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
57
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
58 def deploy(self):
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
59 self.install()
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
60 self.setup()
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
61
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
62 __call__ = deploy