Skip to content

Commit 37b83e6

Browse files
authored
Boxes to as to (#1687)
This PR changes the name of these methods to something more precise and concise. All methods are kept for backward compatibility, but showing a deprecation error message.
1 parent 655c94d commit 37b83e6

29 files changed

+152
-98
lines changed

mathics/builtin/atomic/strings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ def eval(self, boxes, evaluation: Evaluation):
398398
# handle these expressions.
399399
# In the first place, this should handle different kind
400400
# of boxes in different ways.
401-
reinput = boxes.boxes_to_text()
401+
reinput = boxes.to_text()
402402
return Expression(SymbolToExpression, String(reinput)).evaluate(evaluation)
403403

404404

mathics/builtin/box/compilation.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,17 @@ def init(self, *args, **kwargs):
2323
self._elements = args
2424
self.box_options = kwargs
2525

26-
# FIXME "boxes_to..." should be renamed "box_to..."
27-
# since there is only one box element
28-
29-
def boxes_to_text(self, elements=None, **options):
26+
def to_text(self, elements=None, **options) -> str:
3027
if elements is None:
3128
elements = self.elements
3229
return elements[0].value
3330

34-
def boxes_to_mathml(self, elements=None, **options):
31+
def to_mathml(self, elements=None, **options) -> str:
3532
if elements is None:
3633
elements = self.elements
3734
return elements[0].value
3835

39-
def boxes_to_tex(self, elements=None, **options):
36+
def to_tex(self, elements=None, **options) -> str:
4037
if elements is None:
4138
elements = self.elements
4239
return elements[0].value

mathics/builtin/box/graphics.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@ def elements(self, value):
496496
self._elements = value
497497
return self._elements
498498

499-
def boxes_to_svg(self, elements=None, **options) -> str:
499+
def to_svg(self, elements=None, **options) -> str:
500500
"""This is the top-level function that converts a Mathics Expression
501501
in to something suitable for SVG rendering.
502502
"""
@@ -645,9 +645,7 @@ def init(
645645
# self.content = self.content.atom_to_boxes(
646646
# SymbolStandardForm, evaluation=self.graphics.evaluation
647647
# )
648-
self.content_text = self.content.boxes_to_text(
649-
evaluation=self.graphics.evaluation
650-
)
648+
self.content_text = self.content.to_text(evaluation=self.graphics.evaluation)
651649

652650
def extent(self):
653651
p = self.pos.pos()

mathics/builtin/box/graphics3d.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def _prepare_elements(self, elements, options, max_width=None):
4444

4545
return prepare_elements(self, elements, options, max_width)
4646

47-
def boxes_to_js(self, elements=None, **options):
47+
def to_js(self, elements=None, **options):
4848
"""Turn the Graphics3DBox to into a something javascript-ish
4949
We include enclosing script tagging.
5050
"""

mathics/builtin/box/image.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,19 @@ def init(self, image, **kwargs):
3939
def elements(self):
4040
return self.image.elements
4141

42-
def boxes_to_b64text(
42+
def to_b64text(
4343
self, elements: Tuple[BaseElement] = None, **options
4444
) -> Tuple[bytes, Tuple[int, int]]:
4545
"""
4646
Produces a base64 png representation and a tuple with the size of the pillow image
4747
associated to the object.
4848
"""
49-
contents, size = self.boxes_to_png(elements, **options)
49+
contents, size = self.to_png(elements, **options)
5050
encoded = base64.b64encode(contents)
5151
encoded = b"data:image/png;base64," + encoded
5252
return (encoded, size)
5353

54-
def boxes_to_png(self, elements=None, **options) -> Tuple[bytes, Tuple[int, int]]:
54+
def to_png(self, elements=None, **options) -> Tuple[bytes, Tuple[int, int]]:
5555
"""
5656
returns a tuple with the set of bytes with a png representation of the image
5757
and the scaled size.
@@ -97,24 +97,21 @@ def boxes_to_png(self, elements=None, **options) -> Tuple[bytes, Tuple[int, int]
9797

9898
return (contents, (scaled_width, scaled_height))
9999

100-
# FIXME "boxes_to..." should be renamed "box_to..."
101-
# since there is only one box element
102-
103-
def boxes_to_text(self, elements=None, **options) -> str:
100+
def to_text(self, elements=None, **options) -> str:
104101
return "-Image-"
105102

106-
def boxes_to_mathml(self, elements=None, **options) -> str:
107-
encoded, size = self.boxes_to_b64text(elements, **options)
103+
def to_mathml(self, elements=None, **options) -> str:
104+
encoded, size = self.to_b64text(elements, **options)
108105
decoded = encoded.decode("utf8")
109106
# see https://tools.ietf.org/html/rfc2397
110107
return f'<mglyph src="{decoded}" width="{size[0]}px" height="{size[1]}px" />'
111108

112-
def boxes_to_tex(self, elements=None, **options) -> str:
109+
def to_tex(self, elements=None, **options) -> str:
113110
"""
114111
Store the associated image as a png file and return
115112
a LaTeX command for including it.
116113
"""
117-
data, size = self.boxes_to_png(elements, **options)
114+
data, size = self.to_png(elements, **options)
118115
res = 100 # pixels/cm
119116
width_str, height_str = (str(n / res).strip() for n in size)
120117
head = rf"\includegraphics[width={width_str}cm,height={height_str}cm]"

mathics/builtin/colors/color_directives.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -192,15 +192,15 @@ def create(expr):
192192
def create_as_style(klass, graphics, item):
193193
return klass(item)
194194

195-
def to_css(self):
195+
def to_css(self) -> str:
196196
rgba = self.to_rgba()
197197
alpha = rgba[3] if len(rgba) > 3 else None
198198
return (
199199
r"rgb(%f%%, %f%%, %f%%)" % (rgba[0] * 100, rgba[1] * 100, rgba[2] * 100),
200200
alpha,
201201
)
202202

203-
def to_js(self):
203+
def to_js(self) -> str:
204204
return self.to_rgba()
205205

206206
def to_expr(self):
@@ -635,7 +635,7 @@ def init(self, item=None, *args, **kwargs):
635635
super(Opacity, self).init(None, item)
636636
self.opacity = item.elements[0].to_python()
637637

638-
def to_css(self):
638+
def to_css(self) -> str:
639639
try:
640640
if 0.0 <= self.opacity <= 1.0:
641641
return self.opacity

mathics/builtin/compilation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def __str__(self):
135135
return "-PythonizedCode-"
136136
return "-CompiledCode-"
137137

138-
def boxes_to_text(self, elements=None, **options):
138+
def to_text(self, elements=None, **options) -> str:
139139
if not elements:
140140
elements = self._elements
141141
return "-CompiledCode-"

mathics/builtin/compress.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ def eval(self, expr, evaluation: Evaluation, options: dict):
3838
string = '"' + expr.value + '"'
3939
else:
4040
string = expr.format(evaluation, "System`FullForm")
41-
string = string.boxes_to_text(
42-
evaluation=evaluation, show_string_characters=True
43-
)
41+
string = string.to_text(evaluation=evaluation, show_string_characters=True)
4442
string = string.encode("utf-8")
4543

4644
# TODO Implement other Methods

mathics/builtin/files_io/files.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,7 @@ def do_format_output(expr, evaluation):
600600
return render_input_form(expr, evaluation)
601601
except BoxError:
602602
boxed_expr = format_element(expr, evaluation, SymbolFullForm)
603-
return boxed_expr.boxes_to_text()
603+
return boxed_expr.to_text()
604604

605605
text = [do_format_output(expr, evaluation) for expr in exprs.get_sequence()]
606606
text = "\n".join(text) + "\n"
@@ -1635,7 +1635,7 @@ def eval(self, channel, expr, evaluation: Evaluation):
16351635
for expri in expr.get_sequence():
16361636
result = format_element(expri, evaluation, SymbolOutputForm)
16371637
try:
1638-
result = result.boxes_to_text(evaluation=evaluation)
1638+
result = result.to_text(evaluation=evaluation)
16391639
except BoxError:
16401640
evaluation.message(
16411641
"General",

mathics/builtin/string/operations.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ def do_format_output(expr, evaluation):
220220
boxed_expr = format_element(expr, evaluation, SymbolOutputForm)
221221
except BoxError:
222222
boxed_expr = format_element(expr, evaluation, SymbolFullForm)
223-
return boxed_expr.boxes_to_text()
223+
return boxed_expr.to_text()
224224

225225
return do_format_output(
226226
Expression(
@@ -688,7 +688,7 @@ def eval(self, liststr, seps, evaluation):
688688
for i in range(len(liststr.elements)):
689689
text = format_element(
690690
liststr.elements[i], evaluation, SymbolOutputForm
691-
).boxes_to_text(evaluation=evaluation)
691+
).to_text(evaluation=evaluation)
692692
if i == len(liststr.elements) - 1:
693693
result += text + right
694694
else:

0 commit comments

Comments
 (0)