что-то не так с моим файлом предварительной фиксации - PullRequest
0 голосов
/ 01 мая 2018

Это мой файл предварительной фиксации (находится в .git / hooks)

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import argparse
import io
import sys


def replace_strings(filename):
    f = open(filename, 'r')
    configtext  = f.read()
    passwordpos = configtext.find("password");
    newlinepos  = configtext.find("\n", passwordpos)
    passwordold = configtext[passwordpos+10:newlinepos-2]
    passwordnew = "test0000"
    f.close()
    f = open('config.php', 'w')
    #print(passwordpos)
    #print(passwordold)
    #print(configtext)
    configtext = configtext.replace(passwordold, passwordnew)
    #print(configtext)
    f.write(configtext)
    return 1

def main(argv=None):
    parser = argparse.ArgumentParser()
    parser.add_argument('filenames', nargs='*', help='Filenames to fix')
    args = parser.parse_args(argv)

    retv = 0

    for filename in args.filenames:
        if (filename=='config.php'):
            return_value = replace_strings(filename)
            if return_value != 0:
                print('Fixing strings in {}'.format(filename))
            retv |= return_value

    return retv

как-то не работает. Я уже проверил содержимое def replace_strings в отдельном файле .py, он работает достаточно хорошо (вместо имени файла аргумента я использовал строку «config.php»). Любая помощь?

1 Ответ

0 голосов
/ 02 мая 2018

#!/usr/bin/env python должна быть первой строкой в ​​случае перехвата Python.

...