def is_directory(path): return p_exists(path) and p_isdir(path)
def _find_dirs(topdir='lib'): if p_isdir(topdir): for _dir in os.walk(topdir): if p_isfile(p_join(_dir[0], '__init__.py')): yield _dir[0]
r'\1run = ' + re.sub(r'^' + _configvars['base'], r'%(basedir)s', p_join(_configvars['base'], 'run', project['name']))), (r'^( *)configs *=.*$', r'\1configs = ' + re.sub(r'^' + _configvars['base'], r'%(basedir)s', p_join(_configprefix, project['name']))), (r'^( *)docs *=.*$', r'\1docs = ' + re.sub(r'^' + _configvars['base'], r'%(basedir)s', p_join(_configvars['base'], 'share', 'doc', project['name'])))) ## MAIN ## if sys.argv[1] == 'macros': if len(sys.argv) > 2 and sys.argv[2]: project['version'] = sys.argv[2] else: #NB: default to bumping the version up by one patch level, e.g.: 0.1.2 -> 0.1.3 # to bump a minor or major level, specify the version string manually as second arg instead if project['repotype'] == 'git': if not p_isdir('.git'): sys.stderr.write("You tried to update version information but the repo files appear not to be in this directory.\n".format(project['repotype'])) sys.exit(1) _projectversionstr = subprocess.Popen(['git describe --abbrev=0'], stdout=subprocess.PIPE, shell=True).communicate()[0].rstrip('\r?\n').split('.') else: sys.stderr.write("Repo type {} not implemented yet.\n".format(project['repotype'])) sys.exit(1) project['version'] = '.'.join(_projectversionstr[:-1] + [unicode(int(_projectversionstr[-1]) + 1)]) for file_to_expand in project['files_to_expand']: file_to_expand = p_join('.', file_to_expand) if p_isfile(file_to_expand + '.in'): if p_isfile(file_to_expand) and p_getmtime(file_to_expand) > p_getmtime(file_to_expand + '.in'): sys.stderr.write('WARNING: File to generate "{}" is already newer than input file "{}". "touch" the input file to override. Skipping.\n'.format(file_to_expand, file_to_expand + '.in')) else: with open(file_to_expand + '.in', 'r') as fh_in: file_content = fh_in.read().decode('utf-8')
p_join(_configprefix, project['name']))), (r'^( *)docs *=.*$', r'\1docs = ' + re.sub( r'^' + _configvars['base'], r'%(basedir)s', p_join(_configvars['base'], 'share', 'doc', project['name'])))) ## MAIN ## if sys.argv[1] == 'macros': if len(sys.argv) > 2 and sys.argv[2]: project['version'] = sys.argv[2] else: #NB: default to bumping the version up by one patch level, e.g.: 0.1.2 -> 0.1.3 # to bump a minor or major level, specify the version string manually as second arg instead if project['repotype'] == 'git': if not p_isdir('.git'): sys.stderr.write( "You tried to update version information but the repo files appear not to be in this directory.\n" .format(project['repotype'])) sys.exit(1) _projectversionstr = subprocess.Popen( ['git describe --abbrev=0'], stdout=subprocess.PIPE, shell=True).communicate()[0].rstrip('\r?\n').split('.') else: sys.stderr.write("Repo type {} not implemented yet.\n".format( project['repotype'])) sys.exit(1) project['version'] = '.'.join( _projectversionstr[:-1] + [unicode(int(_projectversionstr[-1]) + 1)])