Imported from archive.
[mudpy.git] / mudpy
1 #!/usr/bin/python
2 """Skeletal executable for the mudpy engine."""
3
4 # Copyright (c) 2005 mudpy, Jeremy Stanley <fungi@yuggoth.org>, all rights reserved.
5 # Licensed per terms in the LICENSE file distributed with this software.
6
7 # core objects for the mudpy engine
8 import mudpy
9 from mudpy import log, on_pulse, reload_data, universe
10
11 # loop indefinitely while the world is not flagged for termination or
12 # there are connected users
13 while not universe.terminate_world or universe.userlist:
14
15         # the world was flagged for a reload of all code/data
16         if universe.reload_modules:
17
18                 # reload the mudpy module
19                 reload(mudpy)
20
21                 # move data into new persistent objects
22                 reload_data()
23
24                 # reset the reload flag
25                 universe.reload_modules = False
26
27         # do what needs to be done on each pulse
28         on_pulse()
29
30 # the loop has terminated, so save persistent data
31 universe.save()
32
33 # log a final message
34 log("Shutting down now.")
35