我的预提交文件有问题

问题描述 投票:0回答:1

这是我的预提交文件(放在.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

不知何故,它不起作用。我已经在单独的.py文件中检查了def replace_strings的内容,它工作得很好(而不是参数filename我用“config.php”字符串)。有帮助吗?

python git python-2.7 githooks
1个回答
0
投票

如果Python挂钩,#!/usr/bin/env python应该是第一行。

© www.soinside.com 2019 - 2024. All rights reserved.