Changeset 4395:df9e7569747a in livinglogic.python.xist

Show
Ignore:
Timestamp:
03/04/11 15:17:40 (9 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Properly handle option lists in ll.xist.ns.rest.

Files:
2 modified

Legend:

Unmodified
Added
Removed
  • NEWS.rst

    r4394 r4395  
    1 Changes in 3.17.4 (released ??/??/2011) 
    2 --------------------------------------- 
     1Changes in 3.18 (released ??/??/2011) 
     2------------------------------------- 
    33 
    44*   Fixed a regression in :class:`ll.orasql.OracleConnection`. 
     
    1919 
    2020*   ``ucp -x`` now prints exception details. 
     21 
     22*   The variables available in UL4 templates used by ``db2ul4`` have changed. 
     23    Instead of a ``connect`` object, there are now three objects for each 
     24    supported database (i.e. ``oracle``, ``sqlite`` and ``mysql``) 
     25 
     26*   :mod:`ll.xist.ns.rest` now handles option lists. 
    2127 
    2228 
  • src/ll/xist/ns/rest.py

    r4123 r4395  
    390390 
    391391class option_list(BaseElement): 
    392     pass 
     392    def convert(self, converter): 
     393        e = doc.dl(self.content) 
     394        return e.convert(converter) 
    393395 
    394396 
    395397class option_list_item(BaseElement): 
    396     pass 
     398    def convert(self, converter): 
     399        e = self.content 
     400        return e.convert(converter) 
    397401 
    398402 
    399403class option_group(BaseElement): 
    400     pass 
    401  
    402  
    403 class option(BaseElement): 
    404     pass 
     404    def convert(self, converter): 
     405        e = doc.dt() 
     406        for o in self[option]: 
     407            if e: 
     408                e.append(", ") 
     409            e2 = doc.lit(doc.option(o[option_string][0].content)) 
     410            for oa in o[option_argument]: 
     411                e2.append("=", oa.content) 
     412            e.append(e2) 
     413        return e.convert(converter) 
    405414 
    406415 
     
    416425 
    417426class description(BaseElement): 
    418     pass 
     427    def convert(self, converter): 
     428        e = doc.dd(self.content) 
     429        return e.convert(converter) 
    419430 
    420431