Esempio n. 1
0
class FileBump(object):
    file_cache = ''

    def __init__(self, fo, version):
        self.vb = VersionBump(version)
        self.fo = fo
        self.file_cache = self.fo.read()
        self.validate_cache()

    def __str__(self):
        ret = '<{0} \'{1}\'>'.format(self.__class__.__name__,
                                     self.current_version)
        return ret

    @property
    def current_version(self):
        return self.vb.get_version()

    def validate_cache(self):
        if self.current_version not in self.file_cache:
            raise ValueError('Version not in file.')

    def bump(self, level='minor'):
        old_version = self.current_version
        self.vb.bump(level)
        self.replace_version_in_cache(old_version, self.current_version)
        self.write_cache_to_file()

    def write_cache_to_file(self):
        self.fo.seek(0)
        self.fo.write(self.file_cache)
        self.fo.truncate()

    def replace_version_in_cache(self, old_version, new_version):
        self.file_cache = self.file_cache.replace(old_version, new_version)
Esempio n. 2
0
File: bump.py Progetto: jameshy/else
def bumpage():
    current_version = args.current
    level = args.level
    label = args.label

    vb = VersionBump(current_version)
    vb.bump(level, label)

    for filename in FILES:
        fo = open(filename, 'r+')
        try:
            fb = FileBump(fo, current_version)
            fb.bump(level)
        except ValueError:
            raise ValueError('Version not in file [{}].'.format(filename))

    new_version = vb.get()
    print(new_version)
Esempio n. 3
0
def test_zeroize():
    vb = VersionBump('1.2.3')
    vb.zeroize_after_level('major')
    assert vb.get_version() == '1.0.0'
Esempio n. 4
0
def test_bump():
    vb = VersionBump('2.0.1')
    vb.bump()
    assert vb.get('patch') == 2
Esempio n. 5
0
 def __init__(self, fo, version):
     self.vb = VersionBump(version)
     self.fo = fo
     self.file_cache = self.fo.read()
     self.validate_cache()