crunk
1 year ago
3 changed files with 80 additions and 27 deletions
@ -0,0 +1,45 @@ |
|||
import csv |
|||
import os |
|||
|
|||
import flask_apscheduler |
|||
from flask import Flask |
|||
from whoosh.fields import * |
|||
from whoosh.index import create_in |
|||
from whoosh.qparser import QueryParser |
|||
|
|||
from csvparser.csvparser import concatenate_csv_row, getfullpublication |
|||
|
|||
SCRIPT_DIR = os.path.dirname(__file__) |
|||
DATA_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, "data")) |
|||
|
|||
|
|||
def create_app(): |
|||
APP = Flask(__name__, static_folder="static") |
|||
APP.config["SECRET_KEY"] = "ty4425hk54a21eee5719b9s9df7sdfklx" |
|||
APP.config["UPLOAD_FOLDER"] = "tmpupload" |
|||
scheduler = flask_apscheduler.APScheduler() |
|||
scheduler.api_enabled = False |
|||
scheduler.init_app(APP) |
|||
scheduler.start() |
|||
index_books() |
|||
|
|||
@scheduler.task("interval", id="update", minutes=10) |
|||
def update(): |
|||
index_books() |
|||
|
|||
return APP |
|||
|
|||
|
|||
def index_books(): |
|||
filename = os.path.join(DATA_DIR, "varlib.csv") |
|||
schema = Schema( |
|||
title=TEXT(stored=True), path=ID(stored=True), content=TEXT |
|||
) |
|||
ix = create_in(DATA_DIR, schema) |
|||
writer = ix.writer() |
|||
with open(filename, "r", encoding="utf_8_sig") as libcsv: |
|||
csv_as_dict = csv.DictReader(libcsv) |
|||
for row in csv_as_dict: |
|||
rowcontent = concatenate_csv_row(row) |
|||
writer.add_document(title=row["Id"], path="/a", content=rowcontent) |
|||
writer.commit() |
Loading…
Reference in new issue