Exemple #1
0
 def _translate(self,v,endline=True,level=0):
     # usage:
     #    variably expresses standard Pythonic structures as strings
     # inputs:
     #    v       - value of initial structure
     #    endline - include endline chars [True|False]
     #    level   - recursion depth (implementation parameter)
     # outputs:
     #    s       - v translated to a string
     self._showDebug(clas='Protocol',method='_translate',note='inputs',line=113,level=0,vars=[['v',v],['endline',endline],['level',level]])
     s = ''
     if v:
         endline=mtutils._logical(endline)
         if (isinstance(v,list)
          or isinstance(v,tuple)
          or isinstance(v,set)
          or isinstance(v,dict)
             ):
             if level <= self._ignoreLevel: start = self._startIgnore; end = self._endIgnore
             elif isinstance(v,list):  start = self._startList;  end = self._endList
             elif isinstance(v,dict):  start = self._startDict;  end = self._endDict
             elif isinstance(v,tuple): start = self._startTuple; end = self._endTuple
             elif isinstance(v,set):   start = self._startSet;   end = self._endSet
             if level <= self._nestLevel: next = self
             else: next = self._nest
             for c,i in enumerate(v):
                 if isinstance(v,dict):
                     s1 = next._translate(i,endline=False,level=level+1)
                     s2 = next._translate(v[i],endline=False,level=level+1)
                     s += s1+self._dictSeparator+s2
                 else: s += next._translate(i,endline=False,level=level+1)
                 if c+1 < len(v): s += self._separator
             if s: s = start+s+end
         elif isinstance(v,basestring): s += self._startElement+v+self._endElement
         elif not isinstance(v,mtutils.Empty): s += self._startElement+str(v)+self._endElement
         else: s += self._empty
         if not level: s += self._endRow
         if endline is True: s += self._endline
     self._showDebug(clas='Protocol',method='_translate',note='returns',line=141,level=0,vars=[['s',s]])
     return s
Exemple #2
0
@author: Administrator
'''

import re, copy, time
import metabulate.utils.utils           as mtutils
import metabulate.utils.debug           as mtdebug
import metabulate.utils.errors          as mterrors
import metabulate.singletons.singleton  as mtsingleton
import metabulate.queries.query         as mtquery
import metabulate.renderers.render      as mtrender
import metabulate.renderers.protocol    as mtprotocol
import metabulate.stores.structured     as mtstruct

mtprefs  = mtsingleton.Settings()._getItem('prefs')
apQErr = mtutils._logical(mtprefs._interpretItem('Allow_plural_QueryElement_in_ruleRHS','true'))
apQErl = mtutils._logical(mtprefs._interpretItem('Allow_plural_QueryElement_in_ruleLHS','true'))

class Result:
    _default_outputs = []
    _default_header  = None                                                     # default output header (IE. Facade header)
    _default_footer  = None                                                     # default output footer (IE. Facade footer)
    _default_author  = None                                                     # author variable for value substitution in headers and footers
    _default_title   = None                                                     # title variable for value substitution in headers and footers
    _default_request = mtquery.Queryable._getUnique(mtquery.EquationList())

    def __init__(self
                ,outputs=None
                ,request=None
                ,header=None
                ,footer=None