fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added small test code to dcparser.
[wolnelektury.git]
/
catalogue
/
models.py
diff --git
a/catalogue/models.py
b/catalogue/models.py
index
d252bbf
..
0d3df16
100644
(file)
--- a/
catalogue/models.py
+++ b/
catalogue/models.py
@@
-49,7
+49,7
@@
class Tag(TagBase):
@permalink
def get_absolute_url(self):
@permalink
def get_absolute_url(self):
- return ('catalogue.views.tagged_
book
_list', [self.slug])
+ return ('catalogue.views.tagged_
object
_list', [self.slug])
class Meta:
ordering = ('sort_key',)
class Meta:
ordering = ('sort_key',)
@@
-129,6
+129,7
@@
class Book(models.Model):
from tempfile import NamedTemporaryFile
from slughifi import slughifi
import dcparser
from tempfile import NamedTemporaryFile
from slughifi import slughifi
import dcparser
+ from markupstring import MarkupString
# Read book metadata
book_info = dcparser.parse(xml_file)
# Read book metadata
book_info = dcparser.parse(xml_file)
@@
-159,7
+160,11
@@
class Book(models.Model):
closed_fragments, open_fragments = html.extract_fragments(book.html_file.path)
book_themes = []
for fragment in closed_fragments.values():
closed_fragments, open_fragments = html.extract_fragments(book.html_file.path)
book_themes = []
for fragment in closed_fragments.values():
- new_fragment = Fragment(html=fragment.to_string(), anchor=fragment.id, book=book)
+ text = fragment.to_string()
+ short_text = ''
+ if (len(MarkupString(text)) > 240):
+ short_text = MarkupString(text)[:160]
+ new_fragment = Fragment(text=text, short_text=short_text, anchor=fragment.id, book=book)
theme_names = [s.strip() for s in fragment.themes.split(',')]
themes = []
theme_names = [s.strip() for s in fragment.themes.split(',')]
themes = []
@@
-190,7
+195,8
@@
class Book(models.Model):
class Fragment(models.Model):
class Fragment(models.Model):
- html = models.TextField()
+ text = models.TextField()
+ short_text = models.TextField(editable=False)
_short_html = models.TextField(editable=False)
anchor = models.IntegerField()
book = models.ForeignKey(Book, related_name='fragments')
_short_html = models.TextField(editable=False)
anchor = models.IntegerField()
book = models.ForeignKey(Book, related_name='fragments')