Exemplo n.º 1
0
 def renderBook(self, bookName):
     if self.booksUsfm.has_key(bookName):
         self.logger.info('Rendering ' + bookName)
         tokens = parseUsfm.parseString(self.booksUsfm[bookName])
         for t in tokens:
             t.renderOn(self)
         self.logger.info('Rendered  ' + bookName)
Exemplo n.º 2
0
    def translateBook(self, usfm):

        tokens = parseUsfm.parseString(usfm)
        s = u''
        tp = ASCIIPrinter()
        for t in tokens: s = s + t.renderOn(tp)
        return s
Exemplo n.º 3
0
 def run(self):
     self.unknowns = []
     try:
         bookName = self.renderBook
         if self.booksUsfm.has_key(bookName):
             self.writeLog('     (' + bookName + ')')
             tokens = parseUsfm.parseString(self.booksUsfm[bookName])
             for t in tokens: t.renderOn(self)
     except:
         for bookName in books.silNames:
             if self.booksUsfm.has_key(bookName):
                 self.writeLog('     (' + bookName + ')')
                 tokens = parseUsfm.parseString(self.booksUsfm[bookName])
                 for t in tokens: t.renderOn(self)
     if len(self.unknowns):
         print 'Skipped unknown tokens: {0}'.format(', '.join(set(self.unknowns)))
Exemplo n.º 4
0
    def setupAndRun(self, patchedDir, prefaceDir, outputDir):
        self.patchedDir = patchedDir
        self.prefaceDir = prefaceDir
        self.outputDir = outputDir

        self.booksUsfm = books.loadBooks(patchedDir)
        self.printer = ReaderPrinter(self.outputDir)

        for bookName in books.silNames:
            if self.booksUsfm.has_key(bookName):
                tokens = parseUsfm.parseString(self.booksUsfm[bookName])
                for t in tokens: t.renderOn(self.printer)
                self.printer.close()
                print '      (' + bookName + ')'
        self.printer.close()

        index = header + ur"""
            <h1>Open English Bible</h1>
            <p>Release of """ + datetime.date.today().strftime("%A %d. %B %Y") + u"""</p>
            </div>
            </body>
            </html>
            """
    
        f = open(self.outputDir + u'/index.html', 'w')
        f.write(index.encode('utf-8'))
        f.close()
Exemplo n.º 5
0
 def run(self):
     self.unknowns = []
     try:
         bookName = self.renderBook
         if self.booksUsfm.has_key(bookName):
             self.writeLog('     (' + bookName + ')')
             tokens = parseUsfm.parseString(self.booksUsfm[bookName])
             for t in tokens:
                 t.renderOn(self)
     except:
         for bookName in books.silNames:
             if self.booksUsfm.has_key(bookName):
                 self.writeLog('     (' + bookName + ')')
                 tokens = parseUsfm.parseString(self.booksUsfm[bookName])
                 for t in tokens:
                     t.renderOn(self)
     if len(self.unknowns):
         print 'Skipped unknown tokens: {0}'.format(', '.join(
             set(self.unknowns)))
Exemplo n.º 6
0
    def translateBook(self, usfm, smallCap):
        
        tokens = parseUsfm.parseString(usfm)
        
        s = u''
        self.texPrinter.smallCapSections = smallCap
        for t in tokens: s = s + t.renderOn(self.texPrinter)
        s = s + self.texPrinter.stopNarrower()
        s = s + u"\marking[RAChapter]{ } \marking[RABook]{ } \marking[RASection]{ }"

        return s
Exemplo n.º 7
0
    def setupAndRun(self, patchedDir, outputDir):
        self.patchedDir = patchedDir
        self.outputDir = outputDir
        self.booksUsfm = books.loadBooks(patchedDir)
        self.printer = ReaderPrinter(self.outputDir)

        tokens = []
        print "    ** Parsing"
        for bookName in books.silNames:
            if self.booksUsfm.has_key(bookName):
                tokens = tokens + parseUsfm.parseString(self.booksUsfm[bookName])
        self.tokenStream = TokenStream(tokens)
        
        print "    ** Rendering"
        self.printer.renderStream(self.tokenStream)
Exemplo n.º 8
0
def convertFile(folder, fname):
    state = State()
    state.reset()
    
    usfmfile = os.path.join(folder, fname)
    # detect file encoding
    enc = detect_by_bom(usfmfile, default="utf-8")
    input = io.open(usfmfile, "tr", 1, encoding=enc)
    str = input.read(-1)
    input.close

    print "CONVERTING " + fname + ":"
    sys.stdout.flush()
    for token in parseUsfm.parseString(str):
        take(token)
    state.usfmFile.close()
Exemplo n.º 9
0
    def setupAndRun(self, patchedDir, outputDir, buildName):
        self.patchedDir = patchedDir
        self.outputDir = outputDir
        self.booksUsfm = books.loadBooks(patchedDir)
        self.printer = CSVPrinter(self.outputDir)

        for bookName in books.silNames:
            if self.booksUsfm.has_key(bookName):
                tokens = parseUsfm.parseString(self.booksUsfm[bookName])
                for t in tokens: t.renderOn(self.printer)
                self.printer.close()
                print '      (' + bookName + ')'
        self.printer.close()

        f = open(self.outputDir + buildName, 'w')
        f.write(self.printer.rendered.encode('utf-8'))
        f.close()
Exemplo n.º 10
0
def convertFile(usfmpath, fname):
    state = State()
    state.reset()
    
    # detect file encoding
    enc = detect_by_bom(usfmpath, default="utf-8")
    input = io.open(usfmpath, "tr", 1, encoding=enc)
    str = input.read(-1)
    input.close

    print "CONVERTING " + fname + ":"
    sys.stdout.flush()
    success = isParseable(str, fname)
    if success:
        for token in parseUsfm.parseString(str):
            take(token)
        state.usfmFile.close()
    return success
Exemplo n.º 11
0
def convertFile(usfmpath, fname):
    state = State()
    state.reset()

    # detect file encoding
    enc = detect_by_bom(usfmpath, default="utf-8")
    input = io.open(usfmpath, "tr", 1, encoding=enc)
    str = input.read(-1)
    input.close

    print "CONVERTING " + fname + ":"
    sys.stdout.flush()
    success = isParseable(str, fname)
    if success:
        for token in parseUsfm.parseString(str):
            take(token)
        state.usfmFile.close()
    return success
Exemplo n.º 12
0
def convertFile(filename):
    # detect file encoding
    enc = detect_by_bom(filename, default="utf-8")
    input = io.open(filename, "tr", 1, encoding=enc)
    str = input.read(-1)
    input.close

    print "CONVERTING " + filename + ":"
    for token in parseUsfm.parseString(str):
        take(token)
    state = State()
    state.closeUsxOutput()
    print "FINISHED.\nAfter running this script, check the following:"
    print "  Investigate any errors reported by the script."
    print "  Edit content/front/title.usx."
    print "  Edit package.json, LICENSE.md in parent folder. Verify that package.json is encoded as UTF-8."
    print "  No <note> or <char> nodes from the English .usx files crept in to the target files. (grep '<note' ...)"
    print "  No English carried over to the target .usx files. (grep -i 'the ' ...)"
    print "  <para> and </para> nodes should be balanced in target .usx files."
Exemplo n.º 13
0
def verifyFile(filename):
    # detect file encoding
    enc = detect_by_bom(filename, default="utf-8")
    # print "DECODING: " + enc
    input = io.open(filename, "tr", 1, encoding=enc)
    str = input.read(-1)
    input.close

    print "CHECKING " + filename + ":"
    sys.stdout.flush()
    for token in parseUsfm.parseString(str):
        take(token)
    verifyNotEmpty(filename)
    verifyVerseCount()      # for the last chapter
    verifyChapterCount()
    state = State()
    state.addID(u"")
    sys.stderr.flush()
    print "FINISHED CHECKING.\n"
Exemplo n.º 14
0
    def setupAndRun(self, patchedDir, outputDir, buildName):
        self.patchedDir = patchedDir
        self.outputDir = outputDir
        self.booksUsfm = books.loadBooks(patchedDir)
        self.printer = LoutPrinter(self.outputDir)

        for bookName in books.silNames:
            if self.booksUsfm.has_key(bookName):
                tokens = parseUsfm.parseString(self.booksUsfm[bookName])
                for t in tokens: t.renderOn(self.printer)
                self.printer.close()
                print '      (' + bookName + ')'
        self.printer.close()

        f = open(self.outputDir + buildName, 'w')
        f.write(ur"""@Include { oebbook } 
@Book
    @Title {}
    @Author {}
    @Edition {}
    @Publisher {}
    @BeforeTitlePage {}
    @OnTitlePage {}
    @AfterTitlePage {}
    @AtEnd {}
    @InitialLanguage { English } 
    @PageOrientation { Portrait } 
    @PageHeaders { Titles } 
    @ColumnNumber { 1 } 
    @FirstPageNumber { 1 } 
    @IntroFirstPageNumber { 1 } 
    @OptimizePages { No } 
    @GlossaryText { @Null } 
    @IndexText { @Null }
    @IndexAText { @Null }
    @IndexBText { @Null } 
//

""".encode('utf-8'))
        f.write(self.printer.rendered.encode('utf-8'))
        f.close()
Exemplo n.º 15
0
def verifyFile(filename):
    # detect file encoding
    enc = detect_by_bom(filename, default="utf-8")
    input = io.open(filename, "tr", 1, encoding=enc)
    str = input.read(-1)
    input.close

    shortname = filename
    if prefix_re.match(filename):
        shortname = "..." + filename[6:]
    print "CHECKING " + shortname + ":"
    sys.stdout.flush()
    verifyChapterAndVerseMarkers(str, shortname)
    for token in parseUsfm.parseString(str):
        take(token)
    verifyNotEmpty(filename)
    verifyVerseCount()      # for the last chapter
    verifyChapterCount()
    state = State()
    state.addID(u"")
    sys.stderr.flush()
Exemplo n.º 16
0
def verifyFile(filename):
    # detect file encoding
    enc = detect_by_bom(filename, default="utf-8")
    input = io.open(filename, "tr", 1, encoding=enc)
    str = input.read(-1)
    input.close()

    shortname = filename
    if prefix_re.match(filename):
        shortname = "..." + filename[6:]
    print "CHECKING " + shortname + ":"
    sys.stdout.flush()
    verifyChapterAndVerseMarkers(str, shortname)
    for token in parseUsfm.parseString(str):
        take(token)
    verifyNotEmpty(filename)
    verifyVerseCount()  # for the last chapter
    verifyChapterCount()
    state = State()
    state.addID(u"")
    sys.stderr.flush()
Exemplo n.º 17
0
 def renderBook(self, bookName):
     if bookName in self.booksUsfm:
         self.logger.debug('Rendering ' + bookName)
         tokens = parseUsfm.parseString(self.booksUsfm[bookName])
         for t in tokens: t.renderOn(self)
         self.logger.debug('Rendered  ' + bookName)
Exemplo n.º 18
0
 def translateBook(self, usfm):
     tokens = parseUsfm.parseString(usfm)
     tp = MediaWikiPrinter(self.outputDir)
     for t in tokens:
         t.renderOn(tp)
Exemplo n.º 19
0
 def translateBook(self, usfm):
     tokens = parseUsfm.parseString(usfm)
     for t in tokens: t.renderOn(self.printer)
Exemplo n.º 20
0
 def translateBook(self, usfm):
     tokens = parseUsfm.parseString(usfm)
     tp = MediaWikiPrinter(self.outputDir)
     for t in tokens:
         t.renderOn(tp)
Exemplo n.º 21
0
 def renderBook(self, bookName):
     if self.booksUsfm.has_key(bookName):
         self.logger.info('Rendering ' + bookName)
         tokens = parseUsfm.parseString(self.booksUsfm[bookName])
         for t in tokens: t.renderOn(self)
         self.logger.info('Rendered  ' + bookName)