Source code for gs1_gpc.models

"""
Models for GS1 GPC.

This module provides model classes for GS1 GPC data structures.
"""


[docs] class GPCModels: """ Container class for GPC data models. This class provides access to GPC data structures and their relationships. It's used by the process_gpc_xml function to organize and access GPC data. """
[docs] class Segment: """GPC Segment model."""
[docs] def __init__(self, code, description): """ Initialize a Segment. Args: code (str): Segment code description (str): Segment description """ self.code = code self.description = description self.families = {}
[docs] class Family: """GPC Family model."""
[docs] def __init__(self, code, description, segment_code): """ Initialize a Family. Args: code (str): Family code description (str): Family description segment_code (str): Parent segment code """ self.code = code self.description = description self.segment_code = segment_code self.classes = {}
[docs] class Class: """GPC Class model."""
[docs] def __init__(self, code, description, family_code): """ Initialize a Class. Args: code (str): Class code description (str): Class description family_code (str): Parent family code """ self.code = code self.description = description self.family_code = family_code self.bricks = {}
[docs] class Brick: """GPC Brick model."""
[docs] def __init__(self, code, description, class_code): """ Initialize a Brick. Args: code (str): Brick code description (str): Brick description class_code (str): Parent class code """ self.code = code self.description = description self.class_code = class_code self.attribute_types = {}
[docs] class AttributeType: """GPC Attribute Type model."""
[docs] def __init__(self, code, description, brick_code): """ Initialize an Attribute Type. Args: code (str): Attribute type code description (str): Attribute type description brick_code (str): Parent brick code """ self.code = code self.description = description self.brick_code = brick_code self.attribute_values = {}
[docs] class AttributeValue: """GPC Attribute Value model."""
[docs] def __init__(self, code, description, attribute_type_code): """ Initialize an Attribute Value. Args: code (str): Attribute value code description (str): Attribute value description attribute_type_code (str): Parent attribute type code """ self.code = code self.description = description self.attribute_type_code = attribute_type_code
[docs] def __init__(self): """Initialize the GPC models container.""" self.segments = {}