이클립스를 업데이트한 후에 남아있는 이전 버젼의 플러그인을 삭제해주는 파이썬 코드입니다.
간단하게 만든거라 이전 버젼의 플러그인이 여러개인 경우 한번에 지워주지는 않습니다.
이 부분은 search_duplicated_plugins()를 수정하면 됩니다.
실행은 플러그인 디렉토리를 인자로 넣어주면 됩니다.
간단하게 만든거라 이전 버젼의 플러그인이 여러개인 경우 한번에 지워주지는 않습니다.
이 부분은 search_duplicated_plugins()를 수정하면 됩니다.
'''
Created on Feb 27, 2012
@author: silent
'''
import os
import sys
def search_duplicated_plugins(srcdir):
print "Searching duplicated plugins in " + srcdir
result = []
try:
filelist = os.listdir(srcdir)
filelist.sort()
prevfile = filelist[len(filelist) - 1]
for file in filelist:
if file.rsplit('_', 1)[0] == prevfile.rsplit('_', 1)[0]:
result.append(prevfile)
prevfile = file
except:
print '%s access denied.' % srcdir
return result
def confirm_to_delete(dupfiles):
for file in dupfiles:
print file
print "-" * 80
print " Total %d files(dirs)." % len(dupfiles)
if len(dupfiles) == 0:
return False
yn = raw_input(" Continue to delete? (y/n) ")
if yn == 'Y' or yn == 'y':
return True
return False
def delete_files(srcdir, dupfiles):
for file in dupfiles:
filepath = srcdir + '/' + file
if os.path.isdir(filepath):
delete_files(filepath, os.listdir(filepath))
if os.path.exists(filepath):
os.removedirs(filepath)
else:
os.remove(filepath)
if __name__ == '__main__':
if len(sys.argv) <= 1:
f = sys.argv[0].split('/')
print "Usage: " + f[len(f) - 1] + " eclipse_plugins_directory_path"
sys.exit()
srcdir = sys.argv[1]
dupfiles = search_duplicated_plugins(srcdir)
ret = confirm_to_delete(dupfiles)
if ret:
delete_files(srcdir, dupfiles)
실행은 플러그인 디렉토리를 인자로 넣어주면 됩니다.
python remove_old_plugins.py eclipse_plugins_directory_path
'Eclipse' 카테고리의 다른 글
| 맥북프로 레티나에서 이클립스를 좀 더 잘 보이게 하기 (0) | 2013.01.02 |
|---|---|
| 이클립스 SWT로 외부 프로그램 실행하기 (0) | 2010.11.18 |
| PDE 소스 연동 (1) | 2010.10.05 |