<gh_stars>0
import logging

from .util import log_call

log = logging.getLogger(__name__)


@log_call(log)
def load(robot, container_name, slot, label=None, share=False):
    """
    Examples
    --------
    >>> from opentrons import containers
    >>> containers.load('96-flat', '1')
    <Deck>/<Slot 1>/<Container 96-flat>
    >>> containers.load('96-flat', '4', 'plate')
    <Deck>/<Slot 4>/<Container plate>
    >>> containers.load('non-existent-type', '4') # doctest: +ELLIPSIS
    Exception: Container type "non-existent-type" not found in file ...
    """
    return None


@log_call(log)
def list():
    return []


@log_call(log)
def create(name, grid, spacing, diameter, depth, volume=0):
    """
    Creates a labware definition based on a rectangular gird, depth, diameter,
    and spacing. Note that this function can only create labware with regularly
    spaced wells in a rectangular format, of equal height, depth, and radius.
    Irregular labware defintions will have to be made in other ways or modified
    using a regular definition as a starting point. Also, upon creation a
    definition always has its lower-left well at (0, 0, 0), such that this
    labware _must_ be calibrated before use.

    :param name: the name of the labware to be used with `labware.load`
    :param grid: a 2-tuple of integers representing (<n_columns>, <n_rows>)
    :param spacing: a 2-tuple of floats representing
        (<col_spacing, <row_spacing)
    :param diameter: a float representing the internal diameter of each well
    :param depth: a float representing the distance from the top of each well
        to the internal bottom of the same well
    :param volume: [optional] the maximum volume of each well
    :return: the labware object created by this function
    """
    return None

import logging

from .util import log_call

log = logging.getLogger(__name__)


@log_call(log)
def load(robot, container_name, slot, label=None, share=False):
    """
    Examples
    --------
    >>> from opentrons import containers
    >>> containers.load('96-flat', '1')
    <Deck>/<Slot 1>/<Container 96-flat>
    >>> containers.load('96-flat', '4', 'plate')
    <Deck>/<Slot 4>/<Container plate>
    >>> containers.load('non-existent-type', '4') # doctest: +ELLIPSIS
    Exception: Container type "non-existent-type" not found in file ...
    """
    return None


@log_call(log)
def list():
    return []


@log_call(log)
def create(name, grid, spacing, diameter, depth, volume=0):
    """
    Creates a labware definition based on a rectangular gird, depth, diameter,
    and spacing. Note that this function can only create labware with regularly
    spaced wells in a rectangular format, of equal height, depth, and radius.
    Irregular labware defintions will have to be made in other ways or modified
    using a regular definition as a starting point. Also, upon creation a
    definition always has its lower-left well at (0, 0, 0), such that this
    labware _must_ be calibrated before use.

    :param name: the name of the labware to be used with `labware.load`
    :param grid: a 2-tuple of integers representing (<n_columns>, <n_rows>)
    :param spacing: a 2-tuple of floats representing
        (<col_spacing, <row_spacing)
    :param diameter: a float representing the internal diameter of each well
    :param depth: a float representing the distance from the top of each well
        to the internal bottom of the same well
    :param volume: [optional] the maximum volume of each well
    :return: the labware object created by this function
    """
    return None
Examples     --------     >>> from opentrons import containers     >>> containers.load('96-flat', '1')     <Deck>/<Slot 1>/<Container 96-flat>     >>> containers.load('96-flat', '4', 'plate')     <Deck>/<Slot 4>/<Container plate>     >>> containers.load('non-existent-type', '4') # doctest: +ELLIPSIS     Exception: Container type "non-existent-type" not found in file ... Creates a labware definition based on a rectangular gird, depth, diameter,     and spacing. Note that this function can only create labware with regularly     spaced wells in a rectangular format, of equal height, depth, and radius.     Irregular labware defintions will have to be made in other ways or modified     using a regular definition as a starting point. Also, upon creation a     definition always has its lower-left well at (0, 0, 0), such that this     labware _must_ be calibrated before use.      :param name: the name of the labware to be used with `labware.load`     :param grid: a 2-tuple of integers representing (<n_columns>, <n_rows>)     :param spacing: a 2-tuple of floats representing         (<col_spacing, <row_spacing)     :param diameter: a float representing the internal diameter of each well     :param depth: a float representing the distance from the top of each well         to the internal bottom of the same well     :param volume: [optional] the maximum volume of each well     :return: the labware object created by this function