def documentDownload(id, filetype): try: document = Document().getObjectsByKey("_id", id)[0] except: return abort(404) return document.download(filetype, login.current_user)
def documentDelete(id): try: document = Document().getObjectsByKey("_id", id)[0] except: return abort(404) document.remove() return json.dumps({ "success": "true", "new_csrf": generate_csrf_token() })
def documentRelated(id): try: document = Document().matchObjects({"_id": id}, fields={ "_id": True, "contents": True, "tags": True })[0] except Exception as e: print e return abort(404) return document.getRelatedDocumentsByTags()
def documentsUpload(): categories = Category().matchObjects({}) error = None if request.method == "GET": return render_template("documents/upload.html", active="documents", categories=categories, name="Upload document", error=None) else: data = dict(request.form) title = data["title"][0] author = login.current_user.username category = data["category"][0] document, error = Document.upload(title, author, category, request.files["file"], documentClass=Document) if error is None: return redirect("/documents/" + str(document._id)) else: return returnUploadError(error, categories) return returnUploadError(error, categories)
def documentSearch(): query = request.args.get("keywords", "") if isinstance(query, list): query = query[0] category = request.args.get("category", None) facetpicks = dict(request.args) try: del facetpicks["keywords"] del facetpicks["category"] except: pass results, extendedQuery, facets = Document.search(query, filters=facetpicks) cases = Case().matchObjects({}) categories = Category().matchObjects({}) return render_template("documents/search.html", name="Document search results", category=category, categories=categories, documents=results, keywords=query, extendedQuery=extendedQuery, facets=facets, facetpicks=facetpicks, cases=cases, active="documents")
def documentArticles(id): try: document = Document().matchObjects({"_id": id}, fields={ "_id": True, "title": True, "category": True, "contents": True, "tags": True, "wordcount": True })[0] except Exception as e: traceback.print_exc(file=sys.stdout) return abort(404) return json.dumps(document.getArticlesFromContent())
def documentTFIDF(id): try: document = Document().matchObjects({"_id": id}, fields={ "_id": True, "title": True, "category": True, "contents": True, "tags": True, "wordcount": True })[0] except Exception as e: traceback.print_exc(file=sys.stdout) return abort(404) return document.documentAnalysis()
def documentViewer(id): try: document = Document().getObjectsByKey("_id", id)[0] except Exception as e: print e return abort(404) document.accessed = datetime.datetime.now() document.vanillaSave() annotations = Annotation().getObjectsByKey("document", id) cases = Case().matchObjects({}) categories = Category().matchObjects({}) annotations.sort(key=lambda a: a.location[0]) document.contents = Pandoc().convert("markdown_github", "html", document.contents) document.highlightArticles() return render_template("documents/viewer.html", name="Document", document=document, cases=cases, annotations=annotations, categories=categories)
def documentSave(id): try: document = Document().getObjectsByKey("_id", id)[0] except: document = None title = request.form.get("title", "").encode('utf-8') contents = request.form.get("contents", "").encode('utf-8') category = request.form.get("category", "").encode('utf-8') annotations = request.form.get("annotations", "").encode('utf-8') document.author = login.current_user.username if document.save(title, contents, category, annotations): return json.dumps({ "success": "true", "new_csrf": generate_csrf_token() }) return abort(500)
def lawViewer(id): try: document = Document().getObjectsByKey("_id", id)[0] except Exception as e: print e return abort(404) document.accessed = datetime.datetime.now() document.vanillaSave() cases = Case().matchObjects({}) categories = Category().matchObjects({}) document.contents = Pandoc().convert("markdown_github", "html", document.contents) document.highlightArticles() return render_template("documents/law.html", name="Law", document=document, cases=cases, categories=categories)
def addJurisprudenceDocuments(): Document.generateJurisprudenceDocuments(documentClass=Document) return json.dumps({"success": "true"})
def documentNew(): doc = Document() doc.author = login.current_user.username doc.save() _id = doc._id return redirect("/documents/%s" % _id)