You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

42 lines
1.1 KiB

"""
This file provides zest.releaser entrypoints using when releasing new
qrcode versions.
"""
import os
import re
import datetime
def update_manpage(data):
"""
Update the version in the manpage document.
"""
if data['name'] != 'qrcode':
print('no qrcode')
return
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
filename = os.path.join(base_dir, 'doc', 'qr.1')
with open(filename, 'r') as f:
lines = f.readlines()
changed = False
for i, line in enumerate(lines):
if not line.startswith('.TH '):
continue
parts = re.split(r'"([^"]*)"', line)
if len(parts) < 5:
continue
changed = parts[3] != data['new_version']
if changed:
# Update version
parts[3] = data['new_version']
# Update date
parts[1] = datetime.datetime.now().strftime('%-d %b %Y')
lines[i] = '"'.join(parts)
break
if changed:
with open(filename, 'w') as f:
for line in lines:
f.write(line)