annotate buttercup/buttercup.py @ 36:2aa78e65d882

add svgsitemap to deps
author Jeff Hammel <jhammel@mozilla.com>
date Sun, 12 Jun 2011 19:41:18 -0700
parents f3878c2f7032
children 8d67dbd068cd
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',
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
35 'wordstream']
151862a0a711 begin restructuring to something more modular and extensible
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
36
30
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
37 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
38 self.srcdir = srcdir
31
f6b768417d27 now listing kinda works
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
39 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
40 for package in self.PACKAGES ]}
31
f6b768417d27 now listing kinda works
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
41 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
42
30
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
43 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
44 """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
45 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
46 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
47 source_obj() # clone/update the software
25
a54543838686 add test for source demunging
Jeff Hammel <jhammel@mozilla.com>
parents: 18
diff changeset
48
30
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
49 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
50 """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
51 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
52 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
53 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
54 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
55 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
56
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
57 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
58 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
59 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
60
6089d6ec745a should now have a working flower; will test when i get internets again
Jeff Hammel <jhammel@mozilla.com>
parents: 25
diff changeset
61 __call__ = deploy