-
Notifications
You must be signed in to change notification settings - Fork 302
/
Copy pathset-version.py
30 lines (23 loc) · 1007 Bytes
/
set-version.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def set_filename_version(filename, version_number, pattern):
changed = []
def inject_version(match):
before, old, after = match.groups()
changed.append(True)
return before + version_number + after
with open(filename) as f:
contents = re.sub(r"^(\s*%s\s*=\s*')(.+?)(')(?sm)" % pattern,
inject_version, f.read())
if not changed:
fail('Could not find %s in %s', pattern, filename)
with open(filename, 'w') as f:
f.write(contents)
def set_changelog_version(version):
info('Setting CHANGES version to %s', version)
# TODO this won't work...
set_filename_version('CHANGES', version, 'Version')
def set_init_version(version):
info('Setting __init__.py version to %s', version)
set_filename_version('flask_restless/__init__.py', version, '__version__')
def set_setup_version(version):
info('Setting setup.py version to %s', version)
set_filename_version('setup.py', version, 'version')