]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/utils.py
Merge commit 'lamby/master' into merge
[dak.git] / daklib / utils.py
index 6e3632662f56a6b067383729bce07c836b768fe5..457e093c823cc30610e7eccde28880e2bfd5145d 100755 (executable)
@@ -22,7 +22,6 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-import codecs
 import commands
 import email.Header
 import os
@@ -39,14 +38,15 @@ import time
 import re
 import string
 import email as modemail
+import subprocess
 
 from dbconn import DBConn, get_architecture, get_component, get_suite
 from dak_exceptions import *
 from textutils import fix_maintainer
 from regexes import re_html_escaping, html_escaping, re_single_line_field, \
                     re_multi_line_field, re_srchasver, re_verwithext, \
-                    re_parse_maintainer, re_taint_free, re_gpg_uid, \
-                    re_re_mark, re_whitespace_comment, re_issource
+                    re_taint_free, re_gpg_uid, re_re_mark, \
+                    re_whitespace_comment, re_issource
 
 from srcformats import srcformats
 from collections import defaultdict
@@ -63,6 +63,20 @@ key_uid_email_cache = {}  #: Cache for email addresses from gpg key uids
 known_hashes = [("sha1", apt_pkg.sha1sum, (1, 8)),
                 ("sha256", apt_pkg.sha256sum, (1, 8))] #: hashes we accept for entries in .changes/.dsc
 
+import commands
+def dak_getstatusoutput(cmd):
+    pipe = subprocess.Popen(cmd, shell=True, universal_newlines=True,
+        stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+
+    output = "".join(pipe.stdout.readlines())
+
+    ret = pipe.wait()
+    if ret is None:
+        ret = 0
+
+    return ret, output
+commands.getstatusoutput = dak_getstatusoutput
+
 ################################################################################
 
 def html_escape(s):