I'd change the `generate` method to return whether generating was successful, e.g.

```python
def generate(self, name, output_stream):
    if not INSTALLED_IMAGINGFT:
        return False
    # original generation code
    return True
```

and then not check the length in `member.py` but do something like:

```python
def create_default_avatar(userid):
    # ...
    generator = getUtility(IAvatarGenerator)
    if not generator.generate(get_name_of_user(userid), portrait):
        return
    # ...
```

Seems more explicit to me than checking the stream length...