Package libxyz :: Package core :: Module xyzdata
[hide private]
[frames] | no frames]

Source Code for Module libxyz.core.xyzdata

 1  #-*- coding: utf8 -* 
 2  # 
 3  # Max E. Kuznecov ~syhpoon <syhpoon@syhpoon.name> 2008 
 4  # 
 5  # This file is part of XYZCommander. 
 6  # XYZCommander is free software: you can redistribute it and/or modify 
 7  # it under the terms of the GNU Lesser Public License as published by 
 8  # the Free Software Foundation, either version 3 of the License, or 
 9  # (at your option) any later version. 
10  # XYZCommander is distributed in the hope that it will be useful, 
11  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
12  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
13  # GNU Lesser Public License for more details. 
14  # You should have received a copy of the GNU Lesser Public License 
15  # along with XYZCommander. If not, see <http://www.gnu.org/licenses/>. 
16   
17 -class XYZData(object):
18 """ 19 XYZ system data container 20 """ 21 22 __slots__ = ["screen", 23 "top", 24 "skin", 25 "pm", 26 "km", 27 "hm", 28 "am", 29 "sm", 30 "conf", 31 "input", 32 "term", 33 "vfs", 34 ] 35
36 - def __init__(self):
37 for obj in self.__slots__: 38 object.__setattr__(self, obj, None)
39 40 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 41
42 - def __setattr__(self, attr, val):
43 # Assure attributes get assigned only once 44 45 if object.__getattribute__(self, attr) is not None: 46 raise AttributeError(_(u"Attribute %s is a constant" % attr)) 47 else: 48 object.__setattr__(self, attr, val)
49