#!/usr/bin/env python """ __init__.py - Pluvo Standard Library Author: Sean B. Palmer, inamidst.com """ import sys, re, os sys.path.append('..') try: from datatypes import Table, Variable, Symbol, String, Number, URI except ImportError: from pluvo.datatypes import Table, Variable, Symbol, String, Number, URI def weakFunction(block): if not isinstance(block, Table): return False return block.get(String('kind')) == String('Function') dispatch = {} dispatch['String'] = String dispatch['Number'] = Number def enumer(env, iter): for i, item in enumerate(iter): yield i, item dispatch['enumerate'] = enumer def lines(env, filenames): def files(): for filename in filenames: yield str(env.resolve(filename)) for filename in files(): f = URI(filename) for line in f: yield line dispatch['lines'] = lines def library(name): try: return dispatch[name] except KeyError: try: module = getattr(__import__('library.' + name), name) except ImportError: module = getattr( getattr(__import__('pluvo.library.' + name), 'library'), name ) return module.main # fn = 'library/' + name + '.py' # if os.path.isfile(fn): # import imp # return imp.load_source(name, fn).main raise NameError("No such library function: %s" % name) def main(): pass if __name__ == '__main__': main()