Exemplo n.º 1
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)
Exemplo n.º 2
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
Exemplo n.º 3
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)
Exemplo n.º 4
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
Exemplo n.º 5
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
Exemplo n.º 6
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