summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--equations/models.py115
-rw-r--r--equations/views.py57
-rw-r--r--symbols.json1
-rw-r--r--urls.py4
-rw-r--r--variables.json1
5 files changed, 98 insertions, 80 deletions
diff --git a/equations/models.py b/equations/models.py
index ca68ba7..9b8a38d 100644
--- a/equations/models.py
+++ b/equations/models.py
@@ -1,111 +1,78 @@
-from django.db import models
+#from django.db import models
from django.utils.translation import gettext_lazy as _
import django.contrib.auth.models as auth
from django.conf import settings
from django.dispatch import dispatcher
-from django.db.models import signals
-from signals import update_render
+#from django.db.models import signals
+#from signals import update_render
+from appengine_django.models import BaseModel
+from google.appengine.ext import db
-class Symbol(models.Model):
- name = models.CharField(_("Name"))
- latex = models.TextField(_("Raw LaTeX"), unique=True)
- unicode = models.TextField(_("Unicode Representation"), blank=True)
- renderdir = "symbolrenders/"
- render = models.ImageField(_("Rendered Image"),
- upload_to=renderdir, editable=False)
+
+class Symbol(BaseModel):
+ name = db.StringProperty(_("Name"))
+ latex = db.TextProperty(_("Raw LaTeX"))
+ unicode = db.TextProperty(_("Unicode Representation"))
+ #renderdir = "symbolrenders/"
+ #render = models.ImageField(_("Rendered Image"),
+ #upload_to=renderdir, editable=False)
class Meta:
get_latest_by = 'name'
class Admin:
ordering = ['name']
-
+
+ def _get_pk_val(self):
+ return self.key().id()
def __str__(self):
return self.name
def get_absolute_url(self):
return "/symbol/%s/" % self.id
def get_admin_url(self):
return "/admin/symbols/%s/" % self.id
- #def save(self):
- # super(Symbol, self)
- # self.update_generic_variable()
- def save(self):
- super(Symbol, self).save()
- self.render = self.renderdir + "%s.png" % self.id
- super(Symbol, self).save()
-
-#signals.pre_save.connect(update_render, sender=Symbol)
-#dispatcher.connect(update_render, signal=signals.pre_save, sender=Symbol)
-def update_generic_variable(sender, instance, signal, *args, **kwargs):
- """Checks if there is a generic variable associated with this
- symbol; create one if there isn't"""
- for v in Variable.objects.filter(isgeneric=True):
- if v.latex == instance.latex:
- return
- genericv = Variable(name="Generic %s" % instance.name,
- latex=instance.latex,
- unicode=instance.unicode,
- symbol=instance,
- isgeneric=True)
- genericv.save()
-
-#signals.pre_save.connect(update_render, sender=Symbol)
-#signals.post_save.connect(update_generic_variable, sender=Symbol)
-#dispatcher.connect(update_render, signal=signals.pre_save, sender=Symbol)
-#dispatcher.connect(update_generic_variable, signal=signals.post_save,
-# sender=Symbol)
-
-class Variable(models.Model):
- name = models.CharField(_("Name"))
- latex = models.TextField(_("Raw LaTeX"), unique=True)
- unicode = models.TextField(_("Unicode Representation"), blank=True)
- description = models.TextField(_("Description"), blank=True)
- renderdir = "variablerenders/"
- render = models.ImageField(_("Rendered Image"),
- upload_to=renderdir, editable=False)
- reference = models.URLField(_("Reference URL"), blank=True)
- symbol = models.ForeignKey(Symbol, verbose_name=_("Symbol"))
- isgeneric = models.BooleanField(_("Is Generic?"), default=False)
+class Variable(BaseModel):
+ name = db.StringProperty(_("Name"))
+ latex = db.TextProperty(_("Raw LaTeX"))
+ unicode = db.TextProperty(_("Unicode Representation"))
+ description = db.TextProperty(_("Description"))
+ reference = db.TextProperty(_("Reference URL"))
+ symbol = db.ReferenceProperty(Symbol)
+ isgeneric = db.BooleanProperty(_("Is Generic?"), default=False)
class Meta:
get_latest_by = 'name'
class Admin:
ordering = ['name']
+ def _get_pk_val(self):
+ return self.key().id()
def __str__(self):
return self.name
def get_absolute_url(self):
return "/variable/%s/" % self.id
def get_admin_url(self):
return "/admin/variables/%s/" % self.id
- def save(self):
- super(Variable, self).save()
- self.render = self.renderdir + "%s.png" % self.id
- super(Variable, self).save()
-#signals.pre_save.connect(update_render, sender=Variable)
-#dispatcher.connect(update_render, signal=signals.pre_save, sender=Variable)
+class Equation(BaseModel):
+ name = db.StringProperty(_("Name"))
+ latex = db.TextProperty(_("Raw LaTeX"))
+ unicode = db.TextProperty(_("Unicode Representation"))
+ description = db.TextProperty(_("Description"))
+ created = db.DateTimeProperty(_("Created"), auto_now_add=True)
+ updated = db.DateTimeProperty(_("Last Updated"), auto_now_add=True)
+ #owner = models.ForeignKey(auth.User, verbose_name=_("Owner"))
-class Equation(models.Model):
- name = models.CharField(_("Name"))
- latex = models.TextField(_("Raw LaTeX"), unique=True)
- unicode = models.TextField(_("Unicode Representation"), blank=True)
- description = models.TextField(_("Description"), blank=True)
- created = models.DateField(_("Created"), auto_now_add=True)
- updated = models.DateField(_("Last Updated"), auto_now_add=True)
- owner = models.ForeignKey(auth.User, verbose_name=_("Owner"))
- variables = models.ManyToManyField(Variable, verbose_name="Variables",
- editable=True)
- renderdir = "equationrenders/"
- render = models.ImageField(_("Rendered Image"),
- upload_to=renderdir, editable=False)
- reference = models.URLField(_("Reference URL"), blank=True)
+ variables = db.ListProperty(db.Key, verbose_name="Variables")
+ reference = db.TextProperty(_("Reference URL"))
class Meta:
get_latest_by = 'created'
class Admin:
ordering = ['created']
+ def _get_pk_val(self):
+ return self.key().id()
def __str__(self):
return self.name
def get_absolute_url(self):
@@ -116,11 +83,6 @@ class Equation(models.Model):
"""Updates the variables field with all Variable objects found
in the LaTeX representation."""
pass # TODO: write
- def save(self):
- self.update_variables()
- super(Equation, self).save()
- self.render = self.renderdir + "%s.png" % self.id
- super(Equation, self).save()
#signals.post_save.connect(update_render, sender=Equation)
#dispatcher.connect(update_render, signal=signals.post_save, sender=Equation)
@@ -130,4 +92,3 @@ class Equation(models.Model):
#admin.site.register(Symbol)
#admin.site.register(Variable)
#admin.site.register(Equation)
-
diff --git a/equations/views.py b/equations/views.py
index 41309c1..21c4f3a 100644
--- a/equations/views.py
+++ b/equations/views.py
@@ -35,7 +35,60 @@ def vars_by_symbs(request, which_symbols):
return HttpResponse('[]', mimetype="text/javascript")
if vars[-1] == '/' or vars[-1] == '':
vars = vars[:-1]
- returnables = Variable.objects.filter(symbol=vars[0])
+ #vkeys = list()
+ returnables = list()
+ for v in vars:
+ returnables.append([r for r in Symbol.get_by_id(int(v)).variable_set.run()])
+ print returnables
+ #vkeys.append(str(Symbol.get_by_id(int(v)).key()))
+ #returnables = Variable.objects.all().filter('symbol IN ', vkeys).run()
- data = serializers.serialize("json", returnables)
+ data = [serializers.serialize("json", r) for r in returnables]
return HttpResponse(data, mimetype="text/javascript")
+ #return HttpResponse(returnables, mimetype="text/javascript")
+
+def import_symbols(filename):
+ infile = open(filename)
+ stuff = infile.readlines()
+ infile.close()
+ l = eval(stuff[0])
+ for symb in l:
+ vals = symb['fields']
+ newsymb = Symbol(latex=vals['latex'], unicode=vals['unicode'],
+ name=vals['name'])
+ newsymb.save()
+
+def import_equations(filename):
+ infile = open(filename)
+ stuff = infile.readlines()
+ infile.close()
+ l = eval(stuff[0])
+ for symb in l:
+ vals = symb['fields']
+ newsymb = Symbol(latex=vals['latex'], unicode=vals['unicode'],
+ name=vals['name'])
+ newsymb.save()
+
+def import_variables(filename):
+ infile = open(filename)
+ stuff = infile.readlines()
+ infile.close()
+ l = eval(stuff[0], {'true':True, 'false':False})
+ for vari in l:
+ vals = vari['fields']
+ newvar = Variable(latex=vals['latex'], unicode=vals['unicode'],
+ name=vals['name'], description=vals['description'],
+ reference=vals['reference'])
+ newvar.save()
+
+def match_var_symb():
+ vs = Variable.objects.all().run()
+
+ for v in vs:
+ try:
+ vname = v.name.split("Generic ")[1]
+ s = Symbol.all().filter('name =', vname).run().next()
+ v.symbol = s
+ v.save()
+ except:
+ print "Error assigning symbol to value: %s " % v
diff --git a/symbols.json b/symbols.json
new file mode 100644
index 0000000..ea2f70e
--- /dev/null
+++ b/symbols.json
@@ -0,0 +1 @@
+[{"pk": 2, "model": "equations.symbol", "fields": {"latex": "\\gamma", "render": "symbolrenders/2.png", "name": "Gamma", "unicode": ""}}, {"pk": 3, "model": "equations.symbol", "fields": {"latex": "\\alpha", "render": "symbolrenders/3.png", "name": "Alpha", "unicode": ""}}, {"pk": 4, "model": "equations.symbol", "fields": {"latex": "\\beta", "render": "symbolrenders/4.png", "name": "Beta", "unicode": ""}}, {"pk": 5, "model": "equations.symbol", "fields": {"latex": "A", "render": "symbolrenders/5.png", "name": "Uppercase A", "unicode": ""}}, {"pk": 6, "model": "equations.symbol", "fields": {"latex": "a", "render": "symbolrenders/6.png", "name": "Lowercase a", "unicode": ""}}, {"pk": 7, "model": "equations.symbol", "fields": {"latex": "e", "render": "symbolrenders/7.png", "name": "Lowercase e", "unicode": ""}}, {"pk": 8, "model": "equations.symbol", "fields": {"latex": "\\Sigma", "render": "symbolrenders/8.png", "name": "Uppercase Sigma", "unicode": ""}}, {"pk": 9, "model": "equations.symbol", "fields": {"latex": "\\sigma", "render": "symbolrenders/9.png", "name": "Lowercase Sigma", "unicode": ""}}, {"pk": 10, "model": "equations.symbol", "fields": {"latex": "B", "render": "symbolrenders/10.png", "name": "Uppercase B", "unicode": ""}}, {"pk": 11, "model": "equations.symbol", "fields": {"latex": "t", "render": "symbolrenders/11.png", "name": "Lowercase t", "unicode": ""}}, {"pk": 12, "model": "equations.symbol", "fields": {"latex": "T", "render": "symbolrenders/12.png", "name": "Uppercase T", "unicode": ""}}, {"pk": 13, "model": "equations.symbol", "fields": {"latex": "\\mu", "render": "symbolrenders/13.png", "name": "Lowercase Mu", "unicode": ""}}, {"pk": 14, "model": "equations.symbol", "fields": {"latex": "\\pi", "render": "symbolrenders/14.png", "name": "Pi", "unicode": ""}}, {"pk": 15, "model": "equations.symbol", "fields": {"latex": "P", "render": "symbolrenders/15.png", "name": "Uppercase P", "unicode": ""}}, {"pk": 16, "model": "equations.symbol", "fields": {"latex": "x", "render": "symbolrenders/16.png", "name": "Lowercase x", "unicode": ""}}, {"pk": 17, "model": "equations.symbol", "fields": {"latex": "\\Gamma", "render": "symbolrenders/17.png", "name": "Uppercase Gama", "unicode": ""}}, {"pk": 18, "model": "equations.symbol", "fields": {"latex": "\\Delta", "render": "symbolrenders/18.png", "name": "Uppercase Delta", "unicode": ""}}, {"pk": 19, "model": "equations.symbol", "fields": {"latex": "\\Theta", "render": "symbolrenders/19.png", "name": "Uppercase Theta", "unicode": ""}}, {"pk": 20, "model": "equations.symbol", "fields": {"latex": "\\Lambda", "render": "symbolrenders/20.png", "name": "Uppercase Lambda", "unicode": ""}}, {"pk": 21, "model": "equations.symbol", "fields": {"latex": "\\Xi", "render": "symbolrenders/21.png", "name": "Uppercase Xi", "unicode": ""}}, {"pk": 22, "model": "equations.symbol", "fields": {"latex": "\\Pi", "render": "symbolrenders/22.png", "name": "Uppercase Pi", "unicode": ""}}, {"pk": 23, "model": "equations.symbol", "fields": {"latex": "\\Upsilon", "render": "symbolrenders/23.png", "name": "Uppercase Upsilon", "unicode": ""}}, {"pk": 24, "model": "equations.symbol", "fields": {"latex": "\\Phi", "render": "symbolrenders/24.png", "name": "Uppercase Phi", "unicode": ""}}, {"pk": 25, "model": "equations.symbol", "fields": {"latex": "\\Psi", "render": "symbolrenders/25.png", "name": "Uppercase Psi", "unicode": ""}}, {"pk": 26, "model": "equations.symbol", "fields": {"latex": "\\Omega", "render": "symbolrenders/26.png", "name": "Uppercase Omega", "unicode": ""}}, {"pk": 27, "model": "equations.symbol", "fields": {"latex": "\\delta", "render": "symbolrenders/27.png", "name": "Lowercase Delta", "unicode": ""}}, {"pk": 28, "model": "equations.symbol", "fields": {"latex": "\\zeta", "render": "symbolrenders/28.png", "name": "Zeta", "unicode": ""}}, {"pk": 29, "model": "equations.symbol", "fields": {"latex": "\\eta", "render": "symbolrenders/29.png", "name": "Eta", "unicode": ""}}, {"pk": 30, "model": "equations.symbol", "fields": {"latex": "\\theta", "render": "symbolrenders/30.png", "name": "Lowercase Theta", "unicode": ""}}, {"pk": 31, "model": "equations.symbol", "fields": {"latex": "\\vartheta", "render": "symbolrenders/31.png", "name": "Vartheta", "unicode": ""}}, {"pk": 32, "model": "equations.symbol", "fields": {"latex": "\\kappa", "render": "symbolrenders/32.png", "name": "Kappa", "unicode": ""}}, {"pk": 33, "model": "equations.symbol", "fields": {"latex": "\\nu", "render": "symbolrenders/33.png", "name": "Nu", "unicode": ""}}, {"pk": 34, "model": "equations.symbol", "fields": {"latex": "\\xi", "render": "symbolrenders/34.png", "name": "Lowercase Xi", "unicode": ""}}, {"pk": 35, "model": "equations.symbol", "fields": {"latex": "\\varpi", "render": "symbolrenders/35.png", "name": "Varpi", "unicode": ""}}, {"pk": 36, "model": "equations.symbol", "fields": {"latex": "\\rho", "render": "symbolrenders/36.png", "name": "Rho", "unicode": ""}}, {"pk": 37, "model": "equations.symbol", "fields": {"latex": "\\varrho", "render": "symbolrenders/37.png", "name": "Varrho", "unicode": ""}}, {"pk": 38, "model": "equations.symbol", "fields": {"latex": "\\varsigma", "render": "symbolrenders/38.png", "name": "Varsigma", "unicode": ""}}, {"pk": 39, "model": "equations.symbol", "fields": {"latex": "\\tau", "render": "symbolrenders/39.png", "name": "Tau", "unicode": ""}}, {"pk": 40, "model": "equations.symbol", "fields": {"latex": "\\upsilon", "render": "symbolrenders/40.png", "name": "Lowercase Upsilon", "unicode": ""}}, {"pk": 41, "model": "equations.symbol", "fields": {"latex": "\\phi", "render": "symbolrenders/41.png", "name": "Lowercase Phi", "unicode": ""}}, {"pk": 42, "model": "equations.symbol", "fields": {"latex": "\\varphi", "render": "symbolrenders/42.png", "name": "Varphi", "unicode": ""}}, {"pk": 43, "model": "equations.symbol", "fields": {"latex": "\\chi", "render": "symbolrenders/43.png", "name": "Chi", "unicode": ""}}, {"pk": 44, "model": "equations.symbol", "fields": {"latex": "\\psi", "render": "symbolrenders/44.png", "name": "Lowercase Psi", "unicode": ""}}, {"pk": 45, "model": "equations.symbol", "fields": {"latex": "\\omega", "render": "symbolrenders/45.png", "name": "Lowercase Omega", "unicode": ""}}, {"pk": 46, "model": "equations.symbol", "fields": {"latex": "\\hbar", "render": "symbolrenders/46.png", "name": "h-bar", "unicode": ""}}, {"pk": 47, "model": "equations.symbol", "fields": {"latex": "\\aleph", "render": "symbolrenders/47.png", "name": "Aleph", "unicode": ""}}, {"pk": 48, "model": "equations.symbol", "fields": {"latex": "\\Re", "render": "symbolrenders/48.png", "name": "Reals", "unicode": ""}}, {"pk": 49, "model": "equations.symbol", "fields": {"latex": "\\Im", "render": "symbolrenders/49.png", "name": "Imaginaries", "unicode": ""}}, {"pk": 50, "model": "equations.symbol", "fields": {"latex": "\\infty", "render": "symbolrenders/50.png", "name": "Infinity", "unicode": ""}}, {"pk": 51, "model": "equations.symbol", "fields": {"latex": "\\emptyset", "render": "symbolrenders/51.png", "name": "Empty Set", "unicode": ""}}, {"pk": 52, "model": "equations.symbol", "fields": {"latex": "f", "render": "symbolrenders/52.png", "name": "f", "unicode": ""}}, {"pk": 53, "model": "equations.symbol", "fields": {"latex": "F", "render": "symbolrenders/53.png", "name": "F", "unicode": ""}}, {"pk": 54, "model": "equations.symbol", "fields": {"latex": "m", "render": "symbolrenders/54.png", "name": "m", "unicode": ""}}, {"pk": 55, "model": "equations.symbol", "fields": {"latex": "v", "render": "symbolrenders/55.png", "name": "v", "unicode": ""}}, {"pk": 56, "model": "equations.symbol", "fields": {"latex": "y", "render": "symbolrenders/56.png", "name": "y", "unicode": ""}}, {"pk": 57, "model": "equations.symbol", "fields": {"latex": "z", "render": "symbolrenders/57.png", "name": "z", "unicode": ""}}, {"pk": 58, "model": "equations.symbol", "fields": {"latex": "K", "render": "symbolrenders/58.png", "name": "K", "unicode": ""}}, {"pk": 59, "model": "equations.symbol", "fields": {"latex": "E", "render": "symbolrenders/59.png", "name": "E", "unicode": ""}}, {"pk": 60, "model": "equations.symbol", "fields": {"latex": "h", "render": "symbolrenders/60.png", "name": "h", "unicode": ""}}, {"pk": 61, "model": "equations.symbol", "fields": {"latex": "c", "render": "symbolrenders/61.png", "name": "c", "unicode": ""}}, {"pk": 62, "model": "equations.symbol", "fields": {"latex": "p", "render": "symbolrenders/62.png", "name": "p", "unicode": ""}}, {"pk": 63, "model": "equations.symbol", "fields": {"latex": "q", "render": "symbolrenders/63.png", "name": "q", "unicode": ""}}, {"pk": 64, "model": "equations.symbol", "fields": {"latex": "s", "render": "symbolrenders/64.png", "name": "s", "unicode": ""}}] \ No newline at end of file
diff --git a/urls.py b/urls.py
index 8cfbc18..3a6829a 100644
--- a/urls.py
+++ b/urls.py
@@ -6,6 +6,8 @@ from equations.models import Equation, Symbol, Variable
#admin.autodiscover()
urlpatterns = patterns('',
+ (r'^$', 'django.views.generic.simple.direct_to_template',
+ {'template': 'index.html'}),
(r'^go/', 'django.views.generic.simple.direct_to_template',
{'template': 'go.html'}),
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
@@ -27,7 +29,7 @@ urlpatterns += patterns('django.views.generic.list_detail',
(r'^variable/(?P<object_id>\d+)/$', 'object_detail',
dict(queryset=Variable.objects.all() )),
)
-urlpatterns += patterns('equator.equations.views',
+urlpatterns += patterns('equations.views',
(r'^json/equs_by_vars/(?P<whichvars>[\d\,]*)/?$', 'equs_by_vars'),
(r'^json/vars_by_symbs/(?P<which_symbols>[\d\,]*)/?$', 'vars_by_symbs'),
(r'^json/all_variables/$', 'all_variables'),
diff --git a/variables.json b/variables.json
new file mode 100644
index 0000000..0c528cf
--- /dev/null
+++ b/variables.json
@@ -0,0 +1 @@
+[{"pk": 1, "model": "equations.variable", "fields": {"latex": "\\gamma", "render": "variablerenders/1.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 2, "name": "Generic Gamma"}}, {"pk": 2, "model": "equations.variable", "fields": {"latex": "\\alpha", "render": "variablerenders/2.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 3, "name": "Generic Alpha"}}, {"pk": 3, "model": "equations.variable", "fields": {"latex": "\\beta", "render": "variablerenders/3.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 4, "name": "Generic Beta"}}, {"pk": 4, "model": "equations.variable", "fields": {"latex": "A", "render": "variablerenders/4.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 5, "name": "Generic Uppercase A"}}, {"pk": 5, "model": "equations.variable", "fields": {"latex": "a", "render": "variablerenders/5.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 6, "name": "Generic Lowercase a"}}, {"pk": 6, "model": "equations.variable", "fields": {"latex": "e", "render": "variablerenders/6.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 7, "name": "Generic Lowercase e"}}, {"pk": 7, "model": "equations.variable", "fields": {"latex": "\\Sigma", "render": "variablerenders/7.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 8, "name": "Generic Uppercase Sigma"}}, {"pk": 8, "model": "equations.variable", "fields": {"latex": "\\sigma", "render": "variablerenders/8.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 9, "name": "Generic Lowercase Sigma"}}, {"pk": 9, "model": "equations.variable", "fields": {"latex": "B", "render": "variablerenders/9.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 10, "name": "Generic Uppercase B"}}, {"pk": 10, "model": "equations.variable", "fields": {"latex": "t", "render": "variablerenders/10.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 11, "name": "Generic Lowercase t"}}, {"pk": 11, "model": "equations.variable", "fields": {"latex": "T", "render": "variablerenders/11.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 12, "name": "Generic Uppercase T"}}, {"pk": 12, "model": "equations.variable", "fields": {"latex": "t_{time}", "render": "variablerenders/12.png", "reference": "", "description": "", "isgeneric": false, "unicode": "", "symbol": 11, "name": "Time"}}, {"pk": 13, "model": "equations.variable", "fields": {"latex": "\\mu", "render": "variablerenders/13.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 13, "name": "Generic Lowercase Mu"}}, {"pk": 14, "model": "equations.variable", "fields": {"latex": "\\pi", "render": "variablerenders/14.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 14, "name": "Generic Pi"}}, {"pk": 15, "model": "equations.variable", "fields": {"latex": "P", "render": "variablerenders/15.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 15, "name": "Generic Uppercase P"}}, {"pk": 16, "model": "equations.variable", "fields": {"latex": "x", "render": "variablerenders/16.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 16, "name": "Generic Lowercase x"}}, {"pk": 17, "model": "equations.variable", "fields": {"latex": "\\Gamma", "render": "variablerenders/17.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 17, "name": "Generic Uppercase Gama"}}, {"pk": 18, "model": "equations.variable", "fields": {"latex": "\\Delta", "render": "variablerenders/18.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 18, "name": "Generic Uppercase Delta"}}, {"pk": 19, "model": "equations.variable", "fields": {"latex": "\\Theta", "render": "variablerenders/19.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 19, "name": "Generic Uppercase Theta"}}, {"pk": 20, "model": "equations.variable", "fields": {"latex": "\\Lambda", "render": "variablerenders/20.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 20, "name": "Generic Uppercase Lambda"}}, {"pk": 21, "model": "equations.variable", "fields": {"latex": "\\Xi", "render": "variablerenders/21.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 21, "name": "Generic Uppercase Xi"}}, {"pk": 22, "model": "equations.variable", "fields": {"latex": "\\Pi", "render": "variablerenders/22.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 22, "name": "Generic Uppercase Pi"}}, {"pk": 23, "model": "equations.variable", "fields": {"latex": "\\Upsilon", "render": "variablerenders/23.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 23, "name": "Generic Uppercase Upsilon"}}, {"pk": 24, "model": "equations.variable", "fields": {"latex": "\\Phi", "render": "variablerenders/24.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 24, "name": "Generic Uppercase Phi"}}, {"pk": 25, "model": "equations.variable", "fields": {"latex": "\\Psi", "render": "variablerenders/25.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 25, "name": "Generic Uppercase Psi"}}, {"pk": 26, "model": "equations.variable", "fields": {"latex": "\\Omega", "render": "variablerenders/26.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 26, "name": "Generic Uppercase Omega"}}, {"pk": 27, "model": "equations.variable", "fields": {"latex": "\\delta", "render": "variablerenders/27.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 27, "name": "Generic Lowercase Delta"}}, {"pk": 28, "model": "equations.variable", "fields": {"latex": "\\zeta", "render": "variablerenders/28.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 28, "name": "Generic Zeta"}}, {"pk": 29, "model": "equations.variable", "fields": {"latex": "\\eta", "render": "variablerenders/29.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 29, "name": "Generic Eta"}}, {"pk": 30, "model": "equations.variable", "fields": {"latex": "\\theta", "render": "variablerenders/30.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 30, "name": "Generic Lowercase Theta"}}, {"pk": 31, "model": "equations.variable", "fields": {"latex": "\\vartheta", "render": "variablerenders/31.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 31, "name": "Generic Vartheta"}}, {"pk": 32, "model": "equations.variable", "fields": {"latex": "\\kappa", "render": "variablerenders/32.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 32, "name": "Generic Kappa"}}, {"pk": 33, "model": "equations.variable", "fields": {"latex": "\\nu", "render": "variablerenders/33.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 33, "name": "Generic Nu"}}, {"pk": 34, "model": "equations.variable", "fields": {"latex": "\\xi", "render": "variablerenders/34.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 34, "name": "Generic Lowercase Xi"}}, {"pk": 35, "model": "equations.variable", "fields": {"latex": "\\varpi", "render": "variablerenders/35.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 35, "name": "Generic Varpi"}}, {"pk": 36, "model": "equations.variable", "fields": {"latex": "\\rho", "render": "variablerenders/36.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 36, "name": "Generic Rho"}}, {"pk": 37, "model": "equations.variable", "fields": {"latex": "\\varrho", "render": "variablerenders/37.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 37, "name": "Generic Varrho"}}, {"pk": 38, "model": "equations.variable", "fields": {"latex": "\\varsigma", "render": "variablerenders/38.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 38, "name": "Generic Varsigma"}}, {"pk": 39, "model": "equations.variable", "fields": {"latex": "\\tau", "render": "variablerenders/39.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 39, "name": "Generic Tau"}}, {"pk": 40, "model": "equations.variable", "fields": {"latex": "\\upsilon", "render": "variablerenders/40.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 40, "name": "Generic Lowercase Upsilon"}}, {"pk": 41, "model": "equations.variable", "fields": {"latex": "\\phi", "render": "variablerenders/41.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 41, "name": "Generic Lowercase Phi"}}, {"pk": 42, "model": "equations.variable", "fields": {"latex": "\\varphi", "render": "variablerenders/42.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 42, "name": "Generic Varphi"}}, {"pk": 43, "model": "equations.variable", "fields": {"latex": "\\chi", "render": "variablerenders/43.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 43, "name": "Generic Chi"}}, {"pk": 44, "model": "equations.variable", "fields": {"latex": "\\psi", "render": "variablerenders/44.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 44, "name": "Generic Lowercase Psi"}}, {"pk": 45, "model": "equations.variable", "fields": {"latex": "\\omega", "render": "variablerenders/45.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 45, "name": "Generic Lowercase Omega"}}, {"pk": 46, "model": "equations.variable", "fields": {"latex": "\\hbar", "render": "variablerenders/46.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 46, "name": "Generic h-bar"}}, {"pk": 47, "model": "equations.variable", "fields": {"latex": "\\aleph", "render": "variablerenders/47.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 47, "name": "Generic Aleph"}}, {"pk": 48, "model": "equations.variable", "fields": {"latex": "\\Re", "render": "variablerenders/48.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 48, "name": "Generic Reals"}}, {"pk": 49, "model": "equations.variable", "fields": {"latex": "\\Im", "render": "variablerenders/49.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 49, "name": "Generic Imaginaries"}}, {"pk": 50, "model": "equations.variable", "fields": {"latex": "\\infty", "render": "variablerenders/50.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 50, "name": "Generic Infinity"}}, {"pk": 51, "model": "equations.variable", "fields": {"latex": "\\emptyset", "render": "variablerenders/51.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 51, "name": "Generic Empty Set"}}, {"pk": 52, "model": "equations.variable", "fields": {"latex": "f", "render": "variablerenders/52.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 52, "name": "Generic f"}}, {"pk": 53, "model": "equations.variable", "fields": {"latex": "F", "render": "variablerenders/53.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 53, "name": "Generic F"}}, {"pk": 54, "model": "equations.variable", "fields": {"latex": "m", "render": "variablerenders/54.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 54, "name": "Generic m"}}, {"pk": 55, "model": "equations.variable", "fields": {"latex": "v", "render": "variablerenders/55.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 55, "name": "Generic v"}}, {"pk": 56, "model": "equations.variable", "fields": {"latex": "y", "render": "variablerenders/56.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 56, "name": "Generic y"}}, {"pk": 57, "model": "equations.variable", "fields": {"latex": "z", "render": "variablerenders/57.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 57, "name": "Generic z"}}, {"pk": 58, "model": "equations.variable", "fields": {"latex": "K", "render": "variablerenders/58.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 58, "name": "Generic K"}}, {"pk": 59, "model": "equations.variable", "fields": {"latex": "KE", "render": "variablerenders/59.png", "reference": "http://hyperphysics.phy-astr.gsu.edu/hbase/mi.html", "description": "", "isgeneric": false, "unicode": "", "symbol": 58, "name": "Kinetic Energy"}}, {"pk": 60, "model": "equations.variable", "fields": {"latex": "E", "render": "variablerenders/60.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 59, "name": "Generic E"}}, {"pk": 61, "model": "equations.variable", "fields": {"latex": "h", "render": "variablerenders/61.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 60, "name": "Generic h"}}, {"pk": 62, "model": "equations.variable", "fields": {"latex": "c", "render": "variablerenders/62.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 61, "name": "Generic c"}}, {"pk": 63, "model": "equations.variable", "fields": {"latex": "p", "render": "variablerenders/63.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 62, "name": "Generic p"}}, {"pk": 64, "model": "equations.variable", "fields": {"latex": "q", "render": "variablerenders/64.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 63, "name": "Generic q"}}, {"pk": 65, "model": "equations.variable", "fields": {"latex": "s", "render": "variablerenders/65.png", "reference": "", "description": "", "isgeneric": true, "unicode": "", "symbol": 64, "name": "Generic s"}}] \ No newline at end of file