예제 #1
0
    def _loadBookMP( self, BBB_Filename ):
        """
        Multiprocessing version!
        Load the requested book if it's not already loaded (but doesn't save it as that is not safe for multiprocessing)

        Parameter is a 2-tuple containing BBB and the filename.
        """
        if BibleOrgSysGlobals.verbosityLevel > 3: print( "ESFMBible.loadBookMP( {} )".format( BBB_Filename ) )
        BBB, filename = BBB_Filename
        assert( BBB not in self.books )
        if BBB in self.dontLoadBook: return None
        self.triedLoadingBook[BBB] = True
        if BibleOrgSysGlobals.verbosityLevel > 2 or BibleOrgSysGlobals.debugFlag:
            print( _("  ESFMBible: Loading {} from {} from {}...").format( BBB, self.name, self.sourceFolder ) )
        EBB = ESFMBibleBook( self, BBB )
        EBB.load( self.possibleFilenameDict[BBB], self.sourceFolder )
        EBB.validateMarkers() # Usually activates InternalBibleBook.processLines()
        if BibleOrgSysGlobals.verbosityLevel > 2 or BibleOrgSysGlobals.debugFlag: print( _("    Finishing loading ESFM book {}.").format( BBB ) )
        return EBB
예제 #2
0
 def loadBook( self, BBB, filename=None ):
     """
     Load the requested book if it's not already loaded.
     """
     if Globals.verbosityLevel > 2: print( "ESFMBible.loadBook( {}, {} )".format( BBB, filename ) )
     if BBB in self.books: return # Already loaded
     if BBB in self.dontLoadBook: return # Must be a dictionary that's already loaded
     if BBB in self.triedLoadingBook:
         logging.warning( "We had already tried loading ESFM {} for {}".format( BBB, self.name ) )
         return # We've already attempted to load this book
     self.triedLoadingBook[BBB] = True
     if Globals.verbosityLevel > 2 or Globals.debugFlag: print( _("  ESFMBible: Loading {} from {} from {}...").format( BBB, self.name, self.sourceFolder ) )
     if filename is None: filename = self.possibleFilenameDict[BBB]
     EBB = ESFMBibleBook( self, BBB )
     EBB.load( filename, self.sourceFolder )
     if EBB._rawLines:
         EBB.validateMarkers() # Usually activates InternalBibleBook.processLines()
         self.saveBook( EBB )
     else: logging.info( "ESFM book {} was completely blank".format( BBB ) )
예제 #3
0
 def loadBook(self, BBB, filename=None):
     """
     Load the requested book if it's not already loaded.
     """
     if BibleOrgSysGlobals.verbosityLevel > 2:
         print("ESFMBible.loadBook( {}, {} )".format(BBB, filename))
     if BBB in self.books: return  # Already loaded
     if BBB in self.dontLoadBook:
         return  # Must be a dictionary that's already loaded
     if BBB in self.triedLoadingBook:
         logging.warning(
             "We had already tried loading ESFM {} for {}".format(
                 BBB, self.name))
         return  # We've already attempted to load this book
     self.triedLoadingBook[BBB] = True
     if BibleOrgSysGlobals.verbosityLevel > 2 or BibleOrgSysGlobals.debugFlag:
         try:
             print(
                 _("  ESFMBible: Loading {} from {} from {}...").format(
                     BBB, self.name, self.sourceFolder))
         except UnicodeEncodeError:
             print(_("  ESFMBible: Loading {}...").format(BBB))
     if filename is None: filename = self.possibleFilenameDict[BBB]
     EBB = ESFMBibleBook(self, BBB)
     EBB.load(filename, self.sourceFolder)
     if EBB._rawLines:
         EBB.validateMarkers(
         )  # Usually activates InternalBibleBook.processLines()
         self.saveBook(EBB)
     else:
         logging.info("ESFM book {} was completely blank".format(BBB))
예제 #4
0
    def _loadBookMP( self, BBB_Filename ):
        """
        Multiprocessing version!
        Load the requested book if it's not already loaded (but doesn't save it as that is not safe for multiprocessing)

        Parameter is a 2-tuple containing BBB and the filename.
        """
        if Globals.verbosityLevel > 3: print( "ESFMBible.loadBookMP( {} )".format( BBB_Filename ) )
        BBB, filename = BBB_Filename
        assert( BBB not in self.books )
        if BBB in self.dontLoadBook: return None
        self.triedLoadingBook[BBB] = True
        if Globals.verbosityLevel > 2 or Globals.debugFlag:
            print( _("  ESFMBible: Loading {} from {} from {}...").format( BBB, self.name, self.sourceFolder ) )
        EBB = ESFMBibleBook( self, BBB )
        EBB.load( self.possibleFilenameDict[BBB], self.sourceFolder )
        EBB.validateMarkers() # Usually activates InternalBibleBook.processLines()
        if Globals.verbosityLevel > 2 or Globals.debugFlag: print( _("    Finishing loading ESFM book {}.").format( BBB ) )
        return EBB