def remove(uri): ''' remove collection by URI ''' manager = CollectionManager(uri) params = manager.parse_uri(uri) if params['collection'] in manager.collections(): manager.remove(params['collection'])
def open(uri, serializer_name='pickle'): ''' open collection by URI, if collection does not exist kvlite will try to create it serializer_name: see details in SERIALIZERS section returns MysqlCollection or SqliteCollection object in case of successful opening or creation new collection ''' # TODO use `None` for serializer to store messages in plain text, suitable for strings, integers, etc manager = CollectionManager(uri) params = manager.parse_uri(uri) if params['collection'] not in manager.collections(): manager.create(params['collection']) collection = manager.collection_class(manager.connection, params['collection'], SERIALIZERS[serializer_name]) if collection.meta is None: collection.meta = { 'name': params['collection'], 'serializer': serializer_name, 'kvlite-version': kvlite.__version__, } return collection