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