Skip to content

Commit 2309dba

Browse files
committed
project renamed
1 parent 1f1b54a commit 2309dba

File tree

7 files changed

+61
-0
lines changed

7 files changed

+61
-0
lines changed

ipython-redbeaver/calc.py

Whitespace-only changes.

ipython-redbeaver/formula.py

Whitespace-only changes.

ipython-redbeaver/test.py

Whitespace-only changes.
File renamed without changes.

redbeaver-ipython/calc.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from redbeaver.calc import Calc as RedbeaverCalc
2+
3+
4+
class Calc(RedbeaverCalc):
5+
pass

redbeaver-ipython/formula.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
from redbeaver.formula import Formula as RedbeaverFormula
2+
import sympy
3+
from IPython.display import display, Math
4+
import re
5+
6+
7+
class Formula(RedbeaverFormula):
8+
__LATEX_KEY__ = 3
9+
10+
def _update_fn_registry(self, fn, wrapped_fn):
11+
super(Formula, self)._update_fn_registry(fn, wrapped_fn)
12+
13+
self._fn_registry[fn.__name__] += (('latex', self._get_latex(fn.__name__)),)
14+
15+
def _wrap_body(self, fn, num):
16+
ret = super(Formula, self)._wrap_body(fn, num)
17+
18+
try:
19+
display(Math(self._get_fn_latex(fn.__name__)))
20+
except:
21+
display(self._get_fn_latex(fn.__name__))
22+
23+
return ret
24+
25+
def _get_latex(self, fn_name):
26+
for arg in self._get_fn_args(fn_name):
27+
locals().update({arg: sympy.Symbol(arg)})
28+
29+
try:
30+
return '%s = %s' % (
31+
Formula._get_latex_fn_name(fn_name),
32+
sympy.latex(eval(self._get_fn_return_str(fn_name)))
33+
)
34+
except TypeError as e:
35+
return e.args
36+
37+
@staticmethod
38+
def _get_latex_fn_name(fn_name):
39+
return fn_name.replace('__', '^')
40+
41+
def _get_fn_return_str(self, fn_name):
42+
try:
43+
return re.search('(?<=return)\s+.+', self._get_fn_src_str(fn_name)).group(0)
44+
except:
45+
return 'None'
46+
47+
def _get_fn_src_str(self, fn_name):
48+
return self._get_fn_src(fn_name)[0][-1]
49+
50+
def _get_fn_latex(self, fn_name):
51+
return self._fn_registry[fn_name][self.__LATEX_KEY__][1]

redbeaver-ipython/test.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import unittest
2+
3+
4+
class MyTestCase(unittest.TestCase):
5+
pass

0 commit comments

Comments
 (0)