Changeset 5136 for MILK


Ignore:
Timestamp:
23/03/09 17:36:47 (10 years ago)
Author:
cbyrom
Message:

Make handling of parameters common - so granulite + form input both
use same route + add extra code to deal with input of double quotes
here (cannot have this in the data since the data is an XML attribute)
+ more tidying of editor/browse links.

Location:
MILK/trunk/milk_server/milk_server/controllers
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • MILK/trunk/milk_server/milk_server/controllers/atom_editor/editatom.py

    r5128 r5136  
    212212            # atom is exported to XML - so don't need to worry about overwriting 
    213213            # them now 
    214             c.atom.parameters = params 
     214            c.atom.parameters = [] 
     215            c.atom.addParameters(params) 
    215216             
    216217            if self.inputs.get('subtype'): 
     
    496497        Retrieve parameters data from inputs and set appropriately on Atom, if any 
    497498        found 
    498         @return: list of Category objects containing the extracted data 
     499        @return: list of parameter data in triple string format - i.e. 
     500        of format, 'label | scheme | term' 
    499501        ''' 
    500502        logging.info("Extracting parameters data from inputs") 
     
    502504        parameters = [] 
    503505 
     506        emptyParam = " |  | " 
    504507        for key in inputs: 
    505508            keyBits = key.split('.') 
     
    507510                 
    508511                if key.lower().startswith(Atom.PARAMETER_LABEL): 
    509                     parameter = Category() 
    510512                    keyStem = ".".join(keyBits[0:2]) 
    511513                     
     
    513515                        logging.info("Removing parameters data") 
    514516                    else: 
    515                         parameter.term = inputs.get(keyStem + '.term') or "" 
    516                         parameter.scheme = inputs.get(keyStem + '.scheme') or "" 
    517                         parameter.label = inputs.get(keyStem + '.label') or "" 
    518                              
    519                         logging.info("Adding new parameter info") 
    520                         logging.debug("Extracted parameter (vocabURL:'%s', label:'%s', term:'%s')" \ 
    521                                       %(parameter.scheme, parameter.label, parameter.term)) 
     517                        parameter = inputs.get(keyStem + '.label') or "" 
     518                        parameter += " | " + inputs.get(keyStem + '.scheme') or "" 
     519                        parameter += " | " + inputs.get(keyStem + '.term') or "" 
     520 
     521                        if parameter == emptyParam: 
     522                            continue 
     523                         
     524                        logging.info("Adding new parameter info: %s" %parameter) 
    522525                        parameters.append(parameter) 
    523526 
  • MILK/trunk/milk_server/milk_server/controllers/browse/discovery.py

    r5134 r5136  
    88from ndg.common.src.clients.xmldb.eXist.searchclient import SearchClient 
    99from ndg.common.src.clients.http.vocabserverclient import VocabServerClient as VS 
     10from ndg.common.src.models.vocabtermdata import VocabTermData as VTD 
    1011from ndg.common.src.models.ndgObject import ndgObject 
    1112from ndg.common.src.models.DIF import DIF 
     
    375376         
    376377        return render('browse/semantic',fragment=True) 
     378 
    377379     
    378380    def moreSearch(self,ws): 
     
    401403            if c.results: 
    402404                c.searchTerm += ' [%s results found]' %len(c.results) 
    403             return render('genshi', 'browse/short_atom_results') 
     405                 
     406            html = render('genshi', 'browse/short_atom_results') 
     407            # make sure the edit links point to the editor, not the browse service 
     408            html = html.replace(VTD.BROWSE_SERVER_URL + '/editAtom', g.server + '/editAtom') 
     409            return html 
    404410        else: 
    405411            return render('browse/short_results') 
     412 
    406413             
    407414    def clearSession(self): 
Note: See TracChangeset for help on using the changeset viewer.