[sos-devel] [PATCH v2] sosreport: Accept commas, period and alphas in the case id

Aruna Balakrishnaiah aruna at linux.vnet.ibm.com
Wed Aug 20 08:13:22 UTC 2014


Bryn,

     If case_id is not the appropriate name, please suggest me
the name I could use.

Regards,
Aruna

On Tuesday 19 August 2014 04:06 PM, Aruna Balakrishnaiah wrote:
> sosreport does not accept commas, period and alphas in the case
> id, the patch fixes the same.
>
> Change the ticket number field to case id as it now accepts
> alpha numerals as well.
>
> Signed-off-by: Aruna Balakrishnaiah <aruna at linux.vnet.ibm.com>
> ---
> 	Changes from v1:
> 		Update documentation
>
>   man/en/sosreport.1       |    6 +++---
>   sos/policies/__init__.py |   20 ++++++++++----------
>   sos/sosreport.py         |   20 ++++++++++----------
>   3 files changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/man/en/sosreport.1 b/man/en/sosreport.1
> index e189433..532ec83 100644
> --- a/man/en/sosreport.1
> +++ b/man/en/sosreport.1
> @@ -9,7 +9,7 @@ sosreport \- Collect and package diagnostic and support data
>             [-o|--only-plugins plugin-names]\fR
>             [-a|--alloptions] [-v|--verbose]\fR
>             [--report] [--config-file conf] [--batch]\fR
> -          [--build] [--name name] [--ticket-number number]
> +          [--build] [--name name] [--case-id id]
>             [--debug] [--tmp-dir directory]\fR
>             [--help]\fR
>   .SH DESCRIPTION
> @@ -73,8 +73,8 @@ Generate archive without prompting for interactive input.
>   .B \--name NAME
>   Specify a name to be used for the archive.
>   .TP
> -.B \--ticket-number NUMBER
> -Specify a ticket number to be used for archive
> +.B \--case-id NUMBER
> +Specify a case id to be used for archive
>   .TP
>   .B \--build
>   Do not archive copied data. Causes sosreport to leave an uncompressed
> diff --git a/sos/policies/__init__.py b/sos/policies/__init__.py
> index 11995ff..ab62dfe 100644
> --- a/sos/policies/__init__.py
> +++ b/sos/policies/__init__.py
> @@ -150,7 +150,7 @@ No changes will be made to system configuration.
>           modifying PATH in their own initializer."""
>           self._parse_uname()
>           self.report_name = self.hostname
> -        self.ticket_number = None
> +        self.case_id = None
>           self.package_manager = PackageManager()
>           self._valid_subclasses = []
>           self.set_exec_path()
> @@ -188,8 +188,8 @@ No changes will be made to system configuration.
>           This function should return the filename of the archive without the
>           extension.
>           """
> -        if self.ticket_number:
> -            self.report_name += "." + self.ticket_number
> +        if self.case_id:
> +            self.report_name += "." + self.case_id
>           return "sosreport-%s-%s" % (self.report_name, time.strftime("%Y%m%d%H%M%S"))
>
>       def get_tmp_dir(self, opt_tmp_dir):
> @@ -382,8 +382,8 @@ class LinuxPolicy(Policy):
>       def sanitize_report_name(self, report_name):
>           return re.sub(r"[^-a-zA-Z.0-9]", "", report_name)
>
> -    def sanitize_ticket_number(self, ticket_number):
> -        return re.sub(r"[^0-9]", "", ticket_number)
> +    def sanitize_case_id(self, case_id):
> +        return re.sub(r"[^-a-z,A-Z.0-9]", "", case_id)
>
>       def pre_work(self):
>           # this method will be called before the gathering begins
> @@ -394,7 +394,7 @@ class LinuxPolicy(Policy):
>               try:
>                   self.report_name = input(_("Please enter your first initial and last name [%s]: ") % localname)
>
> -                self.ticket_number = input(_("Please enter the case number that you are generating this report for: "))
> +                self.case_id = input(_("Please enter the case id that you are generating this report for: "))
>                   self._print()
>               except:
>                   self._print()
> @@ -406,12 +406,12 @@ class LinuxPolicy(Policy):
>           if self.commons['cmdlineopts'].customer_name:
>               self.report_name = self.commons['cmdlineopts'].customer_name
>
> -        if self.commons['cmdlineopts'].ticket_number:
> -            self.ticket_number = self.commons['cmdlineopts'].ticket_number
> +        if self.commons['cmdlineopts'].case_id:
> +            self.case_id = self.commons['cmdlineopts'].case_id
>
>           self.report_name = self.sanitize_report_name(self.report_name)
> -        if self.ticket_number:
> -            self.ticket_number = self.sanitize_ticket_number(self.ticket_number)
> +        if self.case_id:
> +            self.case_id = self.sanitize_case_id(self.case_id)
>
>           if (self.report_name == ""):
>               self.report_name = "default"
> diff --git a/sos/sosreport.py b/sos/sosreport.py
> index 2dac501..ebaa2eb 100644
> --- a/sos/sosreport.py
> +++ b/sos/sosreport.py
> @@ -216,7 +216,7 @@ class SoSOptions(object):
>       _verbosity = 0
>       _quiet = False
>       _debug = False
> -    _ticket_number = ""
> +    _case_id = ""
>       _customer_name = ""
>       _config_file = ""
>       _tmp_dir = ""
> @@ -374,15 +374,15 @@ class SoSOptions(object):
>           self._debug = value
>
>       @property
> -    def ticket_number(self):
> +    def case_id(self):
>           if self._options != None:
> -            return self._options.ticket_number
> -        return self._ticket_number
> +            return self._options.case_id
> +        return self._case_id
>
> -    @ticket_number.setter
> -    def ticket_number(self, value):
> +    @case_id.setter
> +    def case_id(self, value):
>           self._check_options_initialized()
> -        self._ticket_number = value
> +        self._case_id = value
>
>       @property
>       def customer_name(self):
> @@ -480,9 +480,9 @@ class SoSOptions(object):
>           parser.add_option("--debug", action="count",
>                                dest="debug",
>                                help="enable interactive debugging using the python debugger")
> -        parser.add_option("--ticket-number", action="store",
> -                             dest="ticket_number",
> -                             help="specify ticket number")
> +        parser.add_option("--case-id", action="store",
> +                             dest="case_id",
> +                             help="specify case id")
>           parser.add_option("--name", action="store",
>                                dest="customer_name",
>                                help="specify report name")
>
> _______________________________________________
> sos-devel mailing list
> sos-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/sos-devel
>




More information about the sos-devel mailing list