53 lines
1.4 KiB
Python
Executable File
53 lines
1.4 KiB
Python
Executable File
#!/usr/bin/python3
|
|
|
|
# Copyright (c) 2006 Canonical Ltd.
|
|
# Author: Martin Pitt <martin.pitt@ubuntu.com>
|
|
#
|
|
# 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. See http://www.gnu.org/copyleft/gpl.html for
|
|
# the full text of the license.
|
|
|
|
"""Check if there are new reports for the invoking user. Exit with 0 if new
|
|
reports are available, or with 1 if not."""
|
|
|
|
# pylint: disable=invalid-name
|
|
# pylint: enable=invalid-name
|
|
|
|
import argparse
|
|
import sys
|
|
|
|
import apport
|
|
from apport.fileutils import get_new_reports, get_new_system_reports
|
|
|
|
|
|
def parse_args():
|
|
"""Parse command line options and return arguments."""
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument(
|
|
"-s",
|
|
"--system",
|
|
action="store_true",
|
|
help="Check for crash reports from system users.",
|
|
)
|
|
return parser.parse_args()
|
|
|
|
|
|
args = parse_args()
|
|
if args.system:
|
|
reports = get_new_system_reports()
|
|
else:
|
|
reports = get_new_reports()
|
|
|
|
if len(reports) > 0:
|
|
for report in reports:
|
|
print(report.split(".")[0].split("_")[-1])
|
|
if apport.packaging.enabled():
|
|
sys.exit(0)
|
|
else:
|
|
print("new reports but apport disabled")
|
|
sys.exit(2)
|
|
else:
|
|
sys.exit(1)
|