コード例 #1
0
ファイル: database.py プロジェクト: BackupTheBerlios/lino-svn
    def __init__(self, schema, langs=None, name=None):  #, **kw):

        self._supportedLangs = []
        if langs is None:
            langs = 'en'
        for lang_id in langs.split():
            self._supportedLangs.append(
                BabelLang(len(self._supportedLangs), lang_id))
        #Describable.__init__(self,**kw)

        self._memoParser = TimMemoParser(self)

        self.schema = schema
        self._stores = {}
        self._contexts = []
        self._connections = []
        self._startupContext = None
        if name is None:
            name = self.__class__.__name__
        self.name = name
コード例 #2
0
ファイル: database.py プロジェクト: MaxTyutyunnikov/lino
    def __init__(self, schema, langs=None,name=None): #, **kw):
        
        self._supportedLangs = []
        if langs is None:
            langs = 'en'
        for lang_id in langs.split():
            self._supportedLangs.append(
                BabelLang(len(self._supportedLangs), lang_id) )
        #Describable.__init__(self,**kw)
        
        self._memoParser = TimMemoParser(self)

        self.schema = schema
        self._stores = {}
        self._contexts=[]
        self._connections=[]
        self._startupContext=None
        if name is None:
            name=self.__class__.__name__
        self.name=name
コード例 #3
0
ファイル: database.py プロジェクト: MaxTyutyunnikov/lino
class Database(Context): #,Describable):
    
    def __init__(self, schema, langs=None,name=None): #, **kw):
        
        self._supportedLangs = []
        if langs is None:
            langs = 'en'
        for lang_id in langs.split():
            self._supportedLangs.append(
                BabelLang(len(self._supportedLangs), lang_id) )
        #Describable.__init__(self,**kw)
        
        self._memoParser = TimMemoParser(self)

        self.schema = schema
        self._stores = {}
        self._contexts=[]
        self._connections=[]
        self._startupContext=None
        if name is None:
            name=self.__class__.__name__
        self.name=name

    def __str__(self):
        return self.name+"("+str(self.schema)+")"

    def getSession(self):
        return self._startupContext


    def addContext(self,s):
        self._contexts.append(s)
        #if len(self._contexts) == 1:
        #    self.startup(s)

    def removeContext(self,s):
        self._contexts.remove(s)
        #if len(self._contexts) == 0:
        #    self.close()
        
    def getBabelLangs(self):
        "implements Context.getBabelLangs()"
        return self._supportedLangs

    def getSupportedLangs(self):
        return " ".join([lng.id for lng in self._supportedLangs])

    def getDefaultLanguage(self):
        return self._supportedLangs[0].id

    def findBabelLang(self,lang_id):
        for lang in self._supportedLangs:
            if lang.id == lang_id:
                return lang
            
        if not lang_id in self.schema._possibleLangs:
            raise InvalidRequestError(
                "%r : impossible language (must be one of %r)" % (
                lang_id, self.schema._possibleLangs))
            
        """
        index -1 means that values in this language should be ignored
        """
        #print self, ":", lang_id, \
        #      "not found in", self.getSupportedLangs()
        return BabelLang(-1,lang_id)
        #raise "%s : no such language code in %s" % (lang_id, repr(self))
        
    def memo2html(self,renderer,txt):
        if txt is None:
            return ''
        txt = txt.strip()
        self._memoParser.parse(renderer,txt)
        #return self.memoParser.html

        
    def getStore(self,tcl):
        try:
            return self._stores[tcl]
        except KeyError,e:
            raise InvalidRequestError(
                "No Store for %s in (%s)" %
                (tcl,', '.join([str(tcl) for tcl in
                                self._stores.keys()])))
コード例 #4
0
ファイル: database.py プロジェクト: BackupTheBerlios/lino-svn
class Database(Context):  #,Describable):
    def __init__(self, schema, langs=None, name=None):  #, **kw):

        self._supportedLangs = []
        if langs is None:
            langs = 'en'
        for lang_id in langs.split():
            self._supportedLangs.append(
                BabelLang(len(self._supportedLangs), lang_id))
        #Describable.__init__(self,**kw)

        self._memoParser = TimMemoParser(self)

        self.schema = schema
        self._stores = {}
        self._contexts = []
        self._connections = []
        self._startupContext = None
        if name is None:
            name = self.__class__.__name__
        self.name = name

    def __str__(self):
        return self.name + "(" + str(self.schema) + ")"

    def getSession(self):
        return self._startupContext

    def addContext(self, s):
        self._contexts.append(s)
        #if len(self._contexts) == 1:
        #    self.startup(s)

    def removeContext(self, s):
        self._contexts.remove(s)
        #if len(self._contexts) == 0:
        #    self.close()

    def getBabelLangs(self):
        "implements Context.getBabelLangs()"
        return self._supportedLangs

    def getSupportedLangs(self):
        return " ".join([lng.id for lng in self._supportedLangs])

    def getDefaultLanguage(self):
        return self._supportedLangs[0].id

    def findBabelLang(self, lang_id):
        for lang in self._supportedLangs:
            if lang.id == lang_id:
                return lang

        if not lang_id in self.schema._possibleLangs:
            raise InvalidRequestError(
                "%r : impossible language (must be one of %r)" %
                (lang_id, self.schema._possibleLangs))
        """
        index -1 means that values in this language should be ignored
        """
        #print self, ":", lang_id, \
        #      "not found in", self.getSupportedLangs()
        return BabelLang(-1, lang_id)
        #raise "%s : no such language code in %s" % (lang_id, repr(self))

    def memo2html(self, renderer, txt):
        if txt is None:
            return ''
        txt = txt.strip()
        self._memoParser.parse(renderer, txt)
        #return self.memoParser.html

    def getStore(self, tcl):
        try:
            return self._stores[tcl]
        except KeyError, e:
            raise InvalidRequestError(
                "No Store for %s in (%s)" %
                (tcl, ', '.join([str(tcl) for tcl in self._stores.keys()])))