Repository: rucio/rucio

Issue:
custom rucio exceptions passing args and kwargs wrong to super
Motivation
----------
It looks like all custom rucio exceptions are calling super().__init__(args, kwargs) with the wrong arguments.

Modification
------------
The syntax should be super().__init__(*args, **kwargs)

Expected behavior
-----------------



Discussion:

Resolving patch:
diff --git a/lib/rucio/common/exception.py b/lib/rucio/common/exception.py
--- a/lib/rucio/common/exception.py
+++ b/lib/rucio/common/exception.py
@@ -33,7 +33,7 @@ class RucioException(Exception):
     """
 
     def __init__(self, *args, **kwargs):
-        super(RucioException, self).__init__(args, kwargs)
+        super(RucioException, self).__init__(*args, **kwargs)
         self._message = "An unknown exception occurred."
         self.args = args
         self.kwargs = kwargs
@@ -64,7 +64,7 @@ class AccessDenied(RucioException):
     AccessDenied
     """
     def __init__(self, *args, **kwargs):
-        super(AccessDenied, self).__init__(args, kwargs)
+        super(AccessDenied, self).__init__(*args, **kwargs)
         self._message = "Access to the requested resource denied."
         self.error_code = 2
 
@@ -74,7 +74,7 @@ class AccountNotFound(RucioException):
     AccountNotFound
     """
     def __init__(self, *args, **kwargs):
-        super(AccountNotFound, self).__init__(args, kwargs)
+        super(AccountNotFound, self).__init__(*args, **kwargs)
         self._message = "Account does not exist."
         self.error_code = 3
 
@@ -84,7 +84,7 @@ class CannotAuthenticate(RucioException):
     CannotAuthenticate
     """
     def __init__(self, *args, **kwargs):
-        super(CannotAuthenticate, self).__init__(args, kwargs)
+        super(CannotAuthenticate, self).__init__(*args, **kwargs)
         self._message = "Cannot authenticate."
         self.error_code = 4
 
@@ -94,7 +94,7 @@ class ClientParameterMismatch(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ClientParameterMismatch, self).__init__(args, kwargs)
+        super(ClientParameterMismatch, self).__init__(*args, **kwargs)
         self._message = "Client parameters don\'t match."
         self.error_code = 5
 
@@ -104,7 +104,7 @@ class ClientProtocolNotSupported(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ClientProtocolNotSupported, self).__init__(args, kwargs)
+        super(ClientProtocolNotSupported, self).__init__(*args, **kwargs)
         self._message = "Client protocol not supported."
         self.error_code = 6
 
@@ -114,7 +114,7 @@ class ConfigNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ConfigNotFound, self).__init__(args, kwargs)
+        super(ConfigNotFound, self).__init__(*args, **kwargs)
         self._message = "Configuration not found."
         self.error_code = 7
 
@@ -124,7 +124,7 @@ class ConfigurationError(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ConfigurationError, self).__init__(args, kwargs)
+        super(ConfigurationError, self).__init__(*args, **kwargs)
         self._message = "Error during configuration."
         self.error_code = 8
 
@@ -134,7 +134,7 @@ class CounterNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(CounterNotFound, self).__init__(args, kwargs)
+        super(CounterNotFound, self).__init__(*args, **kwargs)
         self._message = "The requested counter does not exist."
         self.error_code = 9
 
@@ -144,7 +144,7 @@ class DatabaseException(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(DatabaseException, self).__init__(args, kwargs)
+        super(DatabaseException, self).__init__(*args, **kwargs)
         self._message = "Database exception."
         self.error_code = 10
 
@@ -154,7 +154,7 @@ class DataIdentifierAlreadyExists(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(DataIdentifierAlreadyExists, self).__init__(args, kwargs)
+        super(DataIdentifierAlreadyExists, self).__init__(*args, **kwargs)
         self._message = "Data Identifier Already Exists."
         self.error_code = 11
 
@@ -164,7 +164,7 @@ class DataIdentifierNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(DataIdentifierNotFound, self).__init__(args, kwargs)
+        super(DataIdentifierNotFound, self).__init__(*args, **kwargs)
         self._message = "Data identifier not found."
         self.error_code = 12
 
@@ -174,7 +174,7 @@ class DestinationNotAccessible(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(DestinationNotAccessible, self).__init__(args, kwargs)
+        super(DestinationNotAccessible, self).__init__(*args, **kwargs)
         self._message = "Access to local destination denied."
         self.error_code = 13
 
@@ -184,7 +184,7 @@ class Duplicate(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(Duplicate, self).__init__(args, kwargs)
+        super(Duplicate, self).__init__(*args, **kwargs)
         self._message = "An object with the same identifier already exists."
         self.error_code = 14
 
@@ -194,7 +194,7 @@ class DuplicateContent(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(DuplicateContent, self).__init__(args, kwargs)
+        super(DuplicateContent, self).__init__(*args, **kwargs)
         self._message = "Data identifier already added to the destination content."
         self.error_code = 15
 
@@ -204,7 +204,7 @@ class DuplicateRule(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(DuplicateRule, self).__init__(args, kwargs)
+        super(DuplicateRule, self).__init__(*args, **kwargs)
         self._message = "A duplicate rule for this account, did, rse_expression, copies already exists."
         self.error_code = 16
 
@@ -214,7 +214,7 @@ class ErrorLoadingCredentials(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ErrorLoadingCredentials, self).__init__(args, kwargs)
+        super(ErrorLoadingCredentials, self).__init__(*args, **kwargs)
         self._message = "Unable to to load user credentials."
         self.error_code = 17
 
@@ -224,7 +224,7 @@ class FileAlreadyExists(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(FileAlreadyExists, self).__init__(args, kwargs)
+        super(FileAlreadyExists, self).__init__(*args, **kwargs)
         self._message = "The file already exists."
         self.error_code = 18
 
@@ -234,7 +234,7 @@ class FileConsistencyMismatch(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(FileConsistencyMismatch, self).__init__(args, kwargs)
+        super(FileConsistencyMismatch, self).__init__(*args, **kwargs)
         self._message = "Error related to file consistency."
         self.error_code = 19
 
@@ -244,7 +244,7 @@ class FileReplicaAlreadyExists(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(FileReplicaAlreadyExists, self).__init__(args, kwargs)
+        super(FileReplicaAlreadyExists, self).__init__(*args, **kwargs)
         self._message = "File name in specified scope already exists"
         self.error_code = 20
 
@@ -254,7 +254,7 @@ class ReplicaNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ReplicaNotFound, self).__init__(args, kwargs)
+        super(ReplicaNotFound, self).__init__(*args, **kwargs)
         self._message = "Replica not found"
         self.error_code = 21
 
@@ -264,7 +264,7 @@ class ReplicaUnAvailable(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ReplicaUnAvailable, self).__init__(args, kwargs)
+        super(ReplicaUnAvailable, self).__init__(*args, **kwargs)
         self._message = "Replica unavailable"
         self.error_code = 22
 
@@ -274,7 +274,7 @@ class FullStorage(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(FullStorage, self).__init__(args, kwargs)
+        super(FullStorage, self).__init__(*args, **kwargs)
         self._message = "The Referenced storage is out of disk space."
         self.error_code = 23
 
@@ -284,14 +284,14 @@ class IdentityError(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(IdentityError, self).__init__(args, kwargs)
+        super(IdentityError, self).__init__(*args, **kwargs)
         self._message = "Identity error."
         self.error_code = 24
 
 
 class IdentityNotFound(RucioException):
     def __init__(self, *args, **kwargs):
-        super(IdentityNotFound, self).__init__(args, kwargs)
+        super(IdentityNotFound, self).__init__(*args, **kwargs)
         self._message = "This identity does not exist."
         self.error_code = 25
 
@@ -301,7 +301,7 @@ class InputValidationError(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InputValidationError, self).__init__(args, kwargs)
+        super(InputValidationError, self).__init__(*args, **kwargs)
         self._message = "There is an error with one of the input parameters."
         self.error_code = 26
 
@@ -311,7 +311,7 @@ class InsufficientAccountLimit(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InsufficientAccountLimit, self).__init__(args, kwargs)
+        super(InsufficientAccountLimit, self).__init__(*args, **kwargs)
         self._message = "There is not enough quota left to fulfil the operation."
         self.error_code = 27
 
@@ -321,7 +321,7 @@ class InsufficientTargetRSEs(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InsufficientTargetRSEs, self).__init__(args, kwargs)
+        super(InsufficientTargetRSEs, self).__init__(*args, **kwargs)
         self._message = "There are not enough target RSEs to fulfil the request at this time."
         self.error_code = 28
 
@@ -331,7 +331,7 @@ class InvalidMetadata(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InvalidMetadata, self).__init__(args, kwargs)
+        super(InvalidMetadata, self).__init__(*args, **kwargs)
         self._message = "Provided metadata is considered invalid."
         self.error_code = 29
 
@@ -341,7 +341,7 @@ class InvalidObject(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InvalidObject, self).__init__(args, kwargs)
+        super(InvalidObject, self).__init__(*args, **kwargs)
         self._message = "Provided object does not match schema."
         self.error_code = 30
 
@@ -351,7 +351,7 @@ class InvalidReplicationRule(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InvalidReplicationRule, self).__init__(args, kwargs)
+        super(InvalidReplicationRule, self).__init__(*args, **kwargs)
         self._message = "Provided replication rule is considered invalid."
         self.error_code = 31
 
@@ -361,7 +361,7 @@ class InvalidRSEExpression(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InvalidRSEExpression, self).__init__(args, kwargs)
+        super(InvalidRSEExpression, self).__init__(*args, **kwargs)
         self._message = "Provided RSE expression is considered invalid."
         self.error_code = 32
 
@@ -371,7 +371,7 @@ class InvalidRuleWeight(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InvalidRuleWeight, self).__init__(args, kwargs)
+        super(InvalidRuleWeight, self).__init__(*args, **kwargs)
         self._message = "An invalid weight value/type is used for an RSE."
         self.error_code = 33
 
@@ -381,7 +381,7 @@ class InvalidType(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InvalidType, self).__init__(args, kwargs)
+        super(InvalidType, self).__init__(*args, **kwargs)
         self._message = "Provided type is considered invalid."
         self.error_code = 34
 
@@ -391,7 +391,7 @@ class InvalidValueForKey(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InvalidValueForKey, self).__init__(args, kwargs)
+        super(InvalidValueForKey, self).__init__(*args, **kwargs)
         self._message = "Invalid value for the key."
         self.error_code = 35
 
@@ -401,7 +401,7 @@ class InvalidRequest(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InvalidRequest, self).__init__(args, kwargs)
+        super(InvalidRequest, self).__init__(*args, **kwargs)
         self._message = "Request is considered invalid."
         self.error_code = 36
 
@@ -411,7 +411,7 @@ class InvalidPath(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(InvalidPath, self).__init__(args, kwargs)
+        super(InvalidPath, self).__init__(*args, **kwargs)
         self._message = "The path provided is invalid."
         self.error_code = 37
 
@@ -421,7 +421,7 @@ class KeyNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(KeyNotFound, self).__init__(args, kwargs)
+        super(KeyNotFound, self).__init__(*args, **kwargs)
         self._message = "Key does not exist."
         self.error_code = 38
 
@@ -431,7 +431,7 @@ class LifetimeExceptionDuplicate(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(LifetimeExceptionDuplicate, self).__init__(args, kwargs)
+        super(LifetimeExceptionDuplicate, self).__init__(*args, **kwargs)
         self._message = "An exception already exists."
         self.error_code = 39
 
@@ -441,7 +441,7 @@ class LifetimeExceptionNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(LifetimeExceptionNotFound, self).__init__(args, kwargs)
+        super(LifetimeExceptionNotFound, self).__init__(*args, **kwargs)
         self._message = "Exception does not exist."
         self.error_code = 40
 
@@ -451,7 +451,7 @@ class ManualRuleApprovalBlocked(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ManualRuleApprovalBlocked, self).__init__(args, kwargs)
+        super(ManualRuleApprovalBlocked, self).__init__(*args, **kwargs)
         self._message = "Manual rule approval is blocked on this RSE."
         self.error_code = 41
 
@@ -461,7 +461,7 @@ class MissingClientParameter(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(MissingClientParameter, self).__init__(args, kwargs)
+        super(MissingClientParameter, self).__init__(*args, **kwargs)
         self._message = "Client parameters are missing."
         self.error_code = 42
 
@@ -471,7 +471,7 @@ class MissingDependency(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(MissingDependency, self).__init__(args, kwargs)
+        super(MissingDependency, self).__init__(*args, **kwargs)
         self._message = "One dependency is missing."
         self.error_code = 43
 
@@ -481,7 +481,7 @@ class MissingSourceReplica(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(MissingSourceReplica, self).__init__(args, kwargs)
+        super(MissingSourceReplica, self).__init__(*args, **kwargs)
         self._message = "Source replicas are missing to fulfil the request at this moment."
         self.error_code = 44
 
@@ -491,7 +491,7 @@ class NameTypeError(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(NameTypeError, self).__init__(args, kwargs)
+        super(NameTypeError, self).__init__(*args, **kwargs)
         self._message = "Name is of the wrong type"
         self.error_code = 45
 
@@ -501,7 +501,7 @@ class NoAuthInformation(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(NoAuthInformation, self).__init__(args, kwargs)
+        super(NoAuthInformation, self).__init__(*args, **kwargs)
         self._message = "No authentication information passed."
         self.error_code = 46
 
@@ -511,7 +511,7 @@ class NoFilesDownloaded(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(NoFilesDownloaded, self).__init__(args, kwargs)
+        super(NoFilesDownloaded, self).__init__(*args, **kwargs)
         self._message = "None of the requested files have been downloaded."
         self.error_code = 75
 
@@ -521,7 +521,7 @@ class NotAllFilesDownloaded(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(NotAllFilesDownloaded, self).__init__(args, kwargs)
+        super(NotAllFilesDownloaded, self).__init__(*args, **kwargs)
         self._message = "Not all of the requested files have been downloaded."
         self.error_code = 76
 
@@ -531,14 +531,14 @@ class ReplicationRuleCreationTemporaryFailed(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ReplicationRuleCreationTemporaryFailed, self).__init__(args, kwargs)
+        super(ReplicationRuleCreationTemporaryFailed, self).__init__(*args, **kwargs)
         self._message = "The creation of the replication rule failed at this time. Please try again later."
         self.error_code = 47
 
 
 class RequestNotFound(RucioException):
     def __init__(self, *args, **kwargs):
-        super(RequestNotFound, self).__init__(args, kwargs)
+        super(RequestNotFound, self).__init__(*args, **kwargs)
         self._message = "A request for this DID and RSE does not exist."
         self.error_code = 48
 
@@ -548,7 +548,7 @@ class RSEAccessDenied(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSEAccessDenied, self).__init__(args, kwargs)
+        super(RSEAccessDenied, self).__init__(*args, **kwargs)
         self._message = "Referenced RSE not reachable."
         self.error_code = 49
 
@@ -558,7 +558,7 @@ class RSEBlacklisted(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSEBlacklisted, self).__init__(args, kwargs)
+        super(RSEBlacklisted, self).__init__(*args, **kwargs)
         self._message = "RSE excluded due to write blacklisting."
         self.error_code = 50
 
@@ -568,7 +568,7 @@ class RSENotConnected(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSENotConnected, self).__init__(args, kwargs)
+        super(RSENotConnected, self).__init__(*args, **kwargs)
         self._message = "Connection to RSE not established."
         self.error_code = 51
 
@@ -578,7 +578,7 @@ class RSENotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSENotFound, self).__init__(args, kwargs)
+        super(RSENotFound, self).__init__(*args, **kwargs)
         self._message = "RSE does not exist."
         self.error_code = 52
 
@@ -588,7 +588,7 @@ class RSEProtocolNotSupported(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSEProtocolNotSupported, self).__init__(args, kwargs)
+        super(RSEProtocolNotSupported, self).__init__(*args, **kwargs)
         self._message = "RSE does not support requested protocol."
         self.error_code = 53
 
@@ -598,7 +598,7 @@ class RSEProtocolPriorityError(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSEProtocolPriorityError, self).__init__(args, kwargs)
+        super(RSEProtocolPriorityError, self).__init__(*args, **kwargs)
         self._message = "RSE does not support provided protocol priority for protocol."
         self.error_code = 54
 
@@ -608,7 +608,7 @@ class RSEProtocolDomainNotSupported(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSEProtocolDomainNotSupported, self).__init__(args, kwargs)
+        super(RSEProtocolDomainNotSupported, self).__init__(*args, **kwargs)
         self._message = "RSE does not support requested protocol scope."
         self.error_code = 55
 
@@ -618,7 +618,7 @@ class RSEOperationNotSupported(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSEOperationNotSupported, self).__init__(args, kwargs)
+        super(RSEOperationNotSupported, self).__init__(*args, **kwargs)
         self._message = "RSE does not support requested operation."
         self.error_code = 56
 
@@ -628,7 +628,7 @@ class RSEFileNameNotSupported(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSEFileNameNotSupported, self).__init__(args, kwargs)
+        super(RSEFileNameNotSupported, self).__init__(*args, **kwargs)
         self._message = "RSE does not support provided filename."
         self.error_code = 57
 
@@ -638,7 +638,7 @@ class RSEOverQuota(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RSEOverQuota, self).__init__(args, kwargs)
+        super(RSEOverQuota, self).__init__(*args, **kwargs)
         self._message = "Quota of Referenced RSE is exceeded."
         self.error_code = 58
 
@@ -648,7 +648,7 @@ class ResourceTemporaryUnavailable(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ResourceTemporaryUnavailable, self).__init__(args, kwargs)
+        super(ResourceTemporaryUnavailable, self).__init__(*args, **kwargs)
         self._message = "The resource is temporary not available."
         self.error_code = 59
 
@@ -658,7 +658,7 @@ class RuleNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RuleNotFound, self).__init__(args, kwargs)
+        super(RuleNotFound, self).__init__(*args, **kwargs)
         self._message = "No replication rule found."
         self.error_code = 60
 
@@ -668,7 +668,7 @@ class RuleReplaceFailed(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(RuleReplaceFailed, self).__init__(args, kwargs)
+        super(RuleReplaceFailed, self).__init__(*args, **kwargs)
         self._message = "The replace operation for the rule failed."
         self.error_code = 61
 
@@ -678,7 +678,7 @@ class ScratchDiskLifetimeConflict(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ScratchDiskLifetimeConflict, self).__init__(args, kwargs)
+        super(ScratchDiskLifetimeConflict, self).__init__(*args, **kwargs)
         self._message = "The requested replication rule exceeds the maximum SCRATCHDISK lifetime of 15 days."
         self.error_code = 62
 
@@ -688,7 +688,7 @@ class ServiceUnavailable(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ServiceUnavailable, self).__init__(args, kwargs)
+        super(ServiceUnavailable, self).__init__(*args, **kwargs)
         self._message = "The requested service is not available at the moment."
         self.error_code = 63
 
@@ -698,7 +698,7 @@ class ScopeAccessDenied(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ScopeAccessDenied, self).__init__(args, kwargs)
+        super(ScopeAccessDenied, self).__init__(*args, **kwargs)
         self._message = "Access to Referenced scope denied."
         self.error_code = 64
 
@@ -708,7 +708,7 @@ class ScopeNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(ScopeNotFound, self).__init__(args, kwargs)
+        super(ScopeNotFound, self).__init__(*args, **kwargs)
         self._message = "Scope does not exist."
         self.error_code = 65
 
@@ -718,7 +718,7 @@ class SourceAccessDenied(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(SourceAccessDenied, self).__init__(args, kwargs)
+        super(SourceAccessDenied, self).__init__(*args, **kwargs)
         self._message = "Access to local source file denied."
         self.error_code = 66
 
@@ -728,7 +728,7 @@ class SourceNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(SourceNotFound, self).__init__(args, kwargs)
+        super(SourceNotFound, self).__init__(*args, **kwargs)
         self._message = "Source file not found."
         self.error_code = 67
 
@@ -738,7 +738,7 @@ class StagingAreaRuleRequiresLifetime(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(StagingAreaRuleRequiresLifetime, self).__init__(args, kwargs)
+        super(StagingAreaRuleRequiresLifetime, self).__init__(*args, **kwargs)
         self._message = "A rule involving a staging area requires a lifetime!"
         self.error_code = 68
 
@@ -748,7 +748,7 @@ class SubscriptionDuplicate(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(SubscriptionDuplicate, self).__init__(args, kwargs)
+        super(SubscriptionDuplicate, self).__init__(*args, **kwargs)
         self._message = "A subscription with the same identifier already exists."
         self.error_code = 69
 
@@ -758,7 +758,7 @@ class SubscriptionNotFound(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(SubscriptionNotFound, self).__init__(args, kwargs)
+        super(SubscriptionNotFound, self).__init__(*args, **kwargs)
         self._message = "Subscription not found."
         self.error_code = 70
 
@@ -768,7 +768,7 @@ class UnsupportedDIDType(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(UnsupportedDIDType, self).__init__(args, kwargs)
+        super(UnsupportedDIDType, self).__init__(*args, **kwargs)
         self._message = "Unsupported DID type for this operation. Only DATASET or FILE is allowed."
         self.error_code = 71
 
@@ -778,7 +778,7 @@ class UnsupportedOperation(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(UnsupportedOperation, self).__init__(args, kwargs)
+        super(UnsupportedOperation, self).__init__(*args, **kwargs)
         self._message = "The resource doesn't support the requested operation."
         self.error_code = 72
 
@@ -788,7 +788,7 @@ class UnsupportedStatus(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(UnsupportedStatus, self).__init__(args, kwargs)
+        super(UnsupportedStatus, self).__init__(*args, **kwargs)
         self._message = "Unsupported data identifier status."
         self.error_code = 73
 
@@ -798,6 +798,6 @@ class UnsupportedValueType(RucioException):
     RucioException
     """
     def __init__(self, *args, **kwargs):
-        super(UnsupportedValueType, self).__init__(args, kwargs)
+        super(UnsupportedValueType, self).__init__(*args, **kwargs)
         self._message = "Unsupported type for the value. List of supported types: %s." % str(AUTHORIZED_VALUE_TYPES)
         self.error_code = 74


Test patch: