Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
喜羊羊3508
Dak
提交
62ad6203
D
Dak
项目概览
喜羊羊3508
/
Dak
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Dak
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
62ad6203
编写于
1月 24, 2009
作者:
M
Mark Hymers
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add basic config module
Signed-off-by:
N
Mark Hymers
<
mhy@debian.org
>
上级
6f2f5e7c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
83 addition
and
0 deletion
+83
-0
daklib/Config.py
daklib/Config.py
+83
-0
未找到文件。
daklib/Config.py
0 → 100644
浏览文件 @
62ad6203
#!/usr/bin/env python
# Config access class
# Copyright (C) 2008 Mark Hymers <mhy@debian.org>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
################################################################################
# <NCommander> mhy, how about "Now with 20% more monty python references"
################################################################################
import
apt_pkg
import
socket
from
Singleton
import
Singleton
################################################################################
default_config
=
"/etc/dak/dak.conf"
def
which_conf_file
(
Cnf
):
res
=
socket
.
gethostbyaddr
(
socket
.
gethostname
())
if
Cnf
.
get
(
"Config::"
+
res
[
0
]
+
"::DakConfig"
):
return
Cnf
[
"Config::"
+
res
[
0
]
+
"::DakConfig"
]
else
:
return
default_config
class
Config
(
Singleton
):
"""
A Config object is a singleton containing
information about the DAK configuration
"""
def
__init__
(
self
,
*
args
,
**
kwargs
):
super
(
Config
,
self
).
__init__
(
*
args
,
**
kwargs
)
def
_readconf
(
self
):
apt_pkg
.
init
()
self
.
Cnf
=
apt_pkg
.
newConfiguration
()
apt_pkg
.
ReadConfigFileISC
(
self
.
Cnf
,
default_config
)
# Check whether our dak.conf was the real one or
# just a pointer to our main one
res
=
socket
.
gethostbyaddr
(
socket
.
gethostname
())
conffile
=
self
.
Cnf
.
get
(
"Config::"
+
res
[
0
]
+
"::DakConfig"
)
if
conffile
:
apt_pkg
.
ReadConfigFileISC
(
self
.
Cnf
,
conffile
)
# Rebind some functions
# TODO: Clean this up
self
.
get
=
self
.
Cnf
.
get
self
.
SubTree
=
self
.
Cnf
.
SubTree
self
.
ValueList
=
self
.
Cnf
.
ValueList
def
_startup
(
self
,
*
args
,
**
kwargs
):
self
.
_readconf
()
def
__getitem__
(
self
,
name
):
return
self
.
Cnf
[
name
]
def
GetDBConnString
(
self
):
s
=
"dbname=%s"
%
self
.
Cnf
[
"DB::Name"
]
if
self
.
Cnf
[
"DB::Host"
]:
s
+=
" host=%s"
%
self
.
Cnf
[
"DB::Host"
]
if
self
.
Cnf
[
"DB::Port"
]
and
self
.
Cnf
[
"DB::Port"
]
!=
"-1"
:
s
+=
" port=%s"
%
self
.
Cnf
[
"DB::Port"
]
return
s
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录