'Remove some attributes from a subject.'

def DeleteAttributes(self, subject, attributes, start=None, end=None, sync=True, token=None):

    _ = sync
    if isinstance(attributes, basestring):
        raise ValueError('String    passed    to    DeleteAttributes    (non    string    iterable    expected).')
    with self.cache.Get(subject) as sqlite_connection:
        if ((start is None) and (end is None)):
            for attribute in list(attributes):
                sqlite_connection.DeleteAttribute(subject, attribute)
        else:
            start = (start or 0)
            if (end is None):
                end = ((2 ** 63) - 1)
            for attribute in list(attributes):
                sqlite_connection.DeleteAttributeRange(subject, attribute, start, end)
