Author: fw
Date: 2011-04-24 16:11:46 +0000 (Sun, 24 Apr 2011)
New Revision: 16582
Modified:
lib/python/debian_support.py
Log:
debian_support.getconfig(): new function
Modified: lib/python/debian_support.py
==================================================================---
lib/python/debian_support.py 2011-04-24 15:35:27 UTC (rev 16581)
+++ lib/python/debian_support.py 2011-04-24 16:11:46 UTC (rev 16582)
@@ -18,11 +18,11 @@
"""This module implements facilities to deal with
Debian-specific metadata."""
import types
-import os
+import json
+import os.path
import re
-import subprocess
+import sys
import tempfile
-from cStringIO import StringIO
try:
from hashlib import sha1
@@ -420,8 +420,6 @@
class BinaryPackage(object):
__slots__ = ("name", "version", "arch",
"source", "source_version")
- re_source = re.compile\
-
(r''^([a-zA-Z0-9.+-]+)(?:\s+\(([a-zA-Z0-9.+:~-]+)\))?$'')
def __init__(self, data=None):
if data is not None:
@@ -501,6 +499,23 @@
def __repr__(self):
return "BinaryPackage(" + repr(self.astuple()) +
")"
+_config = None
+def getconfig():
+ """Returns the configuration in
data/config.json."""
+ global _config
+ if _config is not None:
+ return _config
+ # Configuration file is in ../../data/config.json.
+ for path in sys.path:
+ path = os.path.realpath(path)
+ path = os.path.dirname(path)
+ path = os.path.dirname(path)
+ path = os.path.join(path, "data", "config.json")
+ if os.path.exists(path):
+ _config = json.load(file(path))
+ return _config
+ raise IOError("data/config.json not found")
+
def test():
# Version
assert Version(''0'') < Version(''a'')