Example #1
0
	def __init__(self):
		# Find Project Root
		path.current = os.getcwd()
		path.root    = recurse_up(path.current, 'Cakefile')

		if path.root:
			os.chdir(path.root)
			sys.path.insert(0, '')

			# Print project path
			puts(fore.yellow('(in %s)' % path.root))
		else:
			raise CakeError('Cakefile not found')

		# Prepare environment
		self.env   = {}
		self.tasks = {}
	
		# Read Cakefile
		with open('Cakefile') as f:
			exec(f.read(), self.env)

		# Load all tasks
		for name, task in self.env.items():
			if getattr(task, '_task', False):
				self.tasks[name] = task
Example #2
0
	def list_tasks(self):
		width = max([len(i._spec) for i in self.tasks.values()] + [50])
		keys = self.tasks.keys()
		keys.sort()

		for task in [self.tasks[i] for i in keys]:
			puts('cake %-*s # %s' % (width, task._spec, task._desc), trim=True)
Example #3
0
    def __init__(self):
        # Find Project Root
        path.current = os.getcwd()
        path.root = recurse_up(path.current, 'Cakefile')

        if path.root:
            os.chdir(path.root)
            sys.path.insert(0, '')

            # Print project path
            puts(fore.yellow('(in %s)' % path.root))
        else:
            raise CakeError('Cakefile not found')

        # Prepare environment
        self.env = {}
        self.tasks = {}

        # Read Cakefile
        with open('Cakefile') as f:
            exec(f.read(), self.env)

        # Load all tasks
        for name, task in self.env.items():
            if getattr(task, '_task', False):
                self.tasks[name] = task
Example #4
0
        def func(*args, **kwargs):
            sys.stdout.indent_level += 1

            puts(header)
            base(*args, **kwargs)

            sys.stdout.indent_level -= 1
Example #5
0
    def list_tasks(self):
        width = max([len(i._spec) for i in self.tasks.values()] + [50])
        keys = self.tasks.keys()
        keys.sort()

        for task in [self.tasks[i] for i in keys]:
            puts('cake %-*s # %s' % (width, task._spec, task._desc), trim=True)
Example #6
0
    def ignore(dirname, names):
        common = osp.commonprefix([project, dirname])

        puts(
            fore.green('   init ') +
            osp.join(projname, dirname[len(common) + 1:]))
        return []
Example #7
0
File: lib.py Project: Ju2ender/cake
		def func(*args, **kwargs):
			sys.stdout.indent_level += 1

			puts(header)
			base(*args, **kwargs)

			sys.stdout.indent_level -= 1
Example #8
0
def generate(modname):
	""" generate new module """

	# check for valid name
	if modname.lower() in pydoc.Helper.keywords.keys():
		raise PyscaleError('%s is a Python keyword.' % repr(modname.lower()))

	# go to project root
	root = find_project()
	if root != False:
		os.chdir(root)
	else:
		raise PyscaleError('Pyscale project not found (missing Cakefile?)')


	# create folder
	folder = 'app/%s' % modname
	if osp.isdir(folder):
		puts(fore.yellow(' exists ') + folder)
	else:
		puts(fore.green('  mkdir ') + folder)
		os.makedirs(folder)

	
	# create file
	modfile = 'app/%s/main' % modname
	tplfile = osp.join(pyscale.__path__[0], 'files', 'module')

	if osp.exists(modfile):
		raise PyscaleError('Module already exists. Aborting...')
	else:
		with open(tplfile) as f:
			tpl = jinja2.Template(f.read())
			tpl = tpl.render(module=modname.title())

		puts(fore.green(' create ') + modfile)
		with open(modfile, 'w') as f:
			f.write(tpl)
Example #9
0
def generate(modname):
    """ generate new module """

    # check for valid name
    if modname.lower() in pydoc.Helper.keywords.keys():
        raise PyscaleError('%s is a Python keyword.' % repr(modname.lower()))

    # go to project root
    root = find_project()
    if root != False:
        os.chdir(root)
    else:
        raise PyscaleError('Pyscale project not found (missing Cakefile?)')

    # create folder
    folder = 'app/%s' % modname
    if osp.isdir(folder):
        puts(fore.yellow(' exists ') + folder)
    else:
        puts(fore.green('  mkdir ') + folder)
        os.makedirs(folder)

    # create file
    modfile = 'app/%s/main' % modname
    tplfile = osp.join(pyscale.__path__[0], 'files', 'module')

    if osp.exists(modfile):
        raise PyscaleError('Module already exists. Aborting...')
    else:
        with open(tplfile) as f:
            tpl = jinja2.Template(f.read())
            tpl = tpl.render(module=modname.title())

        puts(fore.green(' create ') + modfile)
        with open(modfile, 'w') as f:
            f.write(tpl)
Example #10
0
def main():
	try:
		app = Application()
		app.run(*sys.argv[1:])
	except CakeError as e:
		puts(fore.red('cake aborted!\n') + str(e), stream=sys.stderr)
Example #11
0
def main():
    try:
        app = Application()
        app.run(*sys.argv[1:])
    except CakeError as e:
        puts(fore.red('cake aborted!\n') + str(e), stream=sys.stderr)
Example #12
0
	def ignore(dirname, names):
		common = osp.commonprefix([project, dirname])

		puts(fore.green('   init ') + osp.join(projname, dirname[len(common)+1:]))
		return []