from calendar import c
from os import path
import shutil
import pdftoword
from typing import Optional,List
from fastapi import File,UploadFile
from schemas.articleschema import ArticleSchema
from models.articlemodel import ArticleModel
import pymongo
class ArticleService:
@staticmethod
async def create_article(user:ArticleSchema, uploade_file:UploadFile=File(...)):
path=f"files/{uploade_file.filename}"
with open(path, "wb") as buffer:
shutil.copyfileobj(uploade_file.file, buffer)
data=await pdftoword.pdftotext(path)
article_in=ArticleModel(
title=user.title,
owner=user.owner,
filename=uploade_file.filename,
content=data,
)
await article_in.save()
return article_in
@staticmethod
async def get_article_bytitle(title:str)->Optional[ArticleModel]:
article=await ArticleModel.find_one(ArticleModel.title==title)
return article