Changeset 3478:b55670e2368e in livinglogic.python.xist

Show
Ignore:
Timestamp:
07/10/08 16:42:24 (11 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Make the database type configurable in TOXICAction and TOXICPrettifyAction.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/ll/make.py

    r3424 r3478  
    11641164class TOXICAction(PipeAction): 
    11651165    """ 
    1166     This action transforms an XML string into an Oracle procedure body via the 
    1167     :mod:`ll.xist.ns.toxic` namespace module. 
    1168     """ 
    1169  
    1170     def execute(self, project, data): 
    1171         project.writestep(self, "Toxifying input") 
    1172         from ll import toxic 
    1173         return toxic.xml2ora(data) 
     1166    This action transforms a TOXIC template code into an Oracle or SQL Server 
     1167    function or procedure body via the TOXIC compiler (:mod:`ll.toxicc`). 
     1168    """ 
     1169 
     1170    def __init__(self, input, mode="oracle"): 
     1171        PipeAction.__init__(self, input) 
     1172        self.mode = mode 
     1173 
     1174    @report 
     1175    def get(self, project, since): 
     1176        (data, self.changed) = getoutputs(project, since, (self.input, self.mode)) 
     1177        if data is not nodata: 
     1178            project.writestep(self, "Compiling TOXIC template with mode %r" % data[1]) 
     1179            from ll import toxicc 
     1180            return toxicc.compile(data[0], mode=data[1]) 
     1181        return data 
    11741182 
    11751183 
    11761184class TOXICPrettifyAction(PipeAction): 
    11771185    """ 
    1178     This action tries to fix the indentation of a PL/SQL snippet via the 
    1179     :func:`ll.xist.ns.toxic.prettify` function. 
    1180     """ 
    1181  
    1182     def execute(self, project, data): 
    1183         project.writestep(self, "Prettifying input") 
    1184         from ll import toxic 
    1185         return toxic.prettify(data) 
     1186    This action tries to fix the indentation of a SQL snippet via the 
     1187    :func:`ll.toxicc.prettify` function. 
     1188    """ 
     1189 
     1190    def __init__(self, input, mode="oracle"): 
     1191        PipeAction.__init__(self, input) 
     1192        self.mode = mode 
     1193 
     1194    @report 
     1195    def get(self, project, since): 
     1196        (data, self.changed) = getoutputs(project, since, (self.input, self.mode)) 
     1197        if data is not nodata: 
     1198            project.writestep(self, "Prettifying SQL code with mode %r" % data[1]) 
     1199            from ll import toxicc 
     1200            return toxicc.prettify(data[0], mode=data[1]) 
     1201        return data 
    11861202 
    11871203