예제 #1
0
def remove_item(item_or_item_name):
    """
    This function removes an Item using a ManagedItemProvider.

    Args:
        item_or_item_name (Item or str): the Item object or name for the
            Item to create

    Returns:
        Item or None: the Item that was removed or None
    """
    try:
        item = remove_all_links(item_or_item_name)
        if item is None:
            log.warn(
                "Item cannot be removed because it does not exist in the ItemRegistry: [{}]"
                .format(item_or_item_name))
            return None

        ManagedItemProvider.remove(item.name)
        if itemRegistry.getItems(item.name) == []:
            log.debug("Item removed: [{}]".format(item.name))
            return item
        else:
            log.warn(
                "Failed to remove Item from the ItemRegistry: [{}]".format(
                    item.name))
            return None
    except:
        import traceback
        log.error(traceback.format_exc())
        return None
예제 #2
0
def remove_item(item):
    try:
        from org.eclipse.smarthome.core.items import GenericItem
        if isinstance(item, basestring):
            if scope.itemRegistry.getItems(item) == []:
                raise Exception(
                    "\"{}\" is not in the ItemRegistry".format(item))
            else:
                item = scope.ir.getItem(item)
        elif not isinstance(item, GenericItem):
            raise Exception("\"{}\" is not a string or Item".format(item))
        elif scope.itemRegistry.getItems(item.name) == []:
            raise Exception("\"{}\" is not in the ItemRegistry".format(item))
        remove_all_links(item)
        JythonItemProvider.remove(item)
        log.debug("Item removed: [{}]".format(item))
    except:
        import traceback
        log.error(traceback.format_exc())
예제 #3
0
def remove_item(item_or_item_name):
    try:
        item = item_or_item_name
        if isinstance(item, basestring):
            if scope.itemRegistry.getItems(item) == []:
                raise Exception(
                    "\"{}\" is not in the ItemRegistry".format(item))
            else:
                item = scope.ir.getItem(item_or_item_name)
        elif not hasattr(item_or_item_name, 'name'):
            raise Exception(
                "\"{}\" is not a string or Item".format(item_or_item_name))

        if scope.itemRegistry.getItems(item.name) == []:
            raise Exception("\"{}\" is not in the ItemRegistry".format(
                item.name))
        remove_all_links(item)
        JythonItemProvider.remove(item)
        ManagedItemProvider.remove(item.name)
        log.debug("Item removed: [{}]".format(item))
    except:
        import traceback
        log.error(traceback.format_exc())
예제 #4
0
def remove_item(item_or_item_name):
    try:
        item = remove_all_links(item_or_item_name)
        if item is None:
            log.warn("Item cannot be removed because it does not exist in the ItemRegistry: [{}]".format(item_or_item_name))
            return None

        ManagedItemProvider.remove(item.name)
        if scope.itemRegistry.getItems(item.name) == []:
            log.debug("Item removed: [{}]".format(item.name))
            return item
        else:
            log.warn("Failed to remove Item from the ItemRegistry: [{}]".format(item.name))
            return None
    except:
        import traceback
        log.error(traceback.format_exc())
        return None