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