obspy/obspy — pull request #901 by megies (2014-10-24 09:06:10+00:00)
Title: awkward behavior of Event's preferred IDs

`Event` has three `ResourceIdentifier`s referencing other objects..
- `preferred_origin_id`
- `preferred_magnitude_id`
- `preferred_focal_mechanism_id`

Right now their handling is pretty strange and also awkward.

- they are not cleanly defined with the `Event` class but handled/documented somewhat implicitly only through the getter methods for the object they refer to
- it seems these attributes are expected to be set with strings (of the `ResourceIdentifier`)... why not just use the `ResourceIdentifier` itself?
- in principle I'd rather make the respective getter methods (e.g. `Event.preferred_origin()`) into property/setter pairs, that would be much more convenient to use if one could get/set like..
```python
old_preferred_origin = event.preferred_origin
event.preferred_origin = some_other_origin
```

However, the last part is probably not doable with staying backwards compatible and not breaking old cold... :(

Ideas? Opinions?