mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-05-31 12:14:15 -04:00
49 lines
1.7 KiB
Python
49 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
# License: GPLv3 Copyright: 2019, Kovid Goyal <kovid at kovidgoyal.net>
|
|
|
|
import glob
|
|
import os
|
|
|
|
from setup.revendor import ReVendor
|
|
|
|
|
|
class LiberationFonts(ReVendor):
|
|
|
|
description = 'Download the Liberation fonts'
|
|
NAME = 'liberation_fonts'
|
|
TAR_NAME = 'liberation-fonts'
|
|
VERSION = '2.1.5'
|
|
DOWNLOAD_URL = 'https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-2.1.5.tar.gz'
|
|
|
|
@property
|
|
def vendored_dir(self):
|
|
return self.j(self.RESOURCES, 'fonts', 'liberation')
|
|
|
|
@property
|
|
def version_file(self):
|
|
return self.j(self.vendored_dir, 'version.txt')
|
|
|
|
def already_present(self):
|
|
if os.path.exists(self.version_file):
|
|
with open(self.version_file) as f:
|
|
return f.read() == self.VERSION
|
|
return False
|
|
|
|
def run(self, opts):
|
|
if not opts.system_liberation_fonts and self.already_present():
|
|
self.info('Liberation Fonts already present in the resources directory, not downloading')
|
|
return
|
|
self.clean()
|
|
os.makedirs(self.vendored_dir)
|
|
self.use_symlinks = opts.system_liberation_fonts
|
|
with self.temp_dir() as dl_src:
|
|
src = opts.path_to_liberation_fonts or self.download_vendor_release(dl_src, opts.liberation_fonts_url)
|
|
font_files = glob.glob(os.path.join(src, 'Liberation*.ttf'))
|
|
if not font_files:
|
|
raise SystemExit(f'No font files found in {src}')
|
|
|
|
for x in font_files:
|
|
self.add_file(x, os.path.basename(x))
|
|
with open(self.j(self.vendored_dir, 'version.txt'), 'w') as f:
|
|
f.write(self.VERSION)
|