def __init__(self): # Prevent working as root uname = puke.utils.env.get("PUKE_OS", puke.system.uname).lower() id = puke.utils.env.get("PUKE_LOGIN", puke.system.login) if id == "root": puke.display.error("Root detected! Panic!") puke.log.critical( "Running puke as root without a PUKE_LOGIN is frown upon") # Load chained config files r = Config( {}, "~/.pukerc", ["package.json", "package-%s-%s.json" % (id, uname)]) self.man = r r = r.content # Map to older format for lazyness reasons :) clean = re.sub('[.]git$', '', r.repository["url"]) r.package = { "name": r.name, "version": r.version } r.rights = { "license": '<a href="%s">%s</a>' % (r.licenses[0]["url"], r.licenses[0]["type"]), "copyright": 'All rights reserved <a href="http://www.webitup.fr">copyright %s</a>' % r.author, "author": r.author } r.git = { "root": '%s/blob/master/src' % clean } r.paths = r.directories r.config = r.config # Git in the yanks try: g = Git() r.git.root = r.git.root.replace( '/master/', '/%s/' % g.branch()) r.git.revision = '#' + g.nb() + '-' + g.hash() except: r.git.revision = '#no-git-information' puke.display.warning( "FAILED fetching git information - locations won't be accurate") for (key, path) in r.paths.items(): puke.fs.mkdir(path) self.config = r # Bower wrapping try: self.bower = Bower(self.config.bower) except Exception as e: puke.sh.npm.install() self.bower = Bower(self.config.bower)