Files
orc_api/sumasen_easyocr/models.py
Mohamed Nouffer db98352fde init
2021-12-07 13:25:14 +05:30

51 lines
1.4 KiB
Python

from django.db import models
from django.db.models.deletion import CASCADE
from django.utils.translation import gettext_lazy as _
from django.contrib.auth.models import User
import datetime
import os
from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver
import easyocr
class Document(models.Model):
name=models.CharField(_('name'), max_length=512)
user = models.ForeignKey(User, on_delete=CASCADE)
file = models.FileField(upload_to='%y/%m/%d', blank=False)
uploaded_date = models.DateField(default=datetime.date.today)
class Meta:
verbose_name_plural = "Documents"
def __str__(self):
return self.name
@receiver(post_save, sender=Document)
def publish_date(sender, instance, created, **kwargs):
file = instance.file.path
file_format = os.path.basename(file).split('.')[-1]
file_name = os.path.basename(file).split('.')[0]
file_path = os.path.dirname(file)
name = instance.name
#os.remove(file)
try:
reader = easyocr.Reader(['ja','en'])
result = reader.readtext(file)
print('@@@@@@@@@@')
print(result)
print('@@@@@@@@@@')
except Exception as e:
pass
@receiver(post_delete, sender=Document)
def delete_layer(sender, instance, **kwargs):
if instance.file:
if os.path.isfile(instance.file.path):
os.remove(instance.file.path)