| 221 | return form |
| 222 | |
| 223 | def create_model(self, form): |
| 224 | try: |
| 225 | model = types.SimpleNamespace(id=None, url=None, title=None, tags=None, description=None, fetch=None) |
| 226 | form.populate_obj(model) |
| 227 | vars(model).pop("id") |
| 228 | self._on_model_change(form, model, True) |
| 229 | if not model.url: |
| 230 | raise ValueError(_('url invalid: %(url)s', url=model.url)) |
| 231 | kwargs = {'url': model.url, 'fetch': model.fetch} |
| 232 | if model.tags.strip(): |
| 233 | kwargs["tags_in"] = buku.parse_tags([model.tags]) |
| 234 | for key, item in (("title_in", model.title), ("desc", model.description)): |
| 235 | if item.strip(): |
| 236 | kwargs[key] = item |
| 237 | vars(model)['id'] = self.model.bukudb.add_rec(**kwargs) |
| 238 | self._saved(model.id, model.url) |
| 239 | except Exception as ex: |
| 240 | if not self.handle_view_exception(ex): |
| 241 | msg = _('Failed to create record.') |
| 242 | flash('%(msg)s %(error)s' % {'msg': msg, 'error': _(str(ex))}, 'error') |
| 243 | LOG.exception(msg) |
| 244 | return False |
| 245 | self.after_model_change(form, model, True) |
| 246 | return model |
| 247 | |
| 248 | def delete_model(self, model): |
| 249 | try: |