blob: 9b8a38d7090de6cc639a3e06668cf59402e0416c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
#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 appengine_django.models import BaseModel
from google.appengine.ext import db
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
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
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"))
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):
return "/equation/%s/" % self.id
def get_admin_url(self):
return "/admin/equations/%s/" % self.id
def update_variables(self):
"""Updates the variables field with all Variable objects found
in the LaTeX representation."""
pass # TODO: write
#signals.post_save.connect(update_render, sender=Equation)
#dispatcher.connect(update_render, signal=signals.post_save, sender=Equation)
#from django.contrib import admin
#admin.site.register(Symbol)
#admin.site.register(Variable)
#admin.site.register(Equation)
|