equal
deleted
inserted
replaced
|
1 import re |
1 from cm.converters.pandoc_converters import \ |
2 from cm.converters.pandoc_converters import \ |
2 CHOICES_INPUT_FORMATS as CHOICES_INPUT_FORMATS_PANDOC, \ |
3 CHOICES_INPUT_FORMATS as CHOICES_INPUT_FORMATS_PANDOC, \ |
3 DEFAULT_INPUT_FORMAT as DEFAULT_INPUT_FORMAT_PANDOC, pandoc_convert |
4 DEFAULT_INPUT_FORMAT as DEFAULT_INPUT_FORMAT_PANDOC, pandoc_convert |
4 from cm.models_base import PermanentModel, KeyManager, Manager, KeyModel, AuthorModel |
5 from cm.models_base import PermanentModel, KeyManager, Manager, KeyModel, AuthorModel |
5 from cm.models_utils import * |
6 from cm.models_utils import * |
137 DEFAULT_INPUT_FORMAT = getattr(settings, 'DEFAULT_INPUT_FORMAT', DEFAULT_INPUT_FORMAT_PANDOC) |
138 DEFAULT_INPUT_FORMAT = getattr(settings, 'DEFAULT_INPUT_FORMAT', DEFAULT_INPUT_FORMAT_PANDOC) |
138 CHOICES_INPUT_FORMATS = getattr(settings, 'CHOICES_INPUT_FORMATS', CHOICES_INPUT_FORMATS_PANDOC) |
139 CHOICES_INPUT_FORMATS = getattr(settings, 'CHOICES_INPUT_FORMATS', CHOICES_INPUT_FORMATS_PANDOC) |
139 |
140 |
140 class TextVersionManager(KeyManager): |
141 class TextVersionManager(KeyManager): |
141 |
142 |
142 def save(self): |
|
143 self.content = re.sub(r'\r\n|\r|\n', '\n', self.content) |
|
144 super.save() |
|
145 |
|
146 def duplicate(self, text_version, duplicate_comments=True): |
143 def duplicate(self, text_version, duplicate_comments=True): |
147 #import pdb;pdb.set_trace() |
144 #import pdb;pdb.set_trace() |
148 old_comment_set = set(text_version.comment_set.all()) |
145 old_comment_set = set(text_version.comment_set.all()) |
149 text_version.id = None |
146 text_version.id = None |
150 |
147 |
269 other_versions = TextVersion.objects.filter(text__exact=self.text).order_by('-created').filter(created__lt=self.created) |
266 other_versions = TextVersion.objects.filter(text__exact=self.text).order_by('-created').filter(created__lt=self.created) |
270 return other_versions[0] if other_versions else None |
267 return other_versions[0] if other_versions else None |
271 |
268 |
272 def get_version_number(self): |
269 def get_version_number(self): |
273 return TextVersion.objects.filter(text__exact=self.text).order_by('created').filter(created__lte=self.created).count() |
270 return TextVersion.objects.filter(text__exact=self.text).order_by('created').filter(created__lte=self.created).count() |
|
271 |
|
272 def save(self, force_insert=False, force_update=False): |
|
273 self.content = re.sub('\r\n|\r|\n', '\n', self.content) |
|
274 super(AuthorModel, self).save() |
274 |
275 |
275 class CommentManager(Manager): |
276 class CommentManager(Manager): |
276 |
277 |
277 def duplicate(self, comment, text_version, reply_to=None, keep_dates=False): |
278 def duplicate(self, comment, text_version, reply_to=None, keep_dates=False): |
278 comment.id = None |
279 comment.id = None |