Changeset 851

Show
Ignore:
Timestamp:
09/17/05 00:01:06 (3 years ago)
Author:
rkern
Message:

Fixed UTF-8 encoding of output files.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • nbdoc/trunk/notabene/docbook.py

    r845 r851  
    207207        """ 
    208208        newsheet = self.transform_sheet(sheet) 
    209         return ET.tostring(newsheet
     209        return ET.tostring(newsheet, encoding='utf8'
    210210 
    211211    @staticmethod 
     
    241241        newtree = xslt.apply(article_tree) 
    242242        return xslt.tostring(newtree) 
     243 
     244    def to_book(self, sheets, template=None, kind='html', style=None): 
     245        """Convert a list of sheets to a book with each sheet being a chapter. 
     246        """ 
     247        if style is None: 
     248            from notabene.styles import LightBGStyle as style 
     249        xsl = getattr(style, '%s_xsl' % kind)() 
     250        xslt = ET.XSLT(xsl) 
     251        if template is None: 
     252            book = ET.Element('book') 
     253        else: 
     254            book = copy.deepcopy(template) 
     255        for sheet in sheets: 
     256            chapter = self.transform_sheet(sheet) 
     257            chapter.tag = 'chapter' 
     258            book.append(chapter) 
     259        book = ET.ElementTree(book) 
     260        getattr(self, 'prep_%s' % kind)(article_tree) 
     261        newtree = xslt.apply(article_tree) 
     262        return xslt.tostring(newtree) 
     263 
     264 
  • nbdoc/trunk/notabene/notebook.py

    r845 r851  
    337337            format = 'latex' #we get pdf via latex for now 
    338338            toPDF = True 
    339         doc = formatter.to_formatted(self.sheet, format) 
     339        doc = formatter.to_formatted(self.sheet, format).encode('utf-8') 
    340340 
    341341        if toPDF: 
     
    458458    parser.add_option('-l', '--list-formats', dest='list_formats', 
    459459        help='list available formats', default=False, action='store_true') 
     460    parser.add_option('-b', '--book', dest='book', 
     461        help='format each argument as a chapter in a single book using a template', 
     462        default=None, metavar='TEMPLATE') 
    460463    options, args = parser.parse_args() 
    461464 
     
    467470 
    468471    else: 
    469         for file in args: 
    470             base = os.path.splitext(file)[0] 
    471             nb = Notebook.from_file(file) 
    472             newfile = nb.write_formatted(base, options.format) 
    473             print "%s -> %s" % (file, newfile) 
     472        if options.book is None: 
     473            for filename in args: 
     474                base = os.path.splitext(filename)[0] 
     475                nb = Notebook.from_file(filename) 
     476                newfile = nb.write_formatted(base, options.format) 
     477                print "%s -> %s" % (filename, newfile) 
     478        else: 
     479            raise NotImplementedError("XXX: need to figure this out") 
     480            sheets = [] 
     481            for filename in args: 
     482                base = os.path.splitext(filename)[0] 
     483                nb = Notebook.from_file(filename) 
     484                 
     485 
    474486 
    475487if __name__ == '__main__':