mopidy/mopidy — pull request #511 by jodal (2013-09-16 21:24:18+00:00)
Title: main: Split main() function in two

By separating the teardown procedures for errors that happens before and after
actors are started, we get a lot less output when failing on config errors.
This makes the config errors the last lines printed by the `mopidy` command,
making them easier to spot.

Related to #467

Typical output on first run without this pull request:

```
$ mopidy
INFO Starting Mopidy 0.14.2-154-g7cd7216
INFO Loading config from: builtin defaults, /home/jodal/.config/mopidy/mopid
y.conf, command line options
INFO Enabled extensions: spotify, mpd, http, stream, scrobbler, mpris, local
INFO Disabled extensions: none
ERROR Config value spotify/username must be set.
ERROR Config value spotify/password must be set.
ERROR Config value scrobbler/username must be set.
ERROR Config value scrobbler/password must be set.
INFO Stopping Mopidy frontends
INFO Stopping Mopidy core
INFO Stopping Mopidy backends
INFO Stopping Mopidy audio
```

Typical output on first run with this pull request:

```
$ mopidy
INFO Starting Mopidy 0.14.2-155-gf244d94
INFO Loading config from: builtin defaults, /home/jodal/.config/mopidy/mopidy.conf, command line options
INFO Enabled extensions: spotify, mpd, http, stream, scrobbler, mpris, local
INFO Disabled extensions: none
ERROR Config value spotify/username must be set.
ERROR Config value spotify/password must be set.
ERROR Config value scrobbler/username must be set.
ERROR Config value scrobbler/password must be set.
```