Changeset 325

Show
Ignore:
Timestamp:
09/25/06 18:17:39 (2 years ago)
Author:
thomase
Message:

Programmatic entity title creation is now more robust: it handles the unnamed case and also does not mix name types.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • GeographicEntityLite/trunk/GeographicEntityLite/Extensions/cooking.py

    r321 r325  
    5050    # get old title 
    5151    oldTitle = obj.Title() 
    52      
     52 
     53    newTitle = ''     
    5354    names = obj.listFolderContents() 
    5455    if len(names) == 0: 
    55         return None 
    56      
    57     newTitle = '' 
    58     for i, name in enumerate(names): 
    59         if i > 0: 
    60             newTitle += '/' 
    61         newTitle += name.Title() 
    62      
    63     obj.setTitle(newTitle) 
     56        enType = obj.getGeoEntityType() 
     57        newTitle = 'Unnamed ' + enType 
     58        enModLoc = obj.getModernLocation() 
     59        if enModLoc != '': 
     60            newTitle += ', modern location: ' + enModLoc 
     61    else: 
     62        try:  
     63            initNameType  = names[0].getGeoNameType() 
     64        except: 
     65            pass 
     66        else: 
     67            renames = [] 
     68            for name in names: 
     69                if name.getGeoNameType() == initNameType: 
     70                    renames.append(name) 
     71            for i, name in enumerate(renames): 
     72                if i > 0: 
     73                    newTitle += '/' 
     74                newTitle += name.Title() 
     75                 
     76    if newTitle != '': 
     77        obj.setTitle(newTitle) 
     78 
    6479    return newTitle 
    6580