diff options
| author | Karel Klic <kklic@redhat.com> | 2011-03-01 12:08:36 +0100 |
|---|---|---|
| committer | Karel Klic <kklic@redhat.com> | 2011-03-01 12:08:36 +0100 |
| commit | 85f639b7fe277ba327e5013e5b101b4a67f14e1d (patch) | |
| tree | 7caa3999e8c987e3ddbc26f4bfbbdc73defca73f /src/report-python/__init__.py | |
| parent | fb52104af74bbf6eeda394880666df40b4354aba (diff) | |
| parent | 77468fcdd7cc05db52320c373a24a5490ff32f52 (diff) | |
merge changes from master
Diffstat (limited to 'src/report-python/__init__.py')
| -rw-r--r-- | src/report-python/__init__.py | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/src/report-python/__init__.py b/src/report-python/__init__.py new file mode 100644 index 00000000..0b0f5685 --- /dev/null +++ b/src/report-python/__init__.py @@ -0,0 +1,130 @@ +from _pyreport import * + + +#Compatibility with report package: + +import os + +def createAlertSignature(component, hashmarkername, hashvalue, summary, alertSignature): + + SYSTEM_RELEASE_PATHS = ["/etc/system-release","/etc/redhat-release"] + ####SYSTEM_RELEASE_DEPS = ["system-release", "redhat-release"] + + _hardcoded_default_product = "" + _hardcoded_default_version = "" + + ####def getProduct_fromPRODUCT(): + #### try: + #### import product + #### return product.productName + #### except: + #### return "" + + ####def getVersion_fromPRODUCT(): + #### try: + #### import product + #### return product.productVersion + #### except: + #### return "" + + ####def getProduct_fromRPM(): + #### try: + #### import rpm + #### ts = rpm.TransactionSet() + #### for each_dep in SYSTEM_RELEASE_DEPS: + #### mi = ts.dbMatch('provides', each_dep) + #### for h in mi: + #### if h['name']: + #### return h['name'].split("-")[0].capitalize() + #### + #### return "" + #### except: + #### return "" + + ####def getVersion_fromRPM(): + #### try: + #### import rpm + #### ts = rpm.TransactionSet() + #### for each_dep in SYSTEM_RELEASE_DEPS: + #### mi = ts.dbMatch('provides', each_dep) + #### for h in mi: + #### if h['version']: + #### return str(h['version']) + #### return "" + #### except: + #### return "" + + def getProduct_fromFILE(): + for each_path in SYSTEM_RELEASE_PATHS: + try: + file = open(each_path, "r") + content = file.read() + if content.startswith("Red Hat Enterprise Linux"): + return "Red Hat Enterprise Linux" + if content.startswith("Fedora"): + return "Fedora" + i = content.find(" release") + if i > -1: + return content[0:i] + except: + pass + return "" + + def getVersion_fromFILE(): + for each_path in SYSTEM_RELEASE_PATHS: + try: + file = open(each_path, "r") + content = file.read() + if content.find("Rawhide") > -1: + return "rawhide" + clist = content.split(" ") + i = clist.index("release") + return clist[i+1] + except: + pass + return "" + + def getProduct(): + ####product = getProduct_fromPRODUCT() + ####if product: + #### return product + product = getProduct_fromFILE() + if product: + return product + ####product = getProduct_fromRPM() + ####if product: + #### return product + return _hardcoded_default_product + + def getVersion(): + ####version = getVersion_fromPRODUCT() + ####if version: + #### return version + version = getVersion_fromFILE() + if version: + return version + ####version = getVersion_fromRPM() + ####if version: + #### return version + return _hardcoded_default_version + + cd = crash_data() + cd.add("component", component) + cd.add("hashmarkername", hashmarkername) + cd.add("localhash", hashvalue) + cd.add("summary", summary) + cd.add("description", alertSignature) + cd.add("product", getProduct()) + cd.add("version", getVersion()) + return cd + +def report(cd, io_unused): + #dd = cd.create_dump_dir() + #dir_name = dd.name + #dd.close() + #r = os.spawnlp(P_WAIT, "abrt-handle-crashdump", "abrt-handle-crashdump", "-d", dirname, "-e" , "report"); + ### Silmpler alternative: + state = run_event_state() + #state.logging_callback = logfunc + r = state.run_event_on_crash_data(cd, "report") + return r |
