コード例 #1
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
def documentDownload(id, filetype):
    try:
        document = Document().getObjectsByKey("_id", id)[0]
    except:
        return abort(404)

    return document.download(filetype, login.current_user)
コード例 #2
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
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()
    })
コード例 #3
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
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()
コード例 #4
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
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)
コード例 #5
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
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")
コード例 #6
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
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())
コード例 #7
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
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()
コード例 #8
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
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)
コード例 #9
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
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)
コード例 #10
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
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)
コード例 #11
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
def addJurisprudenceDocuments():
    Document.generateJurisprudenceDocuments(documentClass=Document)

    return json.dumps({"success": "true"})
コード例 #12
0
ファイル: routes.py プロジェクト: StephanHeijl/Yuras-OT
def documentNew():
    doc = Document()
    doc.author = login.current_user.username
    doc.save()
    _id = doc._id
    return redirect("/documents/%s" % _id)