示例#1
0
from lampost.di.app import on_app_start
from lampost.di.resource import Injected, module_inject
from lampost.db.exceptions import DataError
from lampost.editor.editor import Editor
from lampost.server.link import link_route
from lampost.util.encrypt import make_hash

log = Injected('log')
ev = Injected('dispatcher')
db = Injected('datastore')
perm = Injected('perm')
um = Injected('user_manager')
edit_update = Injected('edit_update_service')
module_inject(__name__)


@on_app_start
def _start():
    ev.register('imm_update', _imm_update)


class EditorImmortal():
    def __init__(self, player):
        self.edit_dto = {
            'dbo_key_type': 'immortal',
            'dbo_id': player.dbo_id,
            'imm_level': player.imm_level
        }

    def can_write(self, *_):
        return False
示例#2
0
from lampost.di.config import ConfigVal
from lampost.di.resource import Injected, module_inject
from lampost.db.registry import get_dbo_class
from lampost.db.exceptions import DataError
from lampost.editor.editor import Editor, ChildrenEditor

from lampmud.env.movement import Direction

log = Injected('log')
db = Injected('datastore')
perm = Injected('perm')
ev = Injected('dispatcher')
edit_update = Injected('edit_update_service')
module_inject(__name__)


root_area_id = ConfigVal('root_area_id')
default_start_room = ConfigVal('default_start_room')


class AreaEditor(Editor):
    def __init__(self):
        super().__init__('area')

    def _pre_create(self, obj_def, *_):
        if db.object_exists('player', obj_def['dbo_id']):
            raise DataError("Area name should not match any player name.")

    def _pre_delete(self, del_obj, session):
        if del_obj.dbo_id == root_area_id:
            raise DataError("Cannot delete root area.")
示例#3
0
 def exec_module(self, module):
     super().exec_module(module)
     module_inject(module.__name__)