summarylogtreecommitdiffstats
path: root/new_release.py
blob: f9ff8a0c5d8e1574bac3da7b97e02921623be52f (plain)
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
#! /bin/env python

import sys
import re
import difflib

pkgver_re = re.compile(r'^pkgver\s*=\s*(\S*\S)\s*$', re.MULTILINE)
pkgrel_re = re.compile(r'^pkgrel\s*=\s*(\S*\S)\s*$', re.MULTILINE)

def main(path, pkgver, pkgrel):
    """Substitute 'pkgver' and 'pkgrel' values in path."""

    with open(path) as fin:
        txt = fin.read()
        new_txt = re.sub(pkgver_re, f'pkgver={pkgver}', txt)
        new_txt = re.sub(pkgrel_re, f'pkgrel={pkgrel}', new_txt)

        with open(path, 'w') as fout:
            fout.write(new_txt)

        print(f"Changes made to {path} by '{sys.argv[0]} {pkgver} {pkgrel}'")
        result = difflib.unified_diff(txt.splitlines(keepends=True),
                                new_txt.splitlines(keepends=True))
        sys.stdout.writelines(result)

if __name__ == '__main__':
    main('PKGBUILD', *sys.argv[1:])