Script per rimuovere un modulo in Magento
Questo è uno script Python molto utile per rimuovere un modulo specifico da Magento se si dispone di una copia di tale modulo.
La copia deve essere nel formato canonico, cioé avere l'albero delle cartelle a partire da /app e /skin.
La copia deve essere nel formato canonico, cioé avere l'albero delle cartelle a partire da /app e /skin.
es.
myModuleRoot/app/code/local/myModule/...
myModuleRoot/skin/frontend/default/default/myModule/...
Qui è disponibile un archivio con lo script e il necessario un esempio di utilizzo: link
Facendo riferimento al contenuto dell'archivio, per lanciare lo script è sufficiente il comando:
myModuleRoot/app/code/local/myModule/...
myModuleRoot/skin/frontend/default/default/myModule/...
Qui è disponibile un archivio con lo script e il necessario un esempio di utilizzo: link
Facendo riferimento al contenuto dell'archivio, per lanciare lo script è sufficiente il comando:
python ./magento_module_script.py path/myDir path/myTarget
Segue il codice dello script.
import os import sys def walk_in_deep(dir): elementList = [] # pool if not os.path.exists(dir): print "ERR: dir not exists: " + dir return []; if os.walk(dir) != None: # extract folder content root, subFolders, files = os.walk(dir).next() # walk in subfolders for subFolder in subFolders: pathSubFolder = os.path.join(root,subFolder) elementList.extend(walk_in_deep(pathSubFolder)) # recursive call elementList.append(pathSubFolder) for file in files: elementList.append(os.path.join(root,file)) return elementList def delete_module(rootdir, targetdir): elementList = walk_in_deep(rootdir) # paths array for elem in elementList: elem = targetdir + elem[len(rootdir):] if os.path.isdir(elem): # if is a directory path try: os.rmdir(elem) except: pass # ignore else: # if is a file path try: os.remove(elem) except: pass # ignore if __name__ == "__main__": # exec only if it's main script rootdir = sys.argv[1] targetdir = sys.argv[2] if (len(sys.argv)!=3): # validation check print sys.argv print 'Insert module root and magento root.' else: # exec routine delete_module(rootdir, targetdir)