* unuttum :(
This commit is contained in:
@@ -0,0 +1,49 @@
|
|||||||
|
from constants import const
|
||||||
|
|
||||||
|
class Config(object):
|
||||||
|
"""Config Singleton"""
|
||||||
|
|
||||||
|
class configimpl:
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
# self.c.destdir = '' # install default to root by default
|
||||||
|
self.destdir = './tmp' # only for ALPHA
|
||||||
|
# the idea is that destdir can be set with --destdir=...
|
||||||
|
|
||||||
|
# directory accessor functions
|
||||||
|
# here is how it goes
|
||||||
|
# x_dir: system wide directory for storing info type x
|
||||||
|
# pkg_x_dir: per package directory for storing info type x
|
||||||
|
|
||||||
|
def lib_dir(self):
|
||||||
|
return self.destdir + const.lib_dir_suffix
|
||||||
|
|
||||||
|
def db_dir(self):
|
||||||
|
return self.destdir + const.db_dir_suffix
|
||||||
|
|
||||||
|
def archives_dir(self):
|
||||||
|
return self.destdir + const.archives_dir_suffix
|
||||||
|
|
||||||
|
def tmp_dir(self):
|
||||||
|
return self.destdir + const.tmp_dir_suffix
|
||||||
|
|
||||||
|
def work_dir(self):
|
||||||
|
return self.destdir + const.work_dir_suffix
|
||||||
|
|
||||||
|
def install_dir(self):
|
||||||
|
return self.destdir + const.install_dir_suffix
|
||||||
|
|
||||||
|
__configinstance = configimpl()
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def __getattr__(self, attr):
|
||||||
|
return getattr(self.__configinstance, attr)
|
||||||
|
|
||||||
|
def __setattr__(self, attr, value):
|
||||||
|
return setattr(self.__configinstance, attr, value)
|
||||||
|
|
||||||
|
|
||||||
|
# create a default context WITH NO PSPEC
|
||||||
|
config = Config()
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
class _constant:
|
||||||
|
"Constant members implementation"
|
||||||
|
class ConstError(TypeError):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def __setattr__(self, name, value):
|
||||||
|
if self.__dict__.has_key(name):
|
||||||
|
raise self.ConstError, "Can't rebind constant: %s" % name
|
||||||
|
# Binding an attribute once to a const is available
|
||||||
|
self.__dict__[name] = value
|
||||||
|
|
||||||
|
def __delattr__(self, name):
|
||||||
|
if self.__dict__.has_key(name):
|
||||||
|
raise self.ConstError, "Can't unbind constant: %s" % name
|
||||||
|
# we don't have an attribute by this name
|
||||||
|
raise NameError, name
|
||||||
|
|
||||||
|
class Constants:
|
||||||
|
"Pisi constants"
|
||||||
|
|
||||||
|
__c = _constant()
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
# Metadata
|
||||||
|
#TODO: These two will be defined in a configuration file.
|
||||||
|
self.__c.distribution = "Pardus"
|
||||||
|
self.__c.distributionRelease = "0.1"
|
||||||
|
|
||||||
|
self.__c.lib_dir_suffix = "/var/lib/pisi"
|
||||||
|
self.__c.db_dir_suffix = "/var/db/pisi"
|
||||||
|
self.__c.archives_dir_suffix = "/var/cache/pisi/archives"
|
||||||
|
self.__c.tmp_dir_suffix = "/var/tmp/pisi"
|
||||||
|
|
||||||
|
# directory suffixes for build
|
||||||
|
self.__c.work_dir_suffix = "/work"
|
||||||
|
self.__c.install_dir_suffix = "/install"
|
||||||
|
|
||||||
|
# file/directory names
|
||||||
|
self.__c.actions_file = "actions.py"
|
||||||
|
self.__c.files_dir = "files"
|
||||||
|
self.__c.files_xml = "files.xml"
|
||||||
|
self.__c.metadata_xml = "metadata.xml"
|
||||||
|
|
||||||
|
# functions in actions_file
|
||||||
|
self.__c.setup_func = "setup"
|
||||||
|
self.__c.build_func = "build"
|
||||||
|
self.__c.install_func = "install"
|
||||||
|
|
||||||
|
def __getattr__(self, attr):
|
||||||
|
return getattr(self.__c, attr)
|
||||||
|
|
||||||
|
def __setattr__(self, attr, value):
|
||||||
|
return setattr(self.__c, attr, value)
|
||||||
|
|
||||||
|
def __delattr__(self, attr):
|
||||||
|
return delattr(self.__c, attr)
|
||||||
|
|
||||||
|
# singleton for easy access here
|
||||||
|
const = Constants()
|
||||||
Reference in New Issue
Block a user