41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
import logging
|
|
import re
|
|
|
|
from django.conf import settings
|
|
from django.db import models
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
class Product(models.Model):
|
|
sap_id_regex = r'\b(\d{7})\b'
|
|
sap = models.CharField(max_length=10, db_column='sap_article_number')
|
|
name = models.CharField(max_length=100, db_column='short_name')
|
|
model = models.CharField(max_length=100, db_column='model')
|
|
gender = models.CharField(max_length=100, db_column='gender')
|
|
category = models.CharField(max_length=100, db_column='model_product_type')
|
|
family = models.CharField(max_length=100, db_column='product_family')
|
|
color = models.CharField(max_length=100, db_column='color')
|
|
|
|
class Meta:
|
|
managed = False
|
|
db_table = "adilog_product"
|
|
|
|
@staticmethod
|
|
def find_sap_ids(text):
|
|
matches = re.finditer(Product.sap_id_regex, text)
|
|
return [match.group(1) for match in matches]
|
|
|
|
def serialize(self):
|
|
return {
|
|
'id': self.sap,
|
|
'name': self.name,
|
|
'model': self.model,
|
|
'family': self.family,
|
|
'gender': self.gender,
|
|
'category': self.category,
|
|
'color': self.color,
|
|
}
|
|
|
|
|