| @@ 12-56 (lines=45) @@ | ||
| 9 | from .helpers import field_from_ini, field_to_ini |
|
| 10 | ||
| 11 | ||
| 12 | @zope.interface.implementer(INISerializable) |
|
| 13 | @zope.interface.implementer(DefaultProvider) |
|
| 14 | class HUD(Model): |
|
| 15 | show_mission_info = BooleanType( |
|
| 16 | default=True, |
|
| 17 | required=True, |
|
| 18 | ) |
|
| 19 | show_kill_info = BooleanType( |
|
| 20 | default=True, |
|
| 21 | required=True, |
|
| 22 | ) |
|
| 23 | show_at_bottom = BooleanType( |
|
| 24 | default=False, |
|
| 25 | required=True, |
|
| 26 | ) |
|
| 27 | ||
| 28 | @classmethod |
|
| 29 | def from_ini(cls, ini): |
|
| 30 | return cls({ |
|
| 31 | 'show_mission_info': not field_from_ini( |
|
| 32 | cls.show_mission_info, ini, |
|
| 33 | 'game', 'NoMissionInfoHud', |
|
| 34 | False, |
|
| 35 | ), |
|
| 36 | 'show_kill_info': not field_from_ini( |
|
| 37 | cls.show_kill_info, ini, |
|
| 38 | 'game', 'noKillInfoHud', |
|
| 39 | False, |
|
| 40 | ), |
|
| 41 | 'show_at_bottom': field_from_ini( |
|
| 42 | cls.show_at_bottom, ini, |
|
| 43 | 'game', 'lowInfoHud', |
|
| 44 | ), |
|
| 45 | }) |
|
| 46 | ||
| 47 | def to_ini(self, ini): |
|
| 48 | field_to_ini(not self.show_mission_info, ini, 'game', 'NoMissionInfoHud') |
|
| 49 | field_to_ini(not self.show_kill_info, ini, 'game', 'noKillInfoHud') |
|
| 50 | field_to_ini(self.show_at_bottom, ini, 'game', 'lowInfoHud') |
|
| 51 | ||
| 52 | @classmethod |
|
| 53 | def default(cls): |
|
| 54 | return cls({ |
|
| 55 | field_name: field.default |
|
| 56 | for field_name, field in cls.fields.items() |
|
| 57 | }) |
|
| 58 | ||
| @@ 13-56 (lines=44) @@ | ||
| 10 | from .helpers import field_from_ini, field_to_ini |
|
| 11 | ||
| 12 | ||
| 13 | @zope.interface.implementer(INISerializable) |
|
| 14 | @zope.interface.implementer(DefaultProvider) |
|
| 15 | class Logging(Model): |
|
| 16 | file_name = StringType( |
|
| 17 | default="eventlog.lst", |
|
| 18 | min_length=1, |
|
| 19 | required=True, |
|
| 20 | ) |
|
| 21 | keep_file = BooleanType( |
|
| 22 | default=True, |
|
| 23 | required=True, |
|
| 24 | ) |
|
| 25 | log_buildings = BooleanType( |
|
| 26 | default=False, |
|
| 27 | required=True, |
|
| 28 | ) |
|
| 29 | ||
| 30 | @classmethod |
|
| 31 | def from_ini(cls, ini): |
|
| 32 | return cls({ |
|
| 33 | 'file_name': field_from_ini( |
|
| 34 | cls.file_name, ini, |
|
| 35 | 'game', 'eventlog', |
|
| 36 | ), |
|
| 37 | 'keep_file': field_from_ini( |
|
| 38 | cls.keep_file, ini, |
|
| 39 | 'game', 'eventlogkeep', |
|
| 40 | ), |
|
| 41 | 'log_buildings': field_from_ini( |
|
| 42 | cls.log_buildings, ini, |
|
| 43 | 'game', 'eventlogHouse', |
|
| 44 | ), |
|
| 45 | }) |
|
| 46 | ||
| 47 | def to_ini(self, ini): |
|
| 48 | field_to_ini(self.file_name, ini, 'game', 'eventlog') |
|
| 49 | field_to_ini(self.keep_file, ini, 'game', 'eventlogkeep') |
|
| 50 | field_to_ini(self.log_buildings, ini, 'game', 'eventlogHouse') |
|
| 51 | ||
| 52 | @classmethod |
|
| 53 | def default(cls): |
|
| 54 | return cls({ |
|
| 55 | field_name: field.default |
|
| 56 | for field_name, field in cls.fields.items() |
|
| 57 | }) |
|
| 58 | ||
| 59 | ||
| @@ 12-54 (lines=43) @@ | ||
| 9 | from .helpers import field_from_ini, field_to_ini |
|
| 10 | ||
| 11 | ||
| 12 | @zope.interface.implementer(INISerializable) |
|
| 13 | @zope.interface.implementer(DefaultProvider) |
|
| 14 | class Morse(Model): |
|
| 15 | allow_morse_as_text = BooleanType( |
|
| 16 | default=True, |
|
| 17 | required=True, |
|
| 18 | ) |
|
| 19 | show_morse_as_text = BooleanType( |
|
| 20 | default=False, |
|
| 21 | required=True, |
|
| 22 | ) |
|
| 23 | block_morse_chat = BooleanType( |
|
| 24 | default=False, |
|
| 25 | required=True, |
|
| 26 | ) |
|
| 27 | ||
| 28 | @classmethod |
|
| 29 | def from_ini(cls, ini): |
|
| 30 | return cls({ |
|
| 31 | 'allow_morse_as_text': field_from_ini( |
|
| 32 | cls.allow_morse_as_text, ini, |
|
| 33 | 'NET', 'allowMorseAsText', |
|
| 34 | ), |
|
| 35 | 'show_morse_as_text': field_from_ini( |
|
| 36 | cls.show_morse_as_text, ini, |
|
| 37 | 'game', 'ShowMorseAsText', |
|
| 38 | ), |
|
| 39 | 'block_morse_chat': field_from_ini( |
|
| 40 | cls.block_morse_chat, ini, |
|
| 41 | 'game', 'BlockMorseChat', |
|
| 42 | ), |
|
| 43 | }) |
|
| 44 | ||
| 45 | def to_ini(self, ini): |
|
| 46 | field_to_ini(self.allow_morse_as_text, ini, 'NET', 'allowMorseAsText') |
|
| 47 | field_to_ini(self.show_morse_as_text, ini, 'game', 'ShowMorseAsText') |
|
| 48 | field_to_ini(self.block_morse_chat, ini, 'game', 'BlockMorseChat') |
|
| 49 | ||
| 50 | @classmethod |
|
| 51 | def default(cls): |
|
| 52 | return cls({ |
|
| 53 | field_name: field.default |
|
| 54 | for field_name, field in cls.fields.items() |
|
| 55 | }) |
|
| 56 | ||