웹마스터 팁

리눅스 환경에서 동작하는 아래의 간단한 코드는 lang.xml 파일에 정의된 키워드가 *.html과 *.php 에서 실제 사용되고 있는지 체크하는 파이썬 스크립트입니다.


예로 아래와 같이 명령하면 admin 모듈의 lang.xml파일에 등록된 키워드를 admin모듈 내의 *.html, *.php 파일 대상으로 검색하여 사용되지 않는 키워드를 Not Found : xxxxx 와 같은 형식으로 출력해 줍니다.


checklang.py  modules/admin/lang/lang.xml  modules/admin


회사 내부에서 관리되고 있는 모듈들의 사용되지 않는 번역 키워드를 제거하는데 많은 도움이 된 스크립트입니다.


- - - 아래 소스 코드 - - -


#!/usr/bin/python


import sys,os,string,time,subprocess


def get_word_list():

        proc = subprocess.Popen("/bin/grep \"item name=\\\"\" %s | /bin/cut -d \\\" -f2" % (sys.argv[1]), shell=True, stdout=subprocess.PIPE)

        output = proc.stdout.read()

        return output


def main():

        if len(sys.argv) < 3:

                print "Usage : checklang.py ARG1 ARG2"

                print " ARG1 : XML file to check"

                print " ARG2 : directory path to verify"

                return

        output = get_word_list()

        list = output.split("\n")

        for word in list:

                proc = subprocess.Popen("find %s -name \"*.[ph][ht]*[pl]\" -exec grep \"%s\" {} \; -print" % (sys.argv[2], word), shell=True, stdout=subprocess.PIPE)

                output = proc.stdout.read()

                if output == "":

                        print "Not Found : %s" % word


if __name__ == "__main__":

        main()

        sys.exit(0)