Changeset 251

Show
Ignore:
Timestamp:
02/05/06 06:28:11
Author:
mylan
Message:

Merge Plone 2.0.5 and Plone 2.1 versions

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • qPloneComments/branches/plone205-21merge/Extensions/Install.py

    r250 r251  
    33from Products.CMFCore.DirectoryView import addDirectoryViews 
    44from Products.CMFCore.CMFCorePermissions import ManagePortal,ReplyToItem 
     5from App.Common import package_home 
     6from os.path import exists as path_exists, join as path_join 
    57 
    68from Products.qPloneComments.config import * 
    79 
    810import string 
     11try: 
     12    True 
     13except: 
     14    True = 1 
     15    False = 0 
     16 
     17def setupSkin(self, out, layers): 
     18    """Setup skins""" 
     19    skinstool=getToolByName(self, 'portal_skins') 
     20    addDirectoryViews(skinstool, 'skins', GLOBALS) 
     21 
     22    for skin in skinstool.getSkinSelections(): 
     23        modified = False 
     24        path = skinstool.getSkinPath(skin) 
     25        path = map( string.strip, string.split( path,',' ) ) 
     26        for layer in layers: 
     27            if not layer in path: 
     28                try: 
     29                    path.insert(path.index('custom')+1, layer ) 
     30                except ValueError: 
     31                    path.append(layer) 
     32                modified = True 
     33                out.write('  Layer %s sucessfully installed into skin %s.\n' % (layer,skin)) 
     34            else: 
     35                out.write('  Layer %s was already installed into skin %s.\n' % (layer,skin)) 
     36        if modified: 
     37            path = string.join( path, ', ' ) 
     38            skinstool.addSkinSelection( skin, path ) 
     39 
    940     
    1041def install(self): 
    1142    out=StringIO() 
    12     skinsTool = getToolByName(self, 'portal_skins') 
    13     # Add directory views 
    14     try:   
    15         addDirectoryViews(skinsTool, SKINS_DIR, GLOBALS) 
    16         out.write( "Added directory views to portal_skins.\n" ) 
    17     except: 
    18         out.write( '*** Unable to add directory views to portal_skins.\n') 
    1943 
    20     # Checking for presense SKIN_NAME Layer in available skins 
    21     avail_skin_names = skinsTool.getSkinSelections() 
    22     if SKIN_NAME in avail_skin_names : 
    23         out.write("Skipping creation %s skin, %s already set up\n" % (SKIN_NAME) ) 
    24         return 
     44    Layers = [] 
     45    mtool = getToolByName(self, 'portal_migration') 
     46    plone_version = mtool.getFileSystemVersion() 
     47    if plone_version.startswith('2.1'): 
     48        plone_version = '2.1' 
     49    elif plone_version.startswith('2.0'): 
     50        plone_version = '2.0.5' 
     51    else: 
     52        raise Exception("Error - Unsupported version. Suported versions: Plone 2.0.5-2.1.2") 
    2553 
    26     for skin in avail_skin_names: 
    27         # Get skin's layers 
    28         skin_layers = skinsTool.getSkinPath(skin) 
    29         skin_layers_list = map( string.strip, string.split(skin_layers,',') ) 
    30         if not (SKIN_NAME in skin_layers_list) : 
    31             # Insert new layer after 'custom' 
    32             try:  
    33                 skin_layers_list.insert(skin_layers_list.index('custom')+1 \ 
    34                                         , string.lower(SKIN_NAME) ) 
    35             except ValueError: 
    36                 skin_layers_list.append(string.lower(SKIN_NAME) ) 
     54    product_path = package_home(GLOBALS) 
     55    versioned_skin = path_join(product_path, 'skins', PROJECTNAME, plone_version) 
    3756 
    38             # Add new skin Layer 
    39             new_skin_layers = string.join(skin_layers_list, ', ') 
    40             skinsTool.addSkinSelection(skin, new_skin_layers) 
    41             out.write("%s skin-layer was added to %s skin\n" % (SKIN_NAME, skin) ) 
    42         else: 
    43             out.write("Skipping adding %s skin-layer, to %s skin\n" % (SKIN_NAME, skin) ) 
     57    Layers.append(SKIN_NAME) 
     58    Layers.append('%s/%s' % (SKIN_NAME, plone_version) ) 
     59    out.write('Call setupSkin... \n') 
     60    setupSkin(self, out, Layers) 
    4461 
    4562    # add Property sheet to portal_properies