Exemplo n.º 1
0
def is_file(path):
    return p_exists(path) and p_isfile(path)
Exemplo n.º 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]
Exemplo n.º 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]
Exemplo n.º 4
0
        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')
                for macro_to_replace in project['macros_to_replace']:
                    file_content = re.sub(r'@' + macro_to_replace + r'@', project[macro_to_replace], file_content)
                with open(file_to_expand, 'w') as fh_out:
                    fcntl.lockf(fh_out, fcntl.LOCK_EX)
                    fh_out.write(file_content.encode('utf-8'))
        else:
            sys.stderr.write('WARNING: Specified file to expand "{}" does not have an input file "{}". Skipping.\n'.format(file_to_expand, file_to_expand + '.in'))
else:
    METADATA = {
        'cmdclass': {"install_data": MyInstallData, "install_scripts": MyInstallScripts},
Exemplo n.º 5
0
                 .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')
             for macro_to_replace in project['macros_to_replace']:
                 file_content = re.sub(r'@' + macro_to_replace + r'@',
                                       project[macro_to_replace],
                                       file_content)
             with open(file_to_expand, 'w') as fh_out:
                 fcntl.lockf(fh_out, fcntl.LOCK_EX)
                 fh_out.write(file_content.encode('utf-8'))