Ignore:
Timestamp:
09/07/12 15:25:20 (7 years ago)
Author:
mnagni
Message:

0.0.5

  • Fixed QueryTag?.queryWithRoleRequest bug when params_values[param.par_name] == None
  • Small refactoring removing code from os_request and creating with it in osqyery a method called createTemplateQuery
  • Refactored many "if item" to "if item is not None"
  • Rewritten atom.link and atom.person modules
File:
1 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/CedaMarkup/trunk/ceda_markup/atom/link.py

    r8369 r8452  
    3131@author: Maurizio Nagni 
    3232''' 
    33 from xml.etree.ElementTree import Element 
     33from ceda_markup.atom.atom import ATOM_ROOT_TAG, ATOM_NAMESPACE, ATOM_PREFIX 
     34from ceda_markup.markup import createMarkup 
    3435 
    35 class Link(object): 
     36REL_ALTERNATE = 'alternate' 
     37REL_ENCLOSURE = 'enclosure'     
     38REL_RELATED = 'related'     
     39REL_SELF = 'self'     
     40REL_VIA = 'via'     
     41REL_SEARCH = 'search' 
     42REL_FIRST = 'first'     
     43REL_NEXT = 'next'     
     44REL_LAST = 'last' 
     45REL = [REL_ALTERNATE, REL_ENCLOSURE, REL_RELATED, REL_SELF, REL_VIA, REL_SEARCH, REL_FIRST, REL_NEXT, REL_LAST] 
     46 
     47def createLink(href, root = None, ns = ATOM_NAMESPACE, rel = None, itype = None, hreflang = None, title = None, length = None): 
     48           
    3649    ''' 
    37     classdocs 
    38     ''' 
    39  
    40     REL_ALTERNATE = 'alternate' 
    41     REL_ENCLOSURE = 'enclosure'     
    42     REL_RELATED = 'related'     
    43     REL_SELF = 'self'     
    44     REL_VIA = 'via'     
    45     REL_SEARCH = 'search' 
    46     REL_FIRST = 'first'     
    47     REL_NEXT = 'next'     
    48     REL_LAST = 'last'     
    49     REL = [REL_ALTERNATE, REL_ENCLOSURE, REL_RELATED, REL_SELF, REL_VIA, REL_SEARCH, REL_FIRST, REL_NEXT, REL_LAST]     
    50      
    51  
    52     def __init__(self, href, rel = None, type = None, hreflang = None, title = None, length = None): 
    53         ''' 
    54         Constructor 
    55         @param root: the document root element where attach the prefix:namespace for this element  
    56         @param href:  
     50        @param href:     
     51        @param root: the document root element where attach the prefix:namespace for this element   
    5752        @param rel: one of the Link.REL constants 
    5853        @param type:  
    5954        @param hreflang: 
    6055        @param title: an atom.Title instance 
    61         @param length: length of the resource in bytes     
    62         ''' 
    63         self.href = href 
     56        @param length: length of the resource in bytes        
     57    ''' 
     58    markup = createMarkup('link', ATOM_PREFIX, ns, root)     
     59    markup.set('href', href) 
     60     
     61    if rel is not None: 
     62        markup.set('rel', rel)             
    6463         
    65         if rel and rel in Link.REL: 
    66             self.rel = rel 
    67              
    68         if type: 
    69             self.type = type             
     64    if itype is not None: 
     65        markup.set('type', itype) 
     66 
     67    if hreflang is not None: 
     68        markup.set('hreflang', hreflang) 
    7069         
    71         if hreflang: 
    72             self.hreflang = hreflang         
    73              
    74         if title: 
    75             self.title = title             
     70    if title is not None: 
     71        markup.set('title', title) 
     72 
     73    if length is not None: 
     74        markup.set('length', length) 
    7675         
    77         if length: 
    78             self.length = length     
    79              
    80     def buildElement(self): 
    81         link = Element("link")         
    82         link.set('href', self.href) 
    83                  
    84         if hasattr(self, 'rel'): 
    85             link.set('rel', self.rel)             
    86          
    87         if hasattr(self, 'type'): 
    88             link.set('type', self.type) 
    89  
    90         if hasattr(self, 'hreflang'): 
    91             link.set('hreflang', self.hreflang) 
    92              
    93         if hasattr(self, 'title'): 
    94             link.set('title', self.title) 
    95  
    96         if hasattr(self, 'length'): 
    97             link.set('length', self.length)                         
    98  
    99         return link                 
     76    return markup 
Note: See TracChangeset for help on using the changeset viewer.