mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-11-03 11:07:02 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python2
 | 
						|
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai
 | 
						|
from __future__ import (unicode_literals, division, absolute_import,
 | 
						|
                        print_function)
 | 
						|
 | 
						|
__license__   = 'GPL v3'
 | 
						|
__copyright__ = '2012, Kovid Goyal <kovid at kovidgoyal.net>'
 | 
						|
__docformat__ = 'restructuredtext en'
 | 
						|
 | 
						|
import os, shutil
 | 
						|
 | 
						|
from setup import Command
 | 
						|
 | 
						|
def size_dir(d):
 | 
						|
    file_walker = (
 | 
						|
        os.path.join(root, f)
 | 
						|
        for root, _, files in os.walk(d)
 | 
						|
        for f in files
 | 
						|
    )
 | 
						|
    return sum(os.path.getsize(f) for f in file_walker)
 | 
						|
 | 
						|
class MathJax(Command):
 | 
						|
 | 
						|
    description = 'Rebuild the bundled copy of mathjax'
 | 
						|
 | 
						|
    MATHJAX_PATH = '../mathjax'
 | 
						|
 | 
						|
    def run(self, opts):
 | 
						|
        base = self.a(self.j(self.d(self.SRC), self.MATHJAX_PATH))
 | 
						|
        dest = self.j(self.RESOURCES, 'viewer', 'mathjax')
 | 
						|
        if os.path.exists(dest):
 | 
						|
            shutil.rmtree(dest)
 | 
						|
        os.mkdir(dest)
 | 
						|
        up = self.j(base, 'unpacked')
 | 
						|
        for x in os.listdir(up):
 | 
						|
            if x == 'config': continue
 | 
						|
            if os.path.isdir(self.j(up, x)):
 | 
						|
                shutil.copytree(self.j(up, x), self.j(dest, x))
 | 
						|
            else:
 | 
						|
                shutil.copy(self.j(up, x), dest)
 | 
						|
 | 
						|
        op = self.j(dest, 'jax', 'output')
 | 
						|
        for x in os.listdir(op):
 | 
						|
            if x != 'SVG':
 | 
						|
                shutil.rmtree(self.j(op, x))
 | 
						|
 | 
						|
        shutil.rmtree(self.j(dest, 'extensions', 'HTML-CSS'))
 | 
						|
 | 
						|
        print ('MathJax bundle updated. Size: %g MB'%(size_dir(dest)/(1024**2)))
 | 
						|
 |