Make customization more accessible

This commit is contained in:
Grant Sanderson 2021-01-15 10:16:37 -10:00
parent d37de184d2
commit b423a423b5
5 changed files with 31 additions and 22 deletions

View file

@ -27,6 +27,7 @@ tex:
# intermediate_filetype: "xdv"
universal_import_line: "from manimlib.imports import *"
style:
font: "Consolas"
background_color: "#333333"
camera_qualities:
low:

View file

@ -77,6 +77,7 @@ from manimlib.scene.vector_space_scene import *
from manimlib.utils.bezier import *
from manimlib.utils.color import *
from manimlib.utils.config_ops import *
from manimlib.utils.customization import *
from manimlib.utils.debug import *
from manimlib.utils.directories import *
from manimlib.utils.images import *

View file

@ -6,6 +6,7 @@ import cairo
from manimlib.constants import *
from manimlib.mobject.svg.svg_mobject import SVGMobject
from manimlib.utils.config_ops import digest_config
from manimlib.utils.customization import get_customization
from manimlib.utils.directories import get_text_dir
@ -135,7 +136,7 @@ class Text(SVGMobject):
settings = self.font + self.slant + self.weight
settings += str(self.t2f) + str(self.t2s) + str(self.t2w)
settings += str(self.lsh) + str(self.size)
id_str = self.text+settings
id_str = self.text + settings
hasher = hashlib.sha256()
hasher.update(id_str.encode())
return hasher.hexdigest()[:16]
@ -192,11 +193,11 @@ class Text(SVGMobject):
lsh = self.lsh * 10
if self.font == '':
print(NOT_SETTING_FONT_MSG)
self.font = get_customization()['style']['font']
dir_name = get_text_dir()
hash_name = self.text2hash()
file_name = os.path.join(dir_name, hash_name) +'.svg'
file_name = os.path.join(dir_name, hash_name) + '.svg'
if os.path.exists(file_name):
return file_name

View file

@ -0,0 +1,23 @@
import os
import tempfile
from manimlib.config import get_custom_defaults
from manimlib.config import get_manim_dir
CUSTOMIZATION = {}
def get_customization():
if not CUSTOMIZATION:
CUSTOMIZATION.update(get_custom_defaults())
directories = CUSTOMIZATION["directories"]
# Unless user has specified otherwise, use the system default temp
# directory for storing tex files, mobject_data, etc.
if not directories["temporary_storage"]:
directories["temporary_storage"] = tempfile.gettempdir()
# Assumes all shaders are written into manimlib/shaders
directories["shaders"] = os.path.join(
get_manim_dir(), "manimlib", "shaders"
)
return CUSTOMIZATION

View file

@ -1,28 +1,11 @@
import os
import tempfile
from manimlib.utils.file_ops import guarantee_existence
from manimlib.config import get_custom_defaults
from manimlib.config import get_manim_dir
PRE_COMPUTED_DIRS = {}
from manimlib.utils.customization import get_customization
def get_directories():
if not PRE_COMPUTED_DIRS:
custom_defaults = get_custom_defaults()
PRE_COMPUTED_DIRS.update(custom_defaults["directories"])
# Unless user has specified otherwise, use the system default temp
# directory for storing tex files, mobject_data, etc.
if not PRE_COMPUTED_DIRS["temporary_storage"]:
PRE_COMPUTED_DIRS["temporary_storage"] = tempfile.gettempdir()
# Assumes all shaders are written into manimlib/shaders
PRE_COMPUTED_DIRS["shaders"] = os.path.join(
get_manim_dir(), "manimlib", "shaders"
)
return PRE_COMPUTED_DIRS
return get_customization()["directories"]
def get_temp_dir():