diff --git a/app.py b/app.py index 4063c50..badf884 100644 --- a/app.py +++ b/app.py @@ -1,6 +1,6 @@ from flask import Flask, redirect from sqlalchemy import exc -from models import * +from definitions.models import * # Import the Blueprints from routes.viewall import viewall_bp diff --git a/config.py b/config.py index db30b52..e9606f2 100644 --- a/config.py +++ b/config.py @@ -1,15 +1,4 @@ -class Attribute: - def __init__(self, display_name, html_input_type="text", required=False, unique=False, primary=False, regex=None, min=None, max=None, options=None, default_val=""): - self.display_name = display_name - self.html_input_type = html_input_type - self.required = required - self.unique = unique - self.primary = primary - self.regex = regex - self.min = min - self.max = max - self.options = options - self.default_val = default_val +from definitions.attribute import Attribute item_attributes = { "assettag": Attribute( diff --git a/definitions/attribute.py b/definitions/attribute.py new file mode 100644 index 0000000..4e44cd1 --- /dev/null +++ b/definitions/attribute.py @@ -0,0 +1,15 @@ +class Attribute: + def __init__(self, display_name, html_input_type="text", required=False, unique=False, primary=False, regex=None, min=None, max=None, options=None, default_val="", auto_increment=False, index=False, comment=""): + self.display_name = display_name + self.html_input_type = html_input_type + self.required = required + self.unique = unique + self.primary = primary + self.regex = regex + self.min = min + self.max = max + self.options = options + self.default_val = default_val + self.auto_increment = auto_increment + self.index = index + self.comment = comment \ No newline at end of file diff --git a/models.py b/definitions/models.py similarity index 60% rename from models.py rename to definitions/models.py index 406c099..099522d 100644 --- a/models.py +++ b/definitions/models.py @@ -22,24 +22,3 @@ class Asset(db.Model): def __repr__(self): return f"" -""" Original code -class Item(db.Model): - __tablename__ = "Item" - - id = db.Column(db.Integer(), primary_key=True) - sku = db.Column(db.String(), unique=True) - name = db.Column(db.String()) - description = db.Column(db.String()) - price = db.Column(db.DECIMAL(9, 2)) - qty = db.Column(db.Integer()) - - def __init__(self, sku, name, description, price, qty): - self.sku = sku - self.name = name - self.description = description - self.price = price - self.qty = qty - - def __repr__(self): - return f"{self.name}:{self.sku}" -""" diff --git a/process_csv.py b/process_csv.py index 539b660..2fae422 100644 --- a/process_csv.py +++ b/process_csv.py @@ -15,7 +15,7 @@ def get_csv_data(file): raise ValueError(f"CSV file must include headers: {', '.join(required_headers)}.") # Check for invalid headers - if extra_headers := csv_headers - valid_headers: + if extra_headers := csv_headers - required_headers: raise ValueError(f"Unexpected headers found: {', '.join(extra_headers)}") # Extract data dynamically based on config diff --git a/routes/confirm_save.py b/routes/confirm_save.py index 7b84051..1b1e09c 100644 --- a/routes/confirm_save.py +++ b/routes/confirm_save.py @@ -1,5 +1,5 @@ from flask import Blueprint, redirect, session, request, jsonify -from models import Asset, db +from definitions.models import Asset, db import json from config import item_attributes # Import the configuration diff --git a/routes/create.py b/routes/create.py index 42f2df2..92408bc 100644 --- a/routes/create.py +++ b/routes/create.py @@ -1,5 +1,5 @@ from flask import Blueprint, request, render_template, redirect -from models import Asset, db +from definitions.models import Asset, db from config import item_attributes addasset_bp = Blueprint('addasset', __name__) diff --git a/routes/delete.py b/routes/delete.py index 783aee1..4b6114c 100644 --- a/routes/delete.py +++ b/routes/delete.py @@ -1,5 +1,5 @@ from flask import Blueprint, request, render_template, redirect, abort -from models import Asset, db +from definitions.models import Asset, db from config import item_attributes delete_bp = Blueprint('deleteasset', __name__) diff --git a/routes/export_csv.py b/routes/export_csv.py index 24f8da6..89ed959 100644 --- a/routes/export_csv.py +++ b/routes/export_csv.py @@ -1,5 +1,5 @@ from flask import Blueprint, Response -from models import Asset +from definitions.models import Asset import csv import io diff --git a/routes/update.py b/routes/update.py index 6745040..f539cc9 100644 --- a/routes/update.py +++ b/routes/update.py @@ -1,5 +1,5 @@ from flask import Blueprint, request, render_template, redirect -from models import Asset, db +from definitions.models import Asset, db from config import item_attributes from sqlalchemy import exc # Import exc for database exceptions diff --git a/routes/upload.py b/routes/upload.py index 3f6388c..bdffde5 100644 --- a/routes/upload.py +++ b/routes/upload.py @@ -1,7 +1,7 @@ from flask import Blueprint, request, render_template, redirect, session import csv from io import TextIOWrapper -from models import Asset, db +from definitions.models import Asset, db from process_csv import get_csv_data # Import the CSV processing function from config import item_attributes # Import the configuration diff --git a/routes/viewall.py b/routes/viewall.py index 50fa96b..8f501aa 100644 --- a/routes/viewall.py +++ b/routes/viewall.py @@ -1,5 +1,5 @@ from flask import Blueprint, render_template -from models import Asset +from definitions.models import Asset from config import item_attributes viewall_bp = Blueprint('viewall', __name__) diff --git a/routes/viewasset.py b/routes/viewasset.py index 46b2afb..c025ef8 100644 --- a/routes/viewasset.py +++ b/routes/viewasset.py @@ -1,5 +1,5 @@ from flask import Blueprint, request, render_template -from models import Asset, db +from definitions.models import Asset, db viewasset_bp = Blueprint('viewasset', __name__)