""" Программа для формирования имитации ЭЦП.

Предназначена для отладки ПО на ПК, где нет возможности для подписи файлов
реальной ЭЦП.

"""

import sys
from pathlib import Path

if any('vsignf' in item for item in sys.argv):  # имитация проверки подписи
    nargs = len(sys.argv)
    retcode = 1
    for i, arg in enumerate(sys.argv):
        if i == nargs-2:
            sha1 = arg
        elif i == nargs-1:
            fpath = Path(arg.strip('"'))
            sgn_path = Path('.') / '{}.sgn'.format(fpath.name)
            with open(sgn_path, 'r') as sgnfile:
                sgn_txt = sgnfile.read()
            retcode = sgn_txt != sha1
        print('argv[%s] = %s' % (i, arg))
    print('\nsha1 = %s' % sha1)
    print('sgn_txt = %s' % sgn_txt)
else:  # имитация подписи
    nargs = len(sys.argv)
    retcode = 1
    for i, arg in enumerate(sys.argv):
        if i == nargs-2:
            sha1 = arg
        if i == nargs-1:
            fpath = Path(arg.strip('"'))
            sgn_path = Path('.') / '{}.sgn'.format(fpath.name)
            with open(sgn_path, 'w') as sgnfile:
                sgnfile.write(sha1)
            retcode = 0
        print('argv[%s] = %s' % (i, arg))

sys.exit(retcode)
