#!/usr/bin/env python import sys from bog import options, repo from bog.helpers import * optspec = """ bog commit [-m msg] -- m,message Use a non-default commit message """ o = options.Options('bog commit', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) if extra: o.fatal('no arguments expected') repo.commit(msg=opt.message or 'Commit')
#!/usr/bin/env python import sys, subprocess from bog import options, repo from bog.helpers import * optspec = """ bog log """ o = options.Options('bog log', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) if extra: o.fatal('no arguments expected') gitdir = os.path.join(repo.check_dir(), '.git') os.environ['GIT_DIR'] = gitdir sys.exit(subprocess.call(['git', 'log']))
#!/usr/bin/env python import sys, os, subprocess from bog import options, repo from bog.helpers import * optspec = """ bog init """ o = options.Options('bog init', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) if extra: o.fatal('no arguments expected') if os.path.exists('.bogroot'): log('.bogroot already exists in this directory.\n') oldd = repo.get_dir() if oldd and os.path.abspath(oldd) != os.path.abspath('.'): fatal('BOG_DIR already initialized: %r' % oldd) os.environ['BOG_DIR'] = os.path.abspath('.') subprocess.call(['git', 'init']) open('.bogroot', 'wb').close() if not os.path.exists('.gitignore'): open('.gitignore', 'wb').write("*~\nnohup.out\n*.swp\n*.bak\n") if not os.path.exists('.gitattributes'): open('.gitattributes', 'wb').write('* merge=union\n') mkdirp('Undecided/cur') mkdirp('Undecided/new') mkdirp('Undecided/tmp')
#!/usr/bin/env python import os, errno, time, textwrap, re, subprocess import MySQLdb as mysql from bog import options from bog.helpers import * optspec = """ bog fogbugz [-h server] [-u user] [-p passwd] <outputdir> -- s,server= Fogbugz MySQL server hostname u,user= Fogbugz MySQL server login username p,passwd= Fogbugz MySQL server password d,dbname= Fogbugz MysQL database name """ o = options.Options('bog fogbugz', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) if not opt.server or not opt.user or not opt.passwd or not opt.dbname: o.fatal('you must provide -h, -u, -p, and -d options') if len(extra) != 1: o.fatal('you must provide exactly one <outputdir> parameter') m = mysql.Connect(host=opt.server, user=opt.user, passwd=opt.passwd) m.select_db(opt.dbname) topdir = extra[0] if os.path.exists(topdir): log('Deleting %r...\n' % topdir) subprocess.call(['rm', '-rf', topdir])
#!/usr/bin/env python import sys from bog import options, repo from bog.helpers import * optspec = """ bog pull """ o = options.Options('bog pull', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) if extra: o.fatal('no arguments expected') repo.check_dir() repo.commit('Commit (pull)') repo.resolve() if repo.remote_url(): repo.pull() else: log('No remote repository configured.\n')
projects=projects) class SlipGridHandler(GridHandler): def get(self): return GridHandler.get(self, integrate_slips=True, title = 'Slipgrid', subpage = '/grid/slip' ) optspec = """ bog instaweb [-p port] -- p,port= Port number to listen on for http """ o = options.Options('bog instaweb', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) (exedir,junk) = os.path.split(sys.argv[0]) pwd = os.path.abspath(os.path.join(exedir, '..')) bogdir = repo.check_dir() mainpath = os.path.join(bogdir, 'main.sched') if not os.path.exists(mainpath): f = open(mainpath, 'wb') f.write('\n# Main schedule file\n') f.close() settings = dict( static_path = os.path.join(pwd, "static"), template_path = os.path.join(pwd, "templates"),
#!/usr/bin/env python import sys, os, glob, uuid, time, re, pwd, socket, hashlib from bog import options, repo from bog.helpers import * optspec = """ bog new [milestone] """ o = options.Options('bog new', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) bogdir = repo.check_dir() (exedir, junk) = os.path.split(sys.argv[0]) if len(extra) > 1: o.fatal('no more than one argument expected') fixfor = extra and extra[0] or 'Misc' p = os.path.join(bogdir, re.sub(r'[\s:/_]', '-', fixfor)) mkdirp('%s/new' % p) mkdirp('%s/cur' % p) mkdirp('%s/tmp' % p) bogid = uuid.uuid4() pwent = pwd.getpwuid(os.getuid()) username = pwent.pw_name fullname = pwent.pw_gecos.split(',')[0] hostname = socket.gethostname() tfn = '%s/tmp/%s:2,S' % (p, bogid)
#!/usr/bin/env python import sys from bog import options, repo from bog.helpers import * optspec = """ bog push """ o = options.Options('bog push', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) if extra: o.fatal('no arguments expected') repo.check_dir() repo.commit('Commit (push)') repo.resolve() repo.push()
#!/usr/bin/env python import sys from bog import options, repo from bog.helpers import * optspec = """ bog resolve """ o = options.Options('bog resolve', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) if extra: o.fatal('no arguments expected') repo.check_dir() repo.commit('Commit (resolve)') repo.resolve()
#!/usr/bin/env python import sys from bog import options, repo from bog.helpers import * optspec = """ bog remote <url> """ o = options.Options('bog remote', optspec) (opt, flags, extra) = o.parse(sys.argv[1:]) repo.check_dir() os.environ['GIT_DIR'] = os.path.join(repo.check_dir(), '.git') oldurl = repo.remote_url() if not extra: if oldurl: print oldurl else: log('No remote URL defined.\n') elif len(extra) != 1: o.fatal('exactly one argument expected') else: # exactly one argument if oldurl: log('old remote was: %s\n' % oldurl) subprocess.call(['git', 'remote', 'rm', 'origin']) sys.exit( subprocess.call(['git', 'remote', 'add', '-f', 'origin', extra[0]]))