Example #1
0
def is_directory(path):
    return p_exists(path) and p_isdir(path)
Example #2
0
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]
Example #3
0
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]
Example #4
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')
Example #5
0
                    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)])