Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-redfish for openSUSE:Factory 
checked in at 2024-01-03 12:23:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-redfish (Old)
 and      /work/SRC/openSUSE:Factory/.python-redfish.new.28375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-redfish"

Wed Jan  3 12:23:58 2024 rev:13 rq:1135608 version:3.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-redfish/python-redfish.changes    
2022-12-08 16:52:26.683870105 +0100
+++ /work/SRC/openSUSE:Factory/.python-redfish.new.28375/python-redfish.changes 
2024-01-03 12:23:59.069277303 +0100
@@ -1,0 +2,14 @@
+Fri Dec 29 09:16:30 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 3.2.1:
+  * Added 'timeout' and 'max_retry' parameters to all REST
+    methods
+  * Added exception to the method when a response contains a
+    message indicating a password change is required
+  * Adding missing newline to M-SEARCH requests
+  * Fixed the inspection of the USN response header from M-SEARCH
+    requests to allow for a multi-digit minor version
+  * Improved usage of the ServerDownOrUnreachableError exception
+    to not lose the original message
+
+-------------------------------------------------------------------

Old:
----
  redfish-3.1.8.tar.gz

New:
----
  redfish-3.2.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-redfish.spec ++++++
--- /var/tmp/diff_new_pack.QgInhz/_old  2024-01-03 12:24:00.813341026 +0100
+++ /var/tmp/diff_new_pack.QgInhz/_new  2024-01-03 12:24:00.829341611 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-redfish
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 # Copyright (c) 2020-2021, Martin Hauke <mar...@gmx.de>
 #
 # All modifications and additions to the file contributed by third parties
@@ -19,7 +19,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-redfish
-Version:        3.1.8
+Version:        3.2.1
 Release:        0
 Summary:        Redfish Python Library
 License:        BSD-3-Clause

++++++ redfish-3.1.8.tar.gz -> redfish-3.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/.github/workflows/main.yml 
new/python-redfish-library-3.2.1/.github/workflows/main.yml
--- old/python-redfish-library-3.1.8/.github/workflows/main.yml 2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/.github/workflows/main.yml 2023-08-04 
21:42:35.000000000 +0200
@@ -77,7 +77,7 @@
         git config user.email "<>"
         git add CHANGELOG.md setup.py src/redfish/__init__.py
         git commit -s -m "${{github.event.inputs.version}} versioning"
-        git push origin master
+        git push origin main
     - name: Make the release
       env:
         GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/CHANGELOG.md 
new/python-redfish-library-3.2.1/CHANGELOG.md
--- old/python-redfish-library-3.1.8/CHANGELOG.md       2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/CHANGELOG.md       2023-08-04 
21:42:35.000000000 +0200
@@ -1,5 +1,16 @@
 # Change Log
 
+## [3.2.1] - 2023-08-04
+- Added 'timeout' and 'max_retry' parameters to all REST methods
+- Added  exception to the  method when a response contains a message 
indicating a password change is required
+
+## [3.2.0] - 2023-07-27
+- Adding missing newline to M-SEARCH requests
+- Fixed the inspection of the USN response header from M-SEARCH requests to 
allow for a multi-digit minor version
+
+## [3.1.9] - 2023-01-13
+- Improved usage of the ServerDownOrUnreachableError exception to not lose the 
original message
+
 ## [3.1.8] - 2022-12-02
 - Added request headers to debug log output
 - Added redacting of 'Password' properties from request bodies from debug logs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/README.rst 
new/python-redfish-library-3.2.1/README.rst
--- old/python-redfish-library-3.1.8/README.rst 2022-12-02 21:21:09.000000000 
+0100
+++ new/python-redfish-library-3.2.1/README.rst 2023-08-04 21:42:35.000000000 
+0200
@@ -6,7 +6,7 @@
 .. image:: 
https://img.shields.io/github/release/DMTF/python-redfish-library.svg?maxAge=2592000
     :target: https://github.com/DMTF/python-redfish-library/releases
 .. image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
-    :target: 
https://raw.githubusercontent.com/DMTF/python-redfish-library/master/LICENSE
+    :target: 
https://raw.githubusercontent.com/DMTF/python-redfish-library/main/LICENSE
 .. image:: https://img.shields.io/pypi/pyversions/redfish.svg?maxAge=2592000
     :target: https://pypi.python.org/pypi/redfish
 
@@ -74,7 +74,7 @@
 * ``max_retry``: The number of retries to perform an operation before giving 
up.  The default value is ``10``.
 * ``proxies``: A dictionary containing protocol to proxy URL mappings.  The 
default value is ``None``.  See `Using proxies`_.
 
-To crete a Redfish object, call the ``redfish_client`` method:
+To create a Redfish object, call the ``redfish_client`` method:
 
 .. code-block:: python
 
@@ -97,34 +97,84 @@
 ~~~~~~~~~~~~~~~~~~~~~~~
 
 A simple GET operation can be performed to obtain the data present in any 
valid path.
-An example of GET operation on the path "/redfish/v1/systems/1" is shown below:
+An example of GET operation on the path "/redfish/v1/Systems/1" is shown below:
 
 .. code-block:: python
 
-    response = REDFISH_OBJ.get("/redfish/v1/systems/1", None)
+    response = REDFISH_OBJ.get("/redfish/v1/Systems/1")
 
 Perform a POST operation
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
 A POST operation can be performed to create a resource or perform an action.
-An example of a POST operation on the path 
"/redfish/v1/systems/1/Actions/ComputerSystem.Reset" is shown below:
+An example of a POST operation on the path 
"/redfish/v1/Systems/1/Actions/ComputerSystem.Reset" is shown below:
 
 .. code-block:: python
 
     body = {"ResetType": "GracefulShutdown"}
-    response = 
REDFISH_OBJ.post("/redfish/v1/systems/1/Actions/ComputerSystem.Reset", 
body=body)
+    response = 
REDFISH_OBJ.post("/redfish/v1/Systems/1/Actions/ComputerSystem.Reset", 
body=body)
+
+Notes about HTTP methods and arguments
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The previous sections showed example GET and POST requests.  The following is 
a list of the different methods supported:
+
+* ``get``: Performs an HTTP GET operation to retrieve a resource from a URI.
+* ``head``: Performs an HTTP HEAD operation to retrieve response headers from 
a URI, but no body.
+* ``post``: Performs an HTTP POST operation to perform an action or create a 
new resource.
+* ``put``: Performs an HTTP PUT operation to replace an existing resource.
+* ``patch``: Performs an HTTP PATCH operation to update an existing resource.
+* ``delete``: Performs an HTTP DELETE operation to remove a resource.
+
+Each of the previous methods allows for the following arguments:
+
+* ``path``: **Required**.  String.  The URI in which to invoke the operation.
+
+  - Example: ``"/redfish/v1/Systems/1"``
+
+* ``args``: Dictionary.  Query parameters to supply with the request.
+
+  - The key-value pairs in the dictionary are the query parameter name and the 
query parameter value to supply.
+  - Example: ``{"$select": "Reading,Status"}``
+
+* ``body``: Dictionary, List, Bytes, or String.  The request body to provide 
with the request.
+
+  - Not supported for ``get``, ``head``, or ``delete`` methods.
+  - The data type supplied will dictate the encoding.
+  - A dictionary is the most common usage, which results in a JSON body.
+  - Example: ``{"ResetType": "GracefulShutdown"}``
+  - A list is used to supply multipart forms, which is useful for multipart 
HTTP push updates.
+  - Bytes is used to supply an octet stream.
+  - A string is used to supply an unstructed body, which may be used in some 
OEM cases.
+
+* ``headers``: Dictionary.  Additional HTTP headers to supply with the request.
+
+  - The key-value pairs in the dictionary are the HTTP header name and the 
HTTP header value to supply.
+  - Example: ``{"If-Match": etag_value}``
+
+* ``timeout``: Number.  The number of seconds to wait for a response before 
closing the connection for this request.
+
+  - Overrides the timeout value specified when the Redfish object is created 
for this request.
+  - This can be useful when a particular URI is known to take a long time to 
respond, such as with firmware updates.
+  - The default value is ``None``, which indicates the object-defined timeout 
is used.
+
+* ``max_retry``: Number.  The number of retries to perform an operation before 
giving up for this request.
+
+  - Overrides the max retry value specified when the Redfish object is created 
for this request.
+  - This can be useful when a particular URI is known to take multiple retries.
+  - The default value is ``None``, which indicates the object-defined max 
retry count is used.
 
 Working with tasks
 ~~~~~~~~~~~~~~~~~~
 
-A POST and PATCH operations may result in a task, describing an operation with 
a duration greater than the span of a single request.
+POST, PATCH, PUT, and DELETE operations may result in a task, describing an 
operation with a duration greater than the span of a single request.
 The action message object that ``is_processing`` will return a task that can 
be accessed reviewed when polled with monitor.
 An example of a POST operation with a possible task is shown below.
 
 .. code-block:: python
 
     body = {"ResetType": "GracefulShutdown"}
-    response = 
REDFISH_OBJ.post("/redfish/v1/systems/1/Actions/ComputerSystem.Reset", 
body=body)
+    response = 
REDFISH_OBJ.post("/redfish/v1/Systems/1/Actions/ComputerSystem.Reset", 
body=body)
     if(response.is_processing):
         task = response.monitor(context)
 
@@ -206,4 +256,4 @@
 
 Copyright Notice:
 Copyright 2016-2022 DMTF. All rights reserved.
-License: BSD 3-Clause License. For full text see link: 
`https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md 
<https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md>`_
+License: BSD 3-Clause License. For full text see link: 
`https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md 
<https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/examples/context_manager.py 
new/python-redfish-library-3.2.1/examples/context_manager.py
--- old/python-redfish-library-3.1.8/examples/context_manager.py        
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/examples/context_manager.py        
2023-08-04 21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 import sys
 import redfish
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/examples/discover.py 
new/python-redfish-library-3.2.1/examples/discover.py
--- old/python-redfish-library-3.1.8/examples/discover.py       2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/examples/discover.py       2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 import redfish
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/examples/multipart_push.py 
new/python-redfish-library-3.2.1/examples/multipart_push.py
--- old/python-redfish-library-3.1.8/examples/multipart_push.py 2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/examples/multipart_push.py 2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 import sys
 import json
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/examples/quickstart.py 
new/python-redfish-library-3.2.1/examples/quickstart.py
--- old/python-redfish-library-3.1.8/examples/quickstart.py     2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/examples/quickstart.py     2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 import sys
 import redfish
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/examples/quickstart_rmc.py 
new/python-redfish-library-3.2.1/examples/quickstart_rmc.py
--- old/python-redfish-library-3.1.8/examples/quickstart_rmc.py 2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/examples/quickstart_rmc.py 2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 import os
 import sys
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/setup.py 
new/python-redfish-library-3.2.1/setup.py
--- old/python-redfish-library-3.1.8/setup.py   2022-12-02 21:21:09.000000000 
+0100
+++ new/python-redfish-library-3.2.1/setup.py   2023-08-04 21:42:35.000000000 
+0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 from setuptools import setup, find_packages
 from codecs import open
@@ -12,7 +12,7 @@
     long_description = f.read()
 
 setup(name='redfish',
-      version='3.1.8',
+      version='3.2.1',
       description='Redfish Python Library',
       long_description=long_description,
       long_description_content_type='text/x-rst',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/src/redfish/__init__.py 
new/python-redfish-library-3.2.1/src/redfish/__init__.py
--- old/python-redfish-library-3.1.8/src/redfish/__init__.py    2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/__init__.py    2023-08-04 
21:42:35.000000000 +0200
@@ -1,16 +1,17 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 """ Redfish restful library """
 
-__all__ = ['rest', 'ris', 'discovery']
-__version__ = "3.1.8"
+__all__ = ['rest', 'ris', 'discovery', 'messages']
+__version__ = "3.2.1"
 
 from redfish.rest.v1 import redfish_client
 from redfish.rest.v1 import AuthMethod
 from redfish.discovery.discovery import discover_ssdp
+from redfish.messages import *
 import logging
 
 def redfish_logger(file_name, log_format, log_level=logging.ERROR):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/src/redfish/discovery/__init__.py 
new/python-redfish-library-3.2.1/src/redfish/discovery/__init__.py
--- old/python-redfish-library-3.1.8/src/redfish/discovery/__init__.py  
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/discovery/__init__.py  
2023-08-04 21:42:35.000000000 +0200
@@ -1,4 +1,4 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/src/redfish/discovery/discovery.py 
new/python-redfish-library-3.2.1/src/redfish/discovery/discovery.py
--- old/python-redfish-library-3.1.8/src/redfish/discovery/discovery.py 
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/discovery/discovery.py 
2023-08-04 21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- coding: utf-8 -*-
 """Discovers Redfish services"""
@@ -82,7 +82,7 @@
         "Host: {}:{}\r\n"
         'Man: "ssdp:discover"\r\n'
         "ST: urn:dmtf-org:service:redfish-rest:1\r\n"
-        "MX: {}\r\n"
+        "MX: {}\r\n\r\n"
     ).format(mcast_ip, port, response_time)
     socket.setdefaulttimeout(response_time + 2)
 
@@ -99,7 +99,7 @@
     # On the same socket, wait for responses
     discovered_services = {}
     pattern = re.compile(
-        "^uuid:([a-f0-9\-]*)::urn:dmtf-org:service:redfish-rest:1(:\d)?$") # 
noqa
+        "^uuid:([a-f0-9\-]*)::urn:dmtf-org:service:redfish-rest:1(:\d+)?$") # 
noqa
     while True:
         try:
             response = http.client.HTTPResponse(FakeSocket(sock.recv(1024)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/src/redfish/messages/__init__.py 
new/python-redfish-library-3.2.1/src/redfish/messages/__init__.py
--- old/python-redfish-library-3.1.8/src/redfish/messages/__init__.py   
1970-01-01 01:00:00.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/messages/__init__.py   
2023-08-04 21:42:35.000000000 +0200
@@ -0,0 +1,5 @@
+# Copyright Notice:
+# Copyright 2016-2021 DMTF. All rights reserved.
+# License: BSD 3-Clause License. For full text see link:
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
+from .messages import *
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/src/redfish/messages/messages.py 
new/python-redfish-library-3.2.1/src/redfish/messages/messages.py
--- old/python-redfish-library-3.1.8/src/redfish/messages/messages.py   
1970-01-01 01:00:00.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/messages/messages.py   
2023-08-04 21:42:35.000000000 +0200
@@ -0,0 +1,148 @@
+#! /usr/bin/python
+# Copyright Notice:
+# Copyright 2019-2020 DMTF. All rights reserved.
+# License: BSD 3-Clause License. For full text see link: 
https://github.com/DMTF/Redfish-Tacklebox/blob/main/LICENSE.md
+
+"""
+Messages Module
+
+File : messages.py
+
+Brief : This file contains the definitions and functionalities for interacting
+        with Messages for a given Redfish service
+"""
+import re
+
+class RedfishOperationFailedError( Exception ):
+    """
+    Raised when an operation has failed (HTTP Status >= 400)
+    """
+    pass
+
+class RedfishPasswordChangeRequiredError( Exception ):
+    """
+    Raised when password change required
+    """
+    def __str__(self):
+        return  "\n{}\nURL: {}\n".format( str(self.args[0]), str(self.args[1]) 
)
+
+def get_messages_detail( response ):
+    """
+    Builds messages detail dict in the payload
+
+    Args:
+        response: The response to parser
+
+    Returns:
+        The dict containing messages_detail
+        messages_detail["status"]: http status code
+        messages_detail["successful"]: response successful (http status code < 
400)
+        messages_detail["code"]: redfish message response code field
+        messages_detail["@Message.ExtendedInfo"]: redfish message response 
code field
+    """
+
+    messages_detail = {}
+    messages_detail["status"] = response.status
+    messages_detail["text"] = response.text
+    messages_detail["successful"] = False
+    messages_detail["@Message.ExtendedInfo"] = []
+
+    if response.status >= 400:
+        messages_detail["successful"] = False
+    else:
+        messages_detail["successful"] = True
+
+    try:
+        message_body = response.dict
+        messages_detail["body"] = response.dict
+
+        if not "@Message.ExtendedInfo" in message_body:
+            message_body = response.dict["error"]
+        check_message_field = True
+        if "@Message.ExtendedInfo" in message_body:
+            messages_detail["@Message.ExtendedInfo"] = 
message_body["@Message.ExtendedInfo"]
+            for index in range(len(messages_detail["@Message.ExtendedInfo"])):
+                messages_item = messages_detail["@Message.ExtendedInfo"][index]
+                if not "MessageId" in messages_item:
+                    messages_item["MessageId"] = ""
+                if not "Message" in messages_item:
+                    messages_item["Message"] = ""
+                messages_detail["@Message.ExtendedInfo"][index] = messages_item
+                check_message_field = False
+
+        if check_message_field is True:
+            messages_detail["@Message.ExtendedInfo"] = []
+            messages_item = {}
+            if "code" in message_body:
+                messages_item["MessageId"] = message_body["code"]
+            else:
+                messages_item["MessageId"] = ""
+            if "message" in message_body:
+                messages_item["Message"] = message_body["message"]
+            else:
+                messages_item["Message"] = ""
+            messages_detail["@Message.ExtendedInfo"].insert(0, messages_item)
+    except:
+        messages_detail["@Message.ExtendedInfo"] = []
+        messages_detail["body"] = {}
+
+    return messages_detail
+
+def search_message(response, message_registry_group, message_registry_id):
+    """
+    search message in the payload
+
+    Args:
+        response: The response to parser
+        message_registry_group: target message_registry_group
+        message_registry_id: target message_registry_id
+    Returns:
+        The dict containing target message detail
+    """
+    if isinstance(response, dict) and "@Message.ExtendedInfo" in response:
+        messages_detail = response
+    else:
+        messages_detail = get_messages_detail(response)
+
+    message_registry_id_search = "^" + message_registry_group + 
"\.[0-9]+\.[0-9]+\." + message_registry_id +"$"
+
+    for messages_item in messages_detail["@Message.ExtendedInfo"]:
+        if "MessageId" in messages_item:
+            resault = re.search(message_registry_id_search, 
messages_item["MessageId"])
+            if resault:
+                return messages_item
+    return None
+
+def get_error_messages( response ):
+    """
+    Builds a string based on the error messages in the payload
+
+    Args:
+        response: The response to print
+
+    Returns:
+        The string containing error messages
+    """
+
+    # Pull out the error payload and the messages
+
+    out_string = ""
+    try:
+        if isinstance(response, dict) and "@Message.ExtendedInfo" in response:
+            messages_detail = response
+        else:
+            messages_detail = get_messages_detail(response)
+
+        if "@Message.ExtendedInfo" in messages_detail:
+            for message in messages_detail["@Message.ExtendedInfo"]:
+                if "Message" in message:
+                    out_string = out_string + "\n" + message["Message"]
+            else:
+                    out_string = out_string + "\n" + message["MessageId"]
+        out_string = out_string + "\n"
+    except:
+        # No response body
+        out_string = ""
+
+    return out_string
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/src/redfish/rest/__init__.py 
new/python-redfish-library-3.2.1/src/redfish/rest/__init__.py
--- old/python-redfish-library-3.1.8/src/redfish/rest/__init__.py       
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/rest/__init__.py       
2023-08-04 21:42:35.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 """ Utilities to simplify interaction with Redfish data """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/src/redfish/rest/v1.py 
new/python-redfish-library-3.2.1/src/redfish/rest/v1.py
--- old/python-redfish-library-3.1.8/src/redfish/rest/v1.py     2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/rest/v1.py     2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- coding: utf-8 -*-
 """Helper module for working with REST technology."""
@@ -18,6 +18,7 @@
 import re
 import requests
 import requests_unixsocket
+from redfish.messages import *
 
 from collections import (OrderedDict)
 
@@ -52,7 +53,9 @@
 
 class ServerDownOrUnreachableError(Exception):
     """Raised when server is unreachable."""
-    pass
+    def __init__(self,message,*,response=None):
+        super().__init__(message)
+        self.response = response
 
 class DecompressResponseError(Exception):
     """Raised when decompressing response failed."""
@@ -590,7 +593,7 @@
 
         if resp.status != 200:
             raise ServerDownOrUnreachableError("Server not reachable, " \
-                                               "return code: %d" % resp.status)
+                                               "return code: %d" % 
resp.status,response=resp)
 
         content = resp.text
 
@@ -605,106 +608,130 @@
         self.root = RisObject.parse(root_data)
         self.root_resp = resp
 
-    def get(self, path, args=None, headers=None):
+    def get(self, path, args=None, headers=None, timeout=None, max_retry=None):
         """Perform a GET request
 
-        :param path: the URL path.
-        :type path: str.
-        :param args: the arguments to get.
-        :type args: dict.
-        :param headers: dict of headers to be appended.
-        :type headers: dict.
+        :param path: The URI to access
+        :type path: str
+        :param args: The query parameters to provide with the request
+        :type args: dict, optional
+        :param headers: Additional HTTP headers to provide in the request
+        :type headers: dict, optional
+        :param timeout: Timeout in seconds for the initial connection for this 
specific request
+        :type timeout: int, optional
+        :param max_retry: Number of times a request will retry after a timeout 
for this specific request
+        :type max_retry: int, optional
         :returns: returns a rest request with method 'Get'
 
         """
         try:
             return self._rest_request(path, method='GET', args=args,
-                                                                
headers=headers)
+                                                                
headers=headers, timeout=timeout, max_retry=max_retry)
         except ValueError:
             str = "Service responded with invalid JSON at URI {}".format(path)
             LOGGER.error(str)
             raise JsonDecodingError(str) from None
 
-    def head(self, path, args=None, headers=None):
+    def head(self, path, args=None, headers=None, timeout=None, 
max_retry=None):
         """Perform a HEAD request
 
-        :param path: the URL path.
-        :type path: str.
-        :param args: the arguments to get.
-        :type args: dict.
-        :param headers: dict of headers to be appended.
-        :type headers: dict.
+        :param path: The URI to access
+        :type path: str
+        :param args: The query parameters to provide with the request
+        :type args: dict, optional
+        :param headers: Additional HTTP headers to provide in the request
+        :type headers: dict, optional
+        :param timeout: Timeout in seconds for the initial connection for this 
specific request
+        :type timeout: int, optional
+        :param max_retry: Number of times a request will retry after a timeout 
for this specific request
+        :type max_retry: int, optional
         :returns: returns a rest request with method 'Head'
 
         """
         return self._rest_request(path, method='HEAD', args=args,
-                                                                
headers=headers)
+                                                                
headers=headers, timeout=timeout, max_retry=max_retry)
 
-    def post(self, path, args=None, body=None, headers=None):
+    def post(self, path, args=None, body=None, headers=None, timeout=None, 
max_retry=None):
         """Perform a POST request
 
-        :param path: the URL path.
-        :type path: str.
-        :param args: the arguments to post.
-        :type args: dict.
-        :param body: the body to the sent.
-        :type body: str.
-        :param headers: dict of headers to be appended.
-        :type headers: dict.
+        :param path: The URI to access
+        :type path: str
+        :param args: The query parameters to provide with the request
+        :type args: dict, optional
+        :param body: The request body to provide; use a dict for a JSON body, 
list for multipart forms, bytes for an octet stream, or str for an unstructured 
request
+        :type body: dict or list or bytes or str, optional
+        :param headers: Additional HTTP headers to provide in the request
+        :type headers: dict, optional
+        :param timeout: Timeout in seconds for the initial connection for this 
specific request
+        :type timeout: int, optional
+        :param max_retry: Number of times a request will retry after a timeout 
for this specific request
+        :type max_retry: int, optional
         :returns: returns a rest request with method 'Post'
 
         """
         return self._rest_request(path, method='POST', args=args, body=body,
-                                                                
headers=headers)
+                                                                
headers=headers, timeout=timeout, max_retry=max_retry)
 
-    def put(self, path, args=None, body=None, headers=None):
+    def put(self, path, args=None, body=None, headers=None, timeout=None, 
max_retry=None):
         """Perform a PUT request
 
-        :param path: the URL path.
-        :type path: str.
-        :param args: the arguments to put.
-        :type args: dict.
-        :param body: the body to the sent.
-        :type body: str.
-        :param headers: dict of headers to be appended.
-        :type headers: dict.
+        :param path: The URI to access
+        :type path: str
+        :param args: The query parameters to provide with the request
+        :type args: dict, optional
+        :param body: The request body to provide; use a dict for a JSON body, 
list for multipart forms, bytes for an octet stream, or str for an unstructured 
request
+        :type body: dict or list or bytes or str, optional
+        :param headers: Additional HTTP headers to provide in the request
+        :type headers: dict, optional
+        :param timeout: Timeout in seconds for the initial connection for this 
specific request
+        :type timeout: int, optional
+        :param max_retry: Number of times a request will retry after a timeout 
for this specific request
+        :type max_retry: int, optional
         :returns: returns a rest request with method 'Put'
 
         """
         return self._rest_request(path, method='PUT', args=args, body=body,
-                                                                
headers=headers)
+                                                                
headers=headers, timeout=timeout, max_retry=max_retry)
 
-    def patch(self, path, args=None, body=None, headers=None):
-        """Perform a PUT request
+    def patch(self, path, args=None, body=None, headers=None, timeout=None, 
max_retry=None):
+        """Perform a PATCH request
 
-        :param path: the URL path.
-        :type path: str.
-        :param args: the arguments to patch.
-        :type args: dict.
-        :param body: the body to the sent.
-        :type body: str.
-        :param headers: dict of headers to be appended.
-        :type headers: dict.
+        :param path: The URI to access
+        :type path: str
+        :param args: The query parameters to provide with the request
+        :type args: dict, optional
+        :param body: The request body to provide; use a dict for a JSON body, 
list for multipart forms, bytes for an octet stream, or str for an unstructured 
request
+        :type body: dict or list or bytes or str, optional
+        :param headers: Additional HTTP headers to provide in the request
+        :type headers: dict, optional
+        :param timeout: Timeout in seconds for the initial connection for this 
specific request
+        :type timeout: int, optional
+        :param max_retry: Number of times a request will retry after a timeout 
for this specific request
+        :type max_retry: int, optional
         :returns: returns a rest request with method 'Patch'
 
         """
         return self._rest_request(path, method='PATCH', args=args, body=body,
-                                                                
headers=headers)
+                                                                
headers=headers, timeout=timeout, max_retry=max_retry)
 
-    def delete(self, path, args=None, headers=None):
+    def delete(self, path, args=None, headers=None, timeout=None, 
max_retry=None):
         """Perform a DELETE request
 
-        :param path: the URL path.
-        :type path: str.
-        :param args: the arguments to delete.
-        :type args: dict.
-        :param headers: dict of headers to be appended.
-        :type headers: dict.
+        :param path: The URI to access
+        :type path: str
+        :param args: The query parameters to provide with the request
+        :type args: dict, optional
+        :param headers: Additional HTTP headers to provide in the request
+        :type headers: dict, optional
+        :param timeout: Timeout in seconds for the initial connection for this 
specific request
+        :type timeout: int, optional
+        :param max_retry: Number of times a request will retry after a timeout 
for this specific request
+        :type max_retry: int, optional
         :returns: returns a rest request with method 'Delete'
 
         """
         return self._rest_request(path, method='DELETE', args=args,
-                                                                
headers=headers)
+                                                                
headers=headers, timeout=timeout, max_retry=max_retry)
 
     def _get_req_headers(self, headers=None):
         """Get the request headers
@@ -728,24 +755,34 @@
         return headers
 
     def _rest_request(self, path, method='GET', args=None, body=None,
-                      headers=None, allow_redirects=True):
+                      headers=None, allow_redirects=True, timeout=None, 
max_retry=None):
         """Rest request main function
 
-        :param path: path within tree
+        :param path: The URI to access
         :type path: str
-        :param method: method to be implemented
-        :type method: str
-        :param args: the arguments for method
-        :type args: dict
-        :param body: body payload for the rest call
-        :type body: dict
-        :param headers: provide additional headers
-        :type headers: dict
-        :param allow_redirects: controls whether redirects are followed
-        :type allow_redirects: bool
+        :param method: The HTTP method to invoke on the URI; GET if not 
provided
+        :type method: str, optional
+        :param args: The query parameters to provide with the request
+        :type args: dict, optional
+        :param body: The request body to provide; use a dict for a JSON body, 
list for multipart forms, bytes for an octet stream, or str for an unstructured 
request
+        :type body: dict or list or bytes or str, optional
+        :param headers: Additional HTTP headers to provide in the request
+        :type headers: dict, optional
+        :param allow_redirects: Controls whether redirects are followed
+        :type allow_redirects: bool, optional
+        :param timeout: Timeout in seconds for the initial connection for this 
specific request
+        :type timeout: int, optional
+        :param max_retry: Number of times a request will retry after a timeout 
for this specific request
+        :type max_retry: int, optional
         :returns: returns a RestResponse object
 
         """
+        if timeout is None:
+            timeout = self._timeout
+
+        if max_retry is None:
+            max_retry = self._max_retry
+
         headers = self._get_req_headers(headers)
         reqpath = path.replace('//', '/')
 
@@ -784,7 +821,7 @@
                 body = urlencode(body)
 
             if method == 'PUT':
-                resp = self._rest_request(path=path)
+                resp = self._rest_request(path=path, timeout=timeout, 
max_retry=max_retry)
 
                 try:
                     if resp.getheader('content-encoding') == 'gzip':
@@ -834,7 +871,7 @@
         attempts = 0
         restresp = None
         cause_exception = None
-        while attempts <= self._max_retry:
+        while attempts <= max_retry:
             if LOGGER.isEnabledFor(logging.DEBUG):
                 headerstr = ''
                 if headers is not None:
@@ -871,7 +908,7 @@
                 if self.cafile:
                     verify = self.cafile
                 resp = self._session.request(method.upper(), 
"{}{}".format(self.__base_url, reqpath), data=body,
-                                             headers=headers, 
timeout=self._timeout, allow_redirects=allow_redirects,
+                                             headers=headers, timeout=timeout, 
allow_redirects=allow_redirects,
                                              verify=verify, 
proxies=self._proxies, params=query_str)
 
                 if sys.version_info < (3, 3):
@@ -959,6 +996,10 @@
             self.__session_key = resp.session_key
             self.__session_location = resp.session_location
 
+            message_item = search_message(resp, "Base", 
"PasswordChangeRequired")
+            if not message_item is None:
+                raise RedfishPasswordChangeRequiredError("Password Change 
Required\n", message_item["MessageArgs"][0])
+            
             if not self.__session_key and resp.status not in [200, 201, 202, 
204]:
                 if resp.status == 401:
                     # Invalid credentials supplied
@@ -1044,7 +1085,7 @@
             self.login_url = '/redfish/v1/SessionService/Sessions'
 
     def _rest_request(self, path='', method="GET", args=None, body=None,
-                      headers=None, allow_redirects=True):
+                      headers=None, allow_redirects=True, timeout=None, 
max_retry=None):
         """Rest request for HTTP client
 
         :param path: path within tree
@@ -1059,13 +1100,17 @@
         :type headers: dict
         :param allow_redirects: controls whether redirects are followed
         :type allow_redirects: bool
+        :param timeout: Timeout in seconds for the initial connection for this 
specific request
+        :type timeout: int
+        :param max_retry: Number of times a request will retry after a timeout 
for this specific request
+        :type max_retry: int
         :returns: returns a rest request
 
         """
         return super(HttpClient, self)._rest_request(path=path, method=method,
                                                      args=args, body=body,
                                                      headers=headers,
-                                                     
allow_redirects=allow_redirects)
+                                                     
allow_redirects=allow_redirects, timeout=timeout, max_retry=max_retry)
 
     def _get_req_headers(self, headers=None, providerheader=None):
         """Get the request headers for HTTP client
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/src/redfish/ris/__init__.py 
new/python-redfish-library-3.2.1/src/redfish/ris/__init__.py
--- old/python-redfish-library-3.1.8/src/redfish/ris/__init__.py        
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/ris/__init__.py        
2023-08-04 21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- coding: utf-8 -*-
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/src/redfish/ris/config.py 
new/python-redfish-library-3.2.1/src/redfish/ris/config.py
--- old/python-redfish-library-3.1.8/src/redfish/ris/config.py  2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/ris/config.py  2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- coding: utf-8 -*-
 """Module for working with global configuration options."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/src/redfish/ris/ris.py 
new/python-redfish-library-3.2.1/src/redfish/ris/ris.py
--- old/python-redfish-library-3.1.8/src/redfish/ris/ris.py     2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/ris/ris.py     2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- coding: utf-8 -*-
 """RIS implementation"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/src/redfish/ris/rmc.py 
new/python-redfish-library-3.2.1/src/redfish/ris/rmc.py
--- old/python-redfish-library-3.1.8/src/redfish/ris/rmc.py     2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/ris/rmc.py     2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- coding: utf-8 -*-
 """RMC implementation """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/src/redfish/ris/rmc_helper.py 
new/python-redfish-library-3.2.1/src/redfish/ris/rmc_helper.py
--- old/python-redfish-library-3.1.8/src/redfish/ris/rmc_helper.py      
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/ris/rmc_helper.py      
2023-08-04 21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- coding: utf-8 -*-
 """RMC helper implementation"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/src/redfish/ris/sharedtypes.py 
new/python-redfish-library-3.2.1/src/redfish/ris/sharedtypes.py
--- old/python-redfish-library-3.1.8/src/redfish/ris/sharedtypes.py     
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/src/redfish/ris/sharedtypes.py     
2023-08-04 21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- coding: utf-8 -*-
 """ Shared types used in this module """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/tests/__init__.py 
new/python-redfish-library-3.2.1/tests/__init__.py
--- old/python-redfish-library-3.1.8/tests/__init__.py  2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/tests/__init__.py  2023-08-04 
21:42:35.000000000 +0200
@@ -1,4 +1,4 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
\ No newline at end of file
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/tests/discovery/__init__.py 
new/python-redfish-library-3.2.1/tests/discovery/__init__.py
--- old/python-redfish-library-3.1.8/tests/discovery/__init__.py        
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/tests/discovery/__init__.py        
2023-08-04 21:42:35.000000000 +0200
@@ -1,4 +1,4 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
\ No newline at end of file
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/tests/discovery/test_discovery.py 
new/python-redfish-library-3.2.1/tests/discovery/test_discovery.py
--- old/python-redfish-library-3.1.8/tests/discovery/test_discovery.py  
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/tests/discovery/test_discovery.py  
2023-08-04 21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- encoding: utf-8 -*-
 import unittest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/tests/rest/__init__.py 
new/python-redfish-library-3.2.1/tests/rest/__init__.py
--- old/python-redfish-library-3.1.8/tests/rest/__init__.py     2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/tests/rest/__init__.py     2023-08-04 
21:42:35.000000000 +0200
@@ -1,4 +1,4 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
\ No newline at end of file
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/tests/rest/test_v1.py 
new/python-redfish-library-3.2.1/tests/rest/test_v1.py
--- old/python-redfish-library-3.1.8/tests/rest/test_v1.py      2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/tests/rest/test_v1.py      2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- encoding: utf-8 -*-
 import unittest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/tests/ris/__init__.py 
new/python-redfish-library-3.2.1/tests/ris/__init__.py
--- old/python-redfish-library-3.1.8/tests/ris/__init__.py      2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/tests/ris/__init__.py      2023-08-04 
21:42:35.000000000 +0200
@@ -1,4 +1,4 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
\ No newline at end of file
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/tests/ris/test_config.py 
new/python-redfish-library-3.2.1/tests/ris/test_config.py
--- old/python-redfish-library-3.1.8/tests/ris/test_config.py   2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/tests/ris/test_config.py   2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- encoding: utf-8 -*-
 import tempfile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-redfish-library-3.1.8/tests/ris/test_ris.py 
new/python-redfish-library-3.2.1/tests/ris/test_ris.py
--- old/python-redfish-library-3.1.8/tests/ris/test_ris.py      2022-12-02 
21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/tests/ris/test_ris.py      2023-08-04 
21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 # -*- encoding: utf-8 -*-
 import unittest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-redfish-library-3.1.8/tests/ris/test_rmc_helper.py 
new/python-redfish-library-3.2.1/tests/ris/test_rmc_helper.py
--- old/python-redfish-library-3.1.8/tests/ris/test_rmc_helper.py       
2022-12-02 21:21:09.000000000 +0100
+++ new/python-redfish-library-3.2.1/tests/ris/test_rmc_helper.py       
2023-08-04 21:42:35.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright Notice:
 # Copyright 2016-2021 DMTF. All rights reserved.
 # License: BSD 3-Clause License. For full text see link:
-# https://github.com/DMTF/python-redfish-library/blob/master/LICENSE.md
+# https://github.com/DMTF/python-redfish-library/blob/main/LICENSE.md
 
 import unittest
 try:

Reply via email to