/dedup

Primary LanguagePython

import sys import os import re import time projectFolder = sys.argv[1] #Need make some changes to fit your project modifiedBy="Qing Feng" authorName="Qing Feng" version="" description="" copyrightYear="2016" projectId='VT-123-123-123-123-123-123-123' sourceCodeSuffix=".java" templateFile="wmTemplate.txt"

def getFileList(path): files=os.listdir(path) allFiles=[] for file in files: fullFileName=os.path.join(path,file) if os.path.isdir(fullFileName): subFolderFiles=getFileList(fullFileName) allFiles.extend(subFolderFiles) else: if(re.search(sourceCodeSuffix,fullFileName)): allFiles.append(fullFileName)
return allFiles

def generateWaterMark(wmTemplate): with open(wmTemplate, "r") as f: waterMark=f.read()

waterMark=waterMark.replace("##MODIFIEDBY##",modifiedBy)

waterMark=waterMark.replace("##PROJECTID##",projectId)
waterMark=waterMark.replace("##AUTHORNAME##",authorName)

waterMark=waterMark.replace("##VERSION##",version)
waterMark=waterMark.replace("##DESCRIPTION##",description)
waterMark=waterMark.replace("##COPYRIGHTYEAR##",copyrightYear)

return waterMark

def addWaterMark(waterMark,fileName):

with open(fileName, "r") as f:
    source=f.read()
    if re.search(projectId,source):
        return
    
with open(fileName,"w") as f:

(mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(fileName)

    mtime=os.path.getmtime(fileName)
    ctime=os.path.getctime(fileName)
    file=os.path.basename(fileName)
    waterMark=waterMark.replace("##FILENAME##",file)
    waterMark=waterMark.replace("##MODIFIEDDATE##",time.strftime("%Y-%m-%d",time.gmtime(mtime)))
    waterMark=waterMark.replace("##CREATIONDATE##",time.strftime("%Y-%m-%d",time.gmtime(ctime)))
    source=waterMark+"\n"+source
    f.write(source)

if name == 'main': if len(sys.argv)==2 and os.path.isdir(sys.argv[1]): waterMark=generateWaterMark(templateFile) for file in getFileList(projectFolder): addWaterMark(waterMark, file) else: print("\nUsage: watermark.py \n\nExample: ./watermark.py /usr/test/myproject\n\t watermark.py c:\user\myproject\n\nFor a new project, you need to make some changes on watermark.py(From line 7 to line 14)")