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
@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