Esempio n. 1
0
class AssemblyParts(db.Model):
    __tablename__ = 'assembly_part_association'
    part_id = db.Column(db.Integer, db.ForeignKey('part.id'), primary_key=True)
    assembly_id = db.Column(db.Integer,
                            db.ForeignKey('assembly.id'),
                            primary_key=True)
    quantity = db.Column(db.Integer)

    parts = db.relationship(Part, backref="assembly_part_association")
    assembly = db.relationship(Assembly, backref="assembly_part_association")

    def __init__(self, part, assembly, quantity):
        self.part_id = part
        self.assembly_id = assembly
        self.quantity = quantity

    def __repr__(self):
        return '<Assembly %s Part %s>' % (self.assembly_id, self.part_id)


# class AssemblyParts(db.Model):
#     id               = db.Column(db.Integer, primary_key=True)
#     part_id          = db.Column(db.Integer, db.ForeignKey('part.id'))
#     assembly_id      = db.Column(db.Integer, db.ForeignKey('assembly.id'))
#     count            = db.Column(db.Integer)

#     def __init__(self, part_id, assembly_id, count):
#         self.part_id        = part_id
#         self.description    = description
#         self.count          = count

#     def __repr__(self):
#         return '<Assembly Parts: %s in %s>' % (part_id, assembly_id)
Esempio n. 2
0
class AltPackage(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20), unique=True)
    parent_package_id = db.Column(db.Integer, db.ForeignKey('package.id'))

    def __init__(self, name, parent_id):
        self.name = name
        self.parent_package_id = parent_id

    def __repr__(self):
        return '<Case Alternate name: %r>' % self.name
Esempio n. 3
0
class PartCategory(db.Model):
    id                  = db.Column(db.Integer, primary_key=True)
    name                = db.Column(db.String(30), unique=True)
    description         = db.Column(db.String(200))
    parent_category_id  = db.Column(db.Integer, db.ForeignKey('part_category.id'))

    def __init__(self, name, description="", parent_category_id=0):
        self.name               = name
        self.description        = description
        self.parent_category_id = parent_category_id

    def __repr__(self):
        return '<Category: %s>' % self.name
Esempio n. 4
0
class Part(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(40))
    manufacturer = db.Column(db.String(40))
    ordering_code = db.Column(db.String(40), unique=True)
    case_id = db.Column(db.Integer, db.ForeignKey('package.id'))
    description = db.Column(db.String(100))
    category = db.Column(db.Integer, db.ForeignKey('part_category.id'))
    recommended = db.Column(db.Boolean)

    assemblies = db.relationship('Assembly',
                                 secondary='assembly_part_association',
                                 backref='part',
                                 lazy='dynamic')

    def __init__(self,
                 name,
                 manufacturer,
                 ordering_code,
                 case_id,
                 description="",
                 category=None):
        self.name = name
        self.manufacturer = manufacturer
        self.ordering_code = ordering_code
        self.case_id = case_id
        self.description = description
        self.category = category

    def __repr__(self):
        return '<Part: %r %r>' % (self.manufacturer, self.ordering_code)
Esempio n. 5
0
class Assembly(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(30))
    description = db.Column(db.String(200))
    engineerSch = db.Column(db.String(50))
    engineerPcb = db.Column(db.String(50))
    year = db.Column(db.Integer)
    revision = db.Column(db.Integer)

    parts = db.relationship('Part',
                            secondary='assembly_part_association',
                            backref='assembly',
                            lazy='dynamic')

    def __init__(self,
                 name,
                 engineerSch,
                 engineerPcb,
                 year,
                 revision,
                 description=""):
        self.name = name
        self.description = description
        self.engineerSch = engineerSch
        self.engineerPcb = engineerPcb
        self.year = year
        self.revision = revision

    def __repr__(self):
        return '<Assembly: %s, rev %s>' % (self.name, self.revision)
Esempio n. 6
0
class Author(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    fullname = db.Column(db.String(80))
    email = db.Column(db.String(35), unique=True)
    username = db.Column(db.String(25), unique=True)
    password = db.Column(db.String(60))
    authorization_level = db.Column(db.Integer)

    # authorization levels:
    # 0 - passive (restrited access, read only)
    # 1 - member  (restricted access)
    # 2 - mod (extended access)
    # 3 - admin (full access)

    # posts = db.relationship('Post', backref='author', lazy='dynamic')

    def __init__(self,
                 fullname,
                 email,
                 username,
                 password,
                 authorization_level=1):
        self.fullname = fullname
        self.email = email
        self.username = username
        self.password = password
        self.authorization_level = authorization_level

    def __repr__(self):
        return '<Author %r>' % self.username
Esempio n. 7
0
class Package(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(30), unique=True)
    pin_count = db.Column(db.Integer)
    pitch = db.Column(db.Float)
    width = db.Column(db.Float)
    length = db.Column(db.Float)
    height = db.Column(db.Float)
    alt_names = db.relationship('AltPackage',
                                backref='package',
                                lazy='dynamic')
    parts = db.relationship('Part', backref='package', lazy='dynamic')

    def __init__(self, name, pin_count, pitch, width, length, height):
        self.name = name
        self.pin_count = pin_count
        self.pitch = pitch
        self.width = width
        self.length = length
        self.height = height

    def __repr__(self):
        return '<Package: %r>' % self.name