import argparse
import re
import sys


def main(args=None):
    parser = argparse.ArgumentParser()
    parser.add_argument('filename')
    parser.add_argument('commit')
    args = parser.parse_args(args)

    with open(args.filename) as f:
        contents = f.read()

    commit = args.commit[:7]

    new_contents = re.sub(
        r'^__version__ = [\'"](.*)[\'"]$',
        r'__version__ = "\1-{}"'.format(commit),
        contents,
        flags=re.MULTILINE,
    )

    with open(args.filename, 'w') as f:
        f.write(new_contents)


if __name__ == '__main__':
    sys.exit(main())