Changeset 67
- Timestamp:
- 12/01/05 10:04:15
- Files:
-
- qSEOptimizer/trunk/Extensions/Install.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qSEOptimizer/trunk/Extensions/Install.py
r66 r67 11 11 qSEO_FOLDER = [] 12 12 qSEO_TYPES = qSEO_CONTENT + qSEO_FOLDER 13 try: 14 True 15 except: 16 True = 1 17 False = 0 13 18 14 def setupSkin(self, out, skinFolder): 19 def setupSkin(self, out, layers): 20 """Setup skins""" 15 21 skinstool=getToolByName(self, 'portal_skins') 16 17 22 addDirectoryViews(skinstool, 'skins', qSEO_globals) 18 23 19 24 for skin in skinstool.getSkinSelections(): 25 modified = False 20 26 path = skinstool.getSkinPath(skin) 21 27 path = map( string.strip, string.split( path,',' ) ) 22 23 if not skinFolder in path: 24 try: 25 path.insert( path.index( 'custom')+1, skinFolder ) 26 except ValueError: 27 path.append(skinFolder) 28 for layer in layers: 29 if not layer in path: 30 try: 31 path.insert(path.index('custom')+1, layer ) 32 except ValueError: 33 path.append(layer) 34 modified = True 35 out.write(' Layer %s sucessfully installed into skin %s.\n' % (layer,skin)) 36 else: 37 out.write(' Layer %s was already installed into skin %s.\n' % (layer,skin)) 38 if modified: 28 39 path = string.join( path, ', ' ) 29 40 skinstool.addSkinSelection( skin, path ) 30 out.write(' Subskin sucessfully installed into skin %s.\n' % skin)31 else:32 out.write(' Subskin was already installed into skin %s.\n' % skin)33 41 34 def removeSkin(self, skins = []): 35 if skins: 36 skinstool = getToolByName(self, 'portal_skins') 37 for skinName in skinstool.getSkinSelections(): 38 path = skinstool.getSkinPath(skinName) 39 path = [i.strip() for i in path.split(',')] 40 for s in skins: 41 if s in path: 42 path.remove(s) 43 s += '/' 44 for layer in path: 45 if layer.startswith(s): 46 path.remove(layer) 47 path = ','.join(path) 48 skinstool.addSkinSelection(skinName, path) 49 42 def removeSkin(self, layer): 43 """Remove layers""" 44 skinstool = getToolByName(self, 'portal_skins') 45 for skinName in skinstool.getSkinSelections(): 46 original_path = skinstool.getSkinPath(skinName) 47 original_path = [l.strip() for l in original_path.split(',')] 48 new_path= [] 49 for l in original_path: 50 if (l == layer) or (l.startswith(layer+'/')): 51 continue 52 new_path.append(l) 53 skinstool.addSkinSelection(skinName, ','.join(new_path)) 54 50 55 def setupActions(self, out): 51 56 # And now update the relevant portal_type actions … … 66 71 , visible=1 67 72 ) 68 69 73 def removeActions(self): 74 # And now update the relevant portal_type actions 75 tool = getToolByName(self, 'portal_types') 76 for ptype in tool.objectValues(): 77 if ptype.getId() in qSEO_TYPES: 78 #delet the action for viewing versioning 79 action = ptype.getActionById( 'seo_properties', default=None ) 80 if action != None: 81 acts = list(ptype.listActions()) 82 ptype.deleteActions([acts.index(a) for a in acts if a.getId()=='seo_properties']) 70 83 def install(self): 71 84 out = StringIO() 72 73 out.write('Call setupSkin... \n') 74 85 Layers =[] 75 86 mtool = getToolByName(self, 'portal_migration') 76 87 plone_version = mtool.getFileSystemVersion() 77 88 product_path = package_home(qSEO_globals) 89 versioned_skin = path_join(product_path, 'skins','qSEOptimizer', plone_version) 78 90 79 skin = 'qSEOptimizer' 80 versioned_skin = path_join(product_path, 'skins', skin, plone_version) 81 out.write(' Searching for %s... ' % versioned_skin) 82 91 Layers.append('qSEOptimizer') 92 out.write(' Searching for %s... ' % versioned_skin) 83 93 if path_exists(versioned_skin): 84 out.write('found.\n') 85 skin = 'qSEOptimizer/%s' % plone_version94 out.write('found.\n') 95 Layers.append('qSEOptimizer/%s' % plone_version) 86 96 else: 87 out.write("""not found.\n 88 Limited functionality mode. 89 Upgrade qSEOptimizer product or report to support@quintagroup.com if uprade not available.\n\n""") 90 setupSkin(self, out, skin) 97 out.write("""not found.\nLimited functionality mode. Upgrade qSEOptimizer product or report to support@quintagroup.com if uprade not available.\n\n""") 98 out.write('Call setupSkin... \n') 99 setupSkin(self, out, Layers) 91 100 92 101 out.write('Call setupActions... \n') … … 96 105 97 106 def uninstall(self): 98 removeSkin(self, ('qSEOptimizer',)) 107 """ Uninstall Products """ 108 109 removeSkin(self, 'qSEOptimizer') 110 111 removeActions(self) 112 99 113 return 'qSEOptimizer uninstalled successfully.'
