diff --git a/setup.sh b/setup.sh index 48ab538bf..00221654d 100755 --- a/setup.sh +++ b/setup.sh @@ -86,31 +86,31 @@ prependPathIfDirExists $LOGR_SUPPORT_DIR/java/$LOGR_HOST_ARCH/bin prependPathIfDirExists $LOGR_SUPPORT_DIR/ant/bin prependPathIfDirExists $LOGR_SUPPORT_DIR/netbeans/currentNetbeans/bin prependPathIfDirExists $LOGR_ROOT_DIR/bin -prependPathIfDirExists $LOGR_SUPPORT_DIR/anaconda/$LOGR_HOST_ARCH/bin +#prependPathIfDirExists $LOGR_SUPPORT_DIR/anaconda/$LOGR_HOST_ARCH/bin prependPathIfDirExists $LOGR_SUPPORT_DIR/netbeans/currentNetbeans/java/maven/bin prependPathIfDirExists $LOGR_ROOT_DIR/tools/developer_tools/portal_testing/PythonSeleniumTest/support_bin -mysqlPath=$LOGR_SUPPORT_DIR/mysql/$LOGR_HOST_ARCH -if [ -d $mysqlPath ]; then - cd $mysqlPath - pythonDir=`pwd` - export PATH=`pwd`/bin:$PATH - export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH -fi +#mysqlPath=$LOGR_SUPPORT_DIR/mysql/$LOGR_HOST_ARCH +#if [ -d $mysqlPath ]; then +# cd $mysqlPath +# pythonDir=`pwd` +# export PATH=`pwd`/bin:$PATH +# export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH +#fi # Check if we have local python -if [ -z $LOGR_PYTHON_DIR ]; then - pythonDir=$LOGR_SUPPORT_DIR/python/$LOGR_HOST_ARCH -else - pythonDir=$LOGR_PYTHON_DIR -fi -if [ -d $pythonDir ]; then - cd $pythonDir - pythonDir=`pwd` - export PATH=`pwd`/bin:$PATH - export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH - export LOGR_PYTHON_DIR=$pythonDir -fi +#if [ -z $LOGR_PYTHON_DIR ]; then +# pythonDir=$LOGR_SUPPORT_DIR/python/$LOGR_HOST_ARCH +#else +# pythonDir=$LOGR_PYTHON_DIR +#fi +#if [ -d $pythonDir ]; then +# cd $pythonDir +# pythonDir=`pwd` +# export PATH=`pwd`/bin:$PATH +# export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH +# export LOGR_PYTHON_DIR=$pythonDir +#fi if [ -z $PYTHONPATH ]; then PYTHONPATH=$LOGR_ROOT_DIR/src/python diff --git a/src/java/LogrPortal/src/java/gov/anl/aps/logr/common/utilities/CryptUtility.java b/src/java/LogrPortal/src/java/gov/anl/aps/logr/common/utilities/CryptUtility.java index f186ac5e6..de9538eef 100644 --- a/src/java/LogrPortal/src/java/gov/anl/aps/logr/common/utilities/CryptUtility.java +++ b/src/java/LogrPortal/src/java/gov/anl/aps/logr/common/utilities/CryptUtility.java @@ -3,7 +3,6 @@ * See LICENSE file. */ package gov.anl.aps.logr.common.utilities; - import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.spec.InvalidKeySpecException; @@ -13,16 +12,17 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.util.Base64; +import java.util.Arrays; /** * Utility class for encrypting and verifying passwords. */ -public class CryptUtility { +public class CryptUtility{ - private static final String SecretKeyFactoryType = "PBKDF2WithHmacSHA1"; - private static final int Pbkdf2Iterations = 1003; - private static final int Pbkdf2KeyLengthInBits = 192; - private static final int SaltLengthInBytes = 4; + private static final String SecretKeyFactoryType = "PBKDF2WithHmacSHA512"; + private static final int Pbkdf2Iterations = 25000; + private static final int Pbkdf2KeyLengthInBits = 512; + private static final int SaltLengthInBytes = 16; private static final char[] SaltCharset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".toCharArray(); private static final String SaltDelimiter = "$"; @@ -88,7 +88,39 @@ public static String saltAndCryptPasswordWithPbkdf2(String password, String salt key = SecretKeyFactory.getInstance(SecretKeyFactoryType); byte[] hashedPassword = key.generateSecret(spec).getEncoded(); String encodedPassword = Base64.getEncoder().encodeToString(hashedPassword); - return salt + SaltDelimiter + encodedPassword; + String encodedSalt = Base64.getEncoder().encodeToString(saltBytes); + return SaltDelimiter+"pbkdf2-sha512"+SaltDelimiter+"25000"+SaltDelimiter+encodedSalt + SaltDelimiter + encodedPassword; + } catch (NoSuchAlgorithmException | InvalidKeySpecException ex) { + // Should not happen + logger.error("Password cannot be crypted: " + ex); + } + return null; + } + + /** + * Apply salt string and encrypt password using PBKDF2 standard. + * + * @param password input password + * @param salt salt string + * @return encrypted password + */ + public static String OnlyCryptPasswordWithPbkdf2(String password, String salt) { + char[] passwordChars = password.toCharArray(); + byte[] saltBytes = (Base64.getDecoder().decode(salt)); +// byte[] saltBytes = salt.getBytes(); +// logger.error("calling OnlyCryp...: " + password + "."+salt); + PBEKeySpec spec = new PBEKeySpec( + passwordChars, + saltBytes, + Pbkdf2Iterations, + Pbkdf2KeyLengthInBits + ); + SecretKeyFactory key; + try { + key = SecretKeyFactory.getInstance(SecretKeyFactoryType); + byte[] hashedPassword = key.generateSecret(spec).getEncoded(); + String encodedPassword = Base64.getEncoder().encodeToString(hashedPassword); + return encodedPassword; } catch (NoSuchAlgorithmException | InvalidKeySpecException ex) { // Should not happen logger.error("Password cannot be crypted: " + ex); @@ -96,6 +128,35 @@ public static String saltAndCryptPasswordWithPbkdf2(String password, String salt return null; } + public static String OnlyCryptPasswordWithSHA1(String password, String salt) { + char[] passwordChars = password.toCharArray(); + byte[] saltBytes = salt.getBytes(); + String SecretKeyFactoryType1 = "PBKDF2WithHmacSHA1"; + int Pbkdf2Iterations1 = 1003; + int Pbkdf2KeyLengthInBits1 = 192; + int SaltLengthInBytes1 = 4; +// logger.error("calling OnlyCryp..SHA1.: " + password + "."+salt); + + PBEKeySpec spec = new PBEKeySpec( + passwordChars, + saltBytes, + Pbkdf2Iterations1, + Pbkdf2KeyLengthInBits1 + ); + SecretKeyFactory key; + try { + key = SecretKeyFactory.getInstance(SecretKeyFactoryType1); + byte[] hashedPassword = key.generateSecret(spec).getEncoded(); + String encodedPassword = Base64.getEncoder().encodeToString(hashedPassword); + return encodedPassword; + } catch (NoSuchAlgorithmException | InvalidKeySpecException ex) { + // Should not happen + logger.error("Password cannot be crypted: " + ex); + } + return null; + } + + /** * Verify encrypted password. * @@ -104,9 +165,33 @@ public static String saltAndCryptPasswordWithPbkdf2(String password, String salt * @return true if passwords match, false otherwise */ public static boolean verifyPasswordWithPbkdf2(String password, String cryptedPassword) { - int saltEnd = cryptedPassword.indexOf(SaltDelimiter); - String salt = cryptedPassword.substring(0, saltEnd); - return cryptedPassword.equals(saltAndCryptPasswordWithPbkdf2(password, salt)); + int saltBegin, saltEnd,i; +// added to make it compatible with old stored password + saltBegin=cryptedPassword.indexOf(SaltDelimiter); + String salt, pw, epw; +// logger.error("calling verify..:"+saltBegin ); + if( saltBegin!=0 ) //Old password + { + salt=cryptedPassword.substring(0,saltBegin); + pw=cryptedPassword.substring(saltBegin+1); + epw=OnlyCryptPasswordWithSHA1(password,salt); +// logger.error("salt1:"+salt + " hash$" + pw + "new: " + epw ); + } +// + else { + saltBegin=1; + for (i=0;i<2;i++) + saltBegin = cryptedPassword.indexOf(SaltDelimiter,saltBegin) + 1; + saltEnd = cryptedPassword.indexOf(SaltDelimiter,saltBegin); + +// logger.error("password:"+cryptedPassword + " begin/end:" + saltBegin + "/ " +saltEnd); + salt = cryptedPassword.substring(saltBegin, saltEnd); + pw=cryptedPassword.substring(saltEnd+1); +// logger.error("saltend:"+,saltEnd+ "T",saltBegin + pw) + epw=OnlyCryptPasswordWithPbkdf2(password, salt); +// logger.error("salt2:"+salt + " hash$" + pw + "new: " + epw ); + } + return pw.equals(epw); } /* @@ -115,10 +200,11 @@ public static boolean verifyPasswordWithPbkdf2(String password, String cryptedPa * @param args main arguments */ public static void main(String[] args) { - String password = "cdb"; + String password = args[0]; System.out.println("Original password: " + password); String cryptedPassword = cryptPasswordWithPbkdf2(password); System.out.println("Crypted password: " + cryptedPassword); System.out.println("Verified: " + verifyPasswordWithPbkdf2(password, cryptedPassword)); + } } diff --git a/src/python/cdb/__init__.py b/src/python/cdb/__init__.py index 88cfba11a..540a02f5c 100644 --- a/src/python/cdb/__init__.py +++ b/src/python/cdb/__init__.py @@ -1 +1 @@ -__version__ = "3.5.0.DEV (2018.07.16)" +__version__ = "4.0.0.DEV (2026.08.19)" diff --git a/src/python/cdb/cdb_web_service/api/fileSystemRestApi.py b/src/python/cdb/cdb_web_service/api/fileSystemRestApi.py index 89a3a4411..4146c6847 100755 --- a/src/python/cdb/cdb_web_service/api/fileSystemRestApi.py +++ b/src/python/cdb/cdb_web_service/api/fileSystemRestApi.py @@ -26,9 +26,9 @@ def getDirectoryList(self, path): url = '%s/directories/%s?parentDirectory=%s' % (self.getContextRoot(), directoryName, parentDirectory) responseDict = self.sendRequest(url=url, method='GET') return responseDict - except CdbException, ex: + except CdbException as ex: raise - except Exception, ex: + except Exception as ex: self.getLogger().exception('%s' % ex) raise CdbException(exception=ex) @@ -40,9 +40,9 @@ def writeFile(self, path, content): url = '%s/files/%s?parentDirectory=%s&encodedFileContent=%s' % (self.getContextRoot(), fileName, parentDirectory, encodedFileContent) responseDict = self.sendSessionRequest(url=url, method='POST') return responseDict - except CdbException, ex: + except CdbException as ex: raise - except Exception, ex: + except Exception as ex: self.getLogger().exception('%s' % ex) raise CdbException(exception=ex) @@ -52,8 +52,8 @@ def writeFile(self, path, content): if __name__ == '__main__': #api = FileSystemRestApi('sveseli', 'sveseli', 'zagreb.svdev.net', 10232, 'https') api = FileSystemRestApi('sveseli', 'sveseli', 'zagreb.svdev.net', 10232, 'http') - print api.getDirectoryList('/home/sveseli') - print api.writeFile('/tmp/xyz', 'Hi there, qweqweqsad \dsdd') + print( api.getDirectoryList('/home/sveseli')) + print( api.writeFile('/tmp/xyz', 'Hi there, qweqweqsad \dsdd')) diff --git a/src/python/cdb/cdb_web_service/api/userRestApi.py b/src/python/cdb/cdb_web_service/api/userRestApi.py index 0887161c6..25acd919a 100755 --- a/src/python/cdb/cdb_web_service/api/userRestApi.py +++ b/src/python/cdb/cdb_web_service/api/userRestApi.py @@ -66,7 +66,7 @@ def getUserGroupByName(self, groupName): api = UserRestApi('sveseli', 'sveseli', 'zagreb.svdev.net', 10232, 'http') userGroups = api.getUserGroups() for userGroup in userGroups: - print userGroup.getDisplayString() + print( userGroup.getDisplayString()) diff --git a/src/python/cdb/cdb_web_service/cli/addItemLogEntryCli.py b/src/python/cdb/cdb_web_service/cli/addItemLogEntryCli.py index 750c68f17..9cd01fbfe 100755 --- a/src/python/cdb/cdb_web_service/cli/addItemLogEntryCli.py +++ b/src/python/cdb/cdb_web_service/cli/addItemLogEntryCli.py @@ -50,7 +50,7 @@ def runCommand(self): else: log = api.addLogEntryToItemWithQrId(self.getQrId(), self.getLogEntry(), self.getAttachment()) - print log.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( log.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/cli/addItemPropertyValueCli.py b/src/python/cdb/cdb_web_service/cli/addItemPropertyValueCli.py index c35532319..2ebd2c1a5 100755 --- a/src/python/cdb/cdb_web_service/cli/addItemPropertyValueCli.py +++ b/src/python/cdb/cdb_web_service/cli/addItemPropertyValueCli.py @@ -47,7 +47,7 @@ def runCommand(self): propertyValue = api.addPropertyValueToItemWithId(self.getItemId(), self.getPropertyTypeName(), value=self.getValue(), displayValue=self.getDisplayValue()) - print propertyValue.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( propertyValue.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/cli/addLogAttachmentCli.py b/src/python/cdb/cdb_web_service/cli/addLogAttachmentCli.py index 218982f71..7100f3374 100755 --- a/src/python/cdb/cdb_web_service/cli/addLogAttachmentCli.py +++ b/src/python/cdb/cdb_web_service/cli/addLogAttachmentCli.py @@ -45,7 +45,7 @@ def runCommand(self): logAttachment = api.addLogAttachment(self.getLogId(), self.getAttachment(), self.getAttachmentDescription()) - print logAttachment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( logAttachment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/cli/addPropertyMetadataToPropertyValueCli.py b/src/python/cdb/cdb_web_service/cli/addPropertyMetadataToPropertyValueCli.py index 407a75040..3004f4192 100755 --- a/src/python/cdb/cdb_web_service/cli/addPropertyMetadataToPropertyValueCli.py +++ b/src/python/cdb/cdb_web_service/cli/addPropertyMetadataToPropertyValueCli.py @@ -55,9 +55,9 @@ def runCommand(self): if isinstance(propertyMetadata, list): for metadata in propertyMetadata: - print metadata.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( metadata.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) else: - print propertyMetadata.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( propertyMetadata.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/cli/deleteLogCli.py b/src/python/cdb/cdb_web_service/cli/deleteLogCli.py index e23dd15ed..d6634aaa0 100755 --- a/src/python/cdb/cdb_web_service/cli/deleteLogCli.py +++ b/src/python/cdb/cdb_web_service/cli/deleteLogCli.py @@ -33,7 +33,7 @@ def runCommand(self): cdbObject = api.deleteLogEntry(self.getLogId()) - print cdbObject.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( cdbObject.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/cli/getDirectoryListCli.py b/src/python/cdb/cdb_web_service/cli/getDirectoryListCli.py index 3d5030168..7bb72e8a6 100755 --- a/src/python/cdb/cdb_web_service/cli/getDirectoryListCli.py +++ b/src/python/cdb/cdb_web_service/cli/getDirectoryListCli.py @@ -31,7 +31,7 @@ def runCommand(self): """) self.checkPath() api = FileSystemRestApi(self.getUsername(), self.getPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) - print api.getDirectoryList(self.getPath()) + print( api.getDirectoryList(self.getPath())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/cli/getItemLogsCli.py b/src/python/cdb/cdb_web_service/cli/getItemLogsCli.py index fa592ec96..9fdf1d8ba 100755 --- a/src/python/cdb/cdb_web_service/cli/getItemLogsCli.py +++ b/src/python/cdb/cdb_web_service/cli/getItemLogsCli.py @@ -32,7 +32,7 @@ def runCommand(self): logs = api.getLogEntriesForItemWithQrId(self.getQrId()) for log in logs: - print log.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( log.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/cli/getUserCli.py b/src/python/cdb/cdb_web_service/cli/getUserCli.py index ed2ea19e5..698fab178 100755 --- a/src/python/cdb/cdb_web_service/cli/getUserCli.py +++ b/src/python/cdb/cdb_web_service/cli/getUserCli.py @@ -39,7 +39,7 @@ def runCommand(self): userInfo = api.getUserById(self.getId()) else: userInfo = api.getUserByUsername(self.getUsername()) - print userInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( userInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/cli/getUserGroupsCli.py b/src/python/cdb/cdb_web_service/cli/getUserGroupsCli.py index 1f9436792..8db78f0d2 100755 --- a/src/python/cdb/cdb_web_service/cli/getUserGroupsCli.py +++ b/src/python/cdb/cdb_web_service/cli/getUserGroupsCli.py @@ -23,7 +23,7 @@ def runCommand(self): api = UserRestApi(self.getUsername(), self.getPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) userGroups = api.getUserGroups() for userGroup in userGroups: - print userGroup.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( userGroup.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### diff --git a/src/python/cdb/cdb_web_service/cli/getUsersCli.py b/src/python/cdb/cdb_web_service/cli/getUsersCli.py index a63407e20..ca4c2a174 100755 --- a/src/python/cdb/cdb_web_service/cli/getUsersCli.py +++ b/src/python/cdb/cdb_web_service/cli/getUsersCli.py @@ -23,7 +23,7 @@ def runCommand(self): api = UserRestApi(self.getUsername(), self.getPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) users = api.getUsers() for user in users: - print user.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( user.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### diff --git a/src/python/cdb/cdb_web_service/cli/loadLatticeDesignCli.py b/src/python/cdb/cdb_web_service/cli/loadLatticeDesignCli.py index b863b54a9..46723221d 100755 --- a/src/python/cdb/cdb_web_service/cli/loadLatticeDesignCli.py +++ b/src/python/cdb/cdb_web_service/cli/loadLatticeDesignCli.py @@ -61,7 +61,7 @@ def runCommand(self): api = DesignRestApi(self.getUsername(), self.getPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) designElementList = self.loadLatticeCsvFile(self.getCsvFile()) design = api.loadDesign(self.getName(), self.getOwnerUserId(), self.getOwnerGroupId(), self.getIsGroupWriteable(), self.getDescription(), designElementList) - print design.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( design.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) # Utility methojd to load csv file and prepare list of design # element dictionaries. diff --git a/src/python/cdb/cdb_web_service/cli/updateLogCli.py b/src/python/cdb/cdb_web_service/cli/updateLogCli.py index a20c0a67f..8793bdea8 100755 --- a/src/python/cdb/cdb_web_service/cli/updateLogCli.py +++ b/src/python/cdb/cdb_web_service/cli/updateLogCli.py @@ -53,7 +53,7 @@ def runCommand(self): log = api.updateLogEntry(self.getLogId(), self.getLogText(), self.getEffectiveFromDate(), self.getEffectiveToDate(), self.getLogTopicName()) - print log.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( log.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/cli/writeFileCli.py b/src/python/cdb/cdb_web_service/cli/writeFileCli.py index 8f09fa1bb..acfeb98d8 100755 --- a/src/python/cdb/cdb_web_service/cli/writeFileCli.py +++ b/src/python/cdb/cdb_web_service/cli/writeFileCli.py @@ -37,7 +37,7 @@ def runCommand(self): """) self.checkPath() api = FileSystemRestApi(self.getUsername(), self.getPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) - print api.writeFile(self.getPath(), self.getContent()) + print( api.writeFile(self.getPath(), self.getContent())) ####################################################################### # Run command. diff --git a/src/python/cdb/cdb_web_service/java_api/itemRestApi.py b/src/python/cdb/cdb_web_service/java_api/itemRestApi.py index d8f095a9f..66d288787 100644 --- a/src/python/cdb/cdb_web_service/java_api/itemRestApi.py +++ b/src/python/cdb/cdb_web_service/java_api/itemRestApi.py @@ -29,13 +29,13 @@ def getItemByQrId(self, itemQrId): if __name__ == "__main__": itemApi = ItemRestApi(username='cdb', password='cdb', host='localhost', port=8080, protocol='http') - print itemApi.getItemById(500)['name'] - print itemApi.getItemById(1233)['name'] - print itemApi.getItemById(51)['name'] - print itemApi.getItemById(5)['name'] - print itemApi.getItemById(3000)['name'] + print( itemApi.getItemById(500)['name']) + print( itemApi.getItemById(1233)['name']) + print( itemApi.getItemById(51)['name']) + print( itemApi.getItemById(5)['name']) + print( itemApi.getItemById(3000)['name']) - print itemApi.getItemByQrId(240)['name'] + print( itemApi.getItemByQrId(240)['name']) """ diff --git a/src/python/cdb/cdb_web_service/service/cdbPluginRouteMapper.py b/src/python/cdb/cdb_web_service/service/cdbPluginRouteMapper.py index 254850d62..3c028c3b9 100644 --- a/src/python/cdb/cdb_web_service/service/cdbPluginRouteMapper.py +++ b/src/python/cdb/cdb_web_service/service/cdbPluginRouteMapper.py @@ -72,5 +72,5 @@ def __get_plugins_dir(cls): if __name__ == '__main__': - print CdbPluginRouteMapper.getPluginRoutes() + print( CdbPluginRouteMapper.getPluginRoutes()) diff --git a/src/python/cdb/common/api/cdbApi.py b/src/python/cdb/common/api/cdbApi.py index 0716ee454..33370a63e 100755 --- a/src/python/cdb/common/api/cdbApi.py +++ b/src/python/cdb/common/api/cdbApi.py @@ -34,9 +34,9 @@ def decorate(*args, **kwargs): try: response = func(*args, **kwargs) return response - except CdbException, ex: + except CdbException as ex: raise - except Exception, ex: + except Exception as ex: cls.getLogger().exception('%s' % ex) raise CdbException(exception=ex) return decorate diff --git a/src/python/cdb/common/api/cdbRestApi.py b/src/python/cdb/common/api/cdbRestApi.py index 58d70ff1d..b0986e367 100755 --- a/src/python/cdb/common/api/cdbRestApi.py +++ b/src/python/cdb/common/api/cdbRestApi.py @@ -180,13 +180,13 @@ def _appendUrlParameter(self, url, paramName, paramValue): cm.setSessionCacheFile('/tmp/session') #print 'Non-session request' #print api.sendRequest('https://zagreb.svdev.net:10232/cdb/directory/list?path=/tmp', 'GET') - print 'Session request' + print( 'Session request') data = { 'path' : '/tmp/xyz' } #print api.sendSessionRequest('https://zagreb.svdev.net:10232/cdb/file/write?path=/tmp/xyz&content=xyz', 'POST', contentType='application/x-www-form-urlencoded', data=urllib.urlencode(data)) #print api.sendSessionRequest('https://zagreb.svdev.net:10232/cdb/file/write', 'POST', data=data) postdata='path=/tmp/xyz' postdata+='&content=%s' % urllib.quote_plus('Hey there') - print api.sendSessionRequest('https://zagreb.svdev.net:10232/cdb/file/write', 'POST', contentType='application/x-www-form-urlencoded', data=postdata) + print( api.sendSessionRequest('https://zagreb.svdev.net:10232/cdb/file/write', 'POST', contentType='application/x-www-form-urlencoded', data=postdata)) diff --git a/src/python/cdb/common/cli/cdbCli.py b/src/python/cdb/common/cli/cdbCli.py index f588a4c8e..82f81a109 100755 --- a/src/python/cdb/common/cli/cdbCli.py +++ b/src/python/cdb/common/cli/cdbCli.py @@ -98,7 +98,7 @@ def parseArgs(self, usage=None): try: (self.options, self.args) = self.parser.parse_args() self.processArgs() - except SystemExit, rc: + except SystemExit as rc: sys.stdout.flush() sys.stderr.flush() sys.exit(int(str(rc))) @@ -113,7 +113,7 @@ def parseArgs(self, usage=None): optDict = self.options.__dict__ if optDict.get('version'): - print 'CDB Software Version: %s' % (cdb.__version__) + print( 'CDB Software Version: %s' % (cdb.__version__)) sys.exit(0) # Logging level. First try from command line, then from env variable. @@ -130,7 +130,7 @@ def parseArgs(self, usage=None): configManager = ConfigurationManager.getInstance() try: self.checkSessionCache() - except Exception, ex: + except Exception as ex: self.logger.warn('Disabling session cache: %s' % ex) configManager.setSessionCacheFile(None) @@ -151,7 +151,8 @@ def checkSessionCache(self): def usage(self, s=None): """ Print help provided by optparse. """ if s: - print >>sys.stderr, 'Error: ', s, '\n' +# print >>sys.stderr, 'Error: ', s, '\n' + print('Error: ', s, '\n', file=sys.stderr) self.parser.print_help() sys.exit(cdbStatus.CDB_ERROR) @@ -218,15 +219,15 @@ def run(self): """ This method invokes runCommand() and handles any exceptions. """ try: self.runCommand() - except CdbException, ex: + except CdbException as ex: self.logger.exception('%s' % ex) - print '%s' % ex.getErrorMessage() + print( '%s' % ex.getErrorMessage()) raise SystemExit(ex.getErrorCode()) - except SystemExit, ex: + except SystemExit as ex: raise - except Exception, ex: + except Exception as ex: self.logger.exception('%s' % ex) - print >>sys.stderr, '%s' % ex + print('%s' % ex, file=sys.stderr) raise SystemExit(cdbStatus.CDB_ERROR) def getId(self): @@ -253,32 +254,32 @@ def displayCdbObject(self, cdbObject): cli.addOption("-f", "--file", dest="filename", help="write report to FILE", metavar="FILE") cli.addOption("-q", "--quiet", action="store_false", dest="verbose", default=True, help="don't print log messages to stdout") (options, args) = cli.parseArgs() - print 'After parse:' - print 'OPTIONS: ', options - print 'ARGS: ', args - print 'From CLI' - print 'OPTIONS: ', cli.getOptions() - print 'ARGS: ', cli.getArgs() - print - print 'FILENAME' - print 'options.filename', options.filename - print 'cli.getOptions().filename', cli.getOptions().filename + print( 'After parse:') + print( 'OPTIONS: ', options) + print( 'ARGS: ', args) + print( 'From CLI') + print( 'OPTIONS: ', cli.getOptions()) + print( 'ARGS: ', cli.getArgs()) + print() + print( 'FILENAME') + print( 'options.filename', options.filename) + print( 'cli.getOptions().filename', cli.getOptions().filename) o = cli.getOptions() - print 'o.filename', o.filename - print 'cli.getArgs()', cli.getArgs() - print 'len(cli.getArgs())', len(cli.getArgs()) + print( 'o.filename', o.filename) + print( 'cli.getArgs()', cli.getArgs()) + print( 'len(cli.getArgs())', len(cli.getArgs())) for a in cli.getArgs(): - print 'arg', a + print( 'arg', a) first_arg = cli.getArg(0) - print 'first_arg', first_arg + print( 'first_arg', first_arg) second_arg = cli.getArg(1) - print 'second_arg', second_arg + print( 'second_arg', second_arg) try: third_arg = cli.getArg(2) - print 'third_arg', third_arg + print( 'third_arg', third_arg) except: - print 'no third arg' + print( 'no third arg') diff --git a/src/python/cdb/common/cli/cdbOptionParser.py b/src/python/cdb/common/cli/cdbOptionParser.py index dbbc0fdef..2d9ebc2f7 100755 --- a/src/python/cdb/common/cli/cdbOptionParser.py +++ b/src/python/cdb/common/cli/cdbOptionParser.py @@ -34,7 +34,7 @@ def print_usage(self, file=None): sys.stdout = cliStdout OptionParser.print_usage(self, file) sys.stdout = sysStdout - print self.replaceKeys(cliStdout.getvalue()) + print( self.replaceKeys(cliStdout.getvalue())) def printHelp(self, file=None): self.printHelp(file) @@ -46,7 +46,7 @@ def print_help(self, file=None): sys.stdout = cliStdout OptionParser.print_help(self, file) sys.stdout = sysStdout - print self.replaceKeys(cliStdout.getvalue()) + print( self.replaceKeys(cliStdout.getvalue())) ####################################################################### # Testing diff --git a/src/python/cdb/common/client/cdbHttpsHandler.py b/src/python/cdb/common/client/cdbHttpsHandler.py index 37cb88fbb..e6ca7fb1e 100755 --- a/src/python/cdb/common/client/cdbHttpsHandler.py +++ b/src/python/cdb/common/client/cdbHttpsHandler.py @@ -23,16 +23,16 @@ def https_open(self, req): cm = ConfigurationManager.getInstance() cm.setSslCaCertFile("/home/sveseli/Work/CDB/etc/ssl/cacert.pem") - print "Installing opener" + print( "Installing opener") opener = urllib2.build_opener(CdbHttpsHandler) urllib2.install_opener(opener) url = "https://zagreb.svdev.net:10232/cdb/directory/list?path=/tmp" - print "Opening URL: ", url + print( "Opening URL: ", url) #context = ssl.create_default_context(cafile="/home/sveseli/Work/CDB/etc/ssl/cacert.pem") #ssl._create_default_https_context = ssl._create_unverified_context #f = urllib2.urlopen(url, context=context) f = urllib2.urlopen(url) - print f.code - print f.read() + print( f.code) + print( f.read()) diff --git a/src/python/cdb/common/client/sessionManager.py b/src/python/cdb/common/client/sessionManager.py index 72be6988f..f5d723231 100755 --- a/src/python/cdb/common/client/sessionManager.py +++ b/src/python/cdb/common/client/sessionManager.py @@ -66,7 +66,7 @@ def establishSession(self, url, username, password, selector='/cdb/login'): data = { 'username' : self.getUsername(username), 'password' : self.getPassword(password) } self.logger.debug('Establishing session for user %s @ %s)' % (username, url)) (response,responseData) = self.sendRequest(url='%s%s' % (url, selector), method='POST', contentType='application/x-www-form-urlencoded', data=urllib.urlencode(data)) - except urllib2.URLError, ex: + except urllib2.URLError as ex: self.logger.exception('%s' % ex) raise UrlError(exception=ex) @@ -106,7 +106,7 @@ def clearSessionFile(self): try: self.logger.debug('Clearing session cache: %s' % (self.sessionCacheFile)) OsUtility.removeFile(self.sessionCacheFile) - except Exception, ex: + except Exception as ex: # ignore errors. self.logger.warn('Could not clear session cache: %s' % (ex)) pass @@ -121,7 +121,7 @@ def saveSession(self, sessionCookie): f.write('%s' % sessionCookie) f.close() os.chmod(self.sessionCacheFile, stat.S_IRUSR|stat.S_IWUSR|stat.S_IXUSR) - except Exception, ex: + except Exception as ex: self.logger.warn('Could not save session: %s' % (ex)) def loadSession(self): @@ -138,7 +138,7 @@ def loadSession(self): else: self.logger.debug('Loaded session from %s: %s' % (self.sessionCacheFile, session)) return session - except Exception, ex: + except Exception as ex: self.logger.warn('Could not load session: %s' % (ex)) return None @@ -195,7 +195,7 @@ def sendRequest(self, url, method, contentType='html', data={}): self.checkResponseHeadersForErrors(ex.hdrs) self.logger.exception('%s' % ex) raise UrlError(exception=ex) - except urllib2.URLError, ex: + except urllib2.URLError as ex: self.logger.exception('%s' % ex) raise UrlError(exception=ex) @@ -212,7 +212,7 @@ def sendSessionRequest(self, url, method, contentType='html', data={}): self.establishSession(self.host, self.username, self.password) try: return self.sendRequest(url, method, contentType, data) - except InvalidSession, ex: + except InvalidSession as ex: self.clearSessionFile() self.establishSession(self.host, self.username, self.password) return self.sendRequest(url, method, contentType, data) @@ -223,14 +223,14 @@ def checkResponseHeadersForErrorsAndSaveSession(self, responseHeaders): sessionCookie = responseHeaders.get('Set-Cookie') self.saveSession(sessionCookie) return sessionCookie - except (AuthorizationError, InvalidSession), ex: + except (AuthorizationError, InvalidSession) as ex: self.clearSessionFile() raise def checkResponseHeadersForErrors(self, responseHeaders): try: CdbExceptionMapper.checkStatus(responseHeaders) - except AuthorizationError, ex: + except AuthorizationError as ex: self.clearSessionFile() raise diff --git a/src/python/cdb/common/db/api/cdbDbApi.py b/src/python/cdb/common/db/api/cdbDbApi.py index d6601164e..e5328e7c2 100755 --- a/src/python/cdb/common/db/api/cdbDbApi.py +++ b/src/python/cdb/common/db/api/cdbDbApi.py @@ -47,9 +47,9 @@ def query(*args, **kwargs): kwargs['session'] = session try: return func(*args, **kwargs) - except CdbException, ex: + except CdbException as ex: raise - except Exception, ex: + except Exception as ex: cls.getLogger().exception('%s' % ex) raise CdbException(exception=ex) finally: @@ -80,10 +80,10 @@ def transaction(*args, **kwargs): result = func(*args, **kwargs) session.commit() return result - except CdbException, ex: + except CdbException as ex: session.rollback() raise - except Exception, ex: + except Exception as ex: session.rollback() cls.getLogger().exception('%s' % ex) raise CdbException(exception=ex) @@ -114,9 +114,9 @@ def executeConnectionQuery(cls, query): connection = DbManager.getInstance().acquireConnection() try: return connection.execute(query) - except CdbException, ex: + except CdbException as ex: raise - except Exception, ex: + except Exception as ex: cls.getLogger().exception('%s' % ex) raise finally: @@ -139,7 +139,7 @@ def loadRelations(self, dbObject, optionDict): try: self.loadRelation(dbObject, k) - except InternalError, ex: + except InternalError as ex: self.logger.error(ex) def toCdbObjectList(self, dbEntityList): diff --git a/src/python/cdb/common/db/api/logDbApi.py b/src/python/cdb/common/db/api/logDbApi.py index 226f55548..9afcf086b 100755 --- a/src/python/cdb/common/db/api/logDbApi.py +++ b/src/python/cdb/common/db/api/logDbApi.py @@ -164,7 +164,7 @@ def deleteLogEntry(self, logId, userId, **kwargs): if __name__ == '__main__': api = LogDbApi() - print api.getLogAttachments() - print api.getLogs() + print( api.getLogAttachments()) + print( api.getLogs()) - print api.addLogAttachment(1, 'hello world', 'hi', 'desc') + print( api.addLogAttachment(1, 'hello world', 'hi', 'desc')) diff --git a/src/python/cdb/common/db/api/propertyDbApi.py b/src/python/cdb/common/db/api/propertyDbApi.py index c4d71c2d7..906eee9b4 100755 --- a/src/python/cdb/common/db/api/propertyDbApi.py +++ b/src/python/cdb/common/db/api/propertyDbApi.py @@ -286,7 +286,7 @@ def getPropertyValueListByPropertyTypeHandler(handlerName): imageAttachments = getPropertyValueListByPropertyTypeHandler('Image') documentAttachments = getPropertyValueListByPropertyTypeHandler('Document') - print imageAttachments - print documentAttachments + print( imageAttachments) + print( documentAttachments) diff --git a/src/python/cdb/common/db/api/userDbApi.py b/src/python/cdb/common/db/api/userDbApi.py index 91e29dbc6..0edf85820 100755 --- a/src/python/cdb/common/db/api/userDbApi.py +++ b/src/python/cdb/common/db/api/userDbApi.py @@ -139,19 +139,19 @@ def addGroup(self, name, description, **kwargs): if __name__ == '__main__': api = UserDbApi() user = api.getUserByUsername('sveseli') - print user + print( user) user = api.getUserWithPasswordByUsername('sveseli') - print user + print( user) users = api.getUsers() for user in users: - print user.getDictRep() - print user.__dict__ + print( user.getDictRep()) + print( user.__dict__) - print - print 'User Groups' - print '***********' + print() + print( 'User Groups') + print( '***********') userGroups = api.getUserGroups() for userGroup in userGroups: - print userGroup.getDictRep() + print( userGroup.getDictRep()) - print api.addUserToGroup('sv', 'CDB_ADMIN') + print( api.addUserToGroup('sv', 'CDB_ADMIN')) diff --git a/src/python/cdb/common/db/cli/addUserCli.py b/src/python/cdb/common/db/cli/addUserCli.py index f2d8c3a6e..2ca23ba3e 100755 --- a/src/python/cdb/common/db/cli/addUserCli.py +++ b/src/python/cdb/common/db/cli/addUserCli.py @@ -81,7 +81,7 @@ def runCommand(self): if password: cryptedPassword = CryptUtility.cryptPasswordWithPbkdf2(password) userInfo = api.addUser(username, firstName, lastName, middleName, email, description, cryptedPassword) - print userInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( userInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/common/db/cli/addUserToGroupCli.py b/src/python/cdb/common/db/cli/addUserToGroupCli.py index 09336c506..1b6285589 100755 --- a/src/python/cdb/common/db/cli/addUserToGroupCli.py +++ b/src/python/cdb/common/db/cli/addUserToGroupCli.py @@ -42,7 +42,7 @@ def runCommand(self): username = self.getUsername() groupName = self.getGroupName() userUserGroup = api.addUserToGroup(username, groupName) - print userUserGroup.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + print( userUserGroup.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())) ####################################################################### # Run command. diff --git a/src/python/cdb/common/db/impl/cdbDbEntityHandler.py b/src/python/cdb/common/db/impl/cdbDbEntityHandler.py index 4c8d4a67c..70c2d512d 100755 --- a/src/python/cdb/common/db/impl/cdbDbEntityHandler.py +++ b/src/python/cdb/common/db/impl/cdbDbEntityHandler.py @@ -43,7 +43,7 @@ def _findDbObjByName(self, session, entityDbObject, name): try: dbObj = session.query(entityDbObject).filter(entityDbObject.name==name).one() return dbObj - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No %s with name %s exist.' % (entityDisplayName, name)) def _findDbObjById(self, session, entityDbObject, id): @@ -51,7 +51,7 @@ def _findDbObjById(self, session, entityDbObject, id): try: dbObj = session.query(entityDbObject).filter(entityDbObject.id==id).one() return dbObj - except NoResultFound, ex: + except NoResultFound assssssssssss ex: raise ObjectNotFound('No %s with id %s exists.' % (entityDisplayName, id)) def _prepareAddUniqueNameObj(self, session, entityDbObject, name): @@ -60,7 +60,7 @@ def _prepareAddUniqueNameObj(self, session, entityDbObject, name): try: session.query(entityDbObject).filter(entityDbObject.name==name).one() raise ObjectAlreadyExists('%s %s already exists.' % (entityDisplayName, name)) - except NoResultFound, ex: + except NoResultFound as ex: # ok pass diff --git a/src/python/cdb/common/db/impl/dbManager.py b/src/python/cdb/common/db/impl/dbManager.py index 2b9f1dd92..d2a6b97de 100755 --- a/src/python/cdb/common/db/impl/dbManager.py +++ b/src/python/cdb/common/db/impl/dbManager.py @@ -41,7 +41,7 @@ def getInstance(cls): from cdb.common.db.impl.dbManager import DbManager try: mgr = DbManager() - except DbManager, ex: + except DbManager as ex: mgr = ex return mgr @@ -167,6 +167,6 @@ def releaseConnection(self, connection): ConfigurationManager.getInstance().setConsoleLogLevel('debug') mgr = DbManager.getInstance() mgr.acquireConnection() - print 'Got connection' + print( 'Got connection') diff --git a/src/python/cdb/common/db/impl/domainHandler.py b/src/python/cdb/common/db/impl/domainHandler.py index 5183a0b91..7f8f9507c 100755 --- a/src/python/cdb/common/db/impl/domainHandler.py +++ b/src/python/cdb/common/db/impl/domainHandler.py @@ -64,6 +64,6 @@ def getAllowedEntityTypeDomain(self, session, domain_id): query = session.query(AllowedEntityTypeDomain).filter(AllowedEntityTypeDomain.domain_id == domain_id) dbAllowedEntityTypeDomain = query.all() return dbAllowedEntityTypeDomain - except NoResultFound, ex: + except NoResultFound as ex: entityDisplayName = self._getEntityDisplayName() raise ObjectNotFound("No %s with domain id: %s was found." % (entityDisplayName, domain_id)) diff --git a/src/python/cdb/common/db/impl/itemHandler.py b/src/python/cdb/common/db/impl/itemHandler.py index f375bf025..e5bcdaa4a 100755 --- a/src/python/cdb/common/db/impl/itemHandler.py +++ b/src/python/cdb/common/db/impl/itemHandler.py @@ -80,7 +80,7 @@ def getItemByQrId(self, session, qrId): try: dbItem = session.query(Item).filter(Item.qr_id==qrId).one() return dbItem - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No %s with QR-Id: %s found.' % (entityDisplayName, qrId)) @@ -96,7 +96,7 @@ def getItemElementsByItemId(self, session, itemId): try: dbItemElements = session.query(ItemElement).filter(ItemElement.parent_item_id==itemId).all() return dbItemElements - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No %s with item id: %s found.' % (entityDisplayName, itemId)) @@ -110,7 +110,7 @@ def addItemCategory(self, session, itemCategoryName, description, domainName): try: self.getItemCategoryByName(session, itemCategoryName, dbDomain.id) raise ObjectAlreadyExists('%s %s for domain %s already exists.' % (entityDisplayName, itemCategoryName, dbDomain.name)) - except ObjectNotFound, ex: + except ObjectNotFound as ex: # ok pass @@ -145,7 +145,7 @@ def addItemType(self, session, itemTypeName, description, domainName): try: self.getItemTypeByName(session, itemTypeName, dbDomain.id) raise ObjectAlreadyExists('%s %s for domain %s already exists.' % (entityDisplayName, itemTypeName, dbDomain.name)) - except ObjectNotFound, ex: + except ObjectNotFound as ex: # ok pass @@ -169,7 +169,7 @@ def getItemCategoryByName(self, session, name, domainId): dbItem = session.query(ItemCategory).filter(ItemCategory.name==name)\ .filter(ItemCategory.domain_id == domainId).one() return dbItem - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No %s with name: %s, domain id: %s exists.' % (entityDisplayName, name, domainId)) @@ -183,7 +183,7 @@ def getItemTypeByName(self, session, name, domainId): dbItem = session.query(ItemType).filter(ItemType.name==name)\ .filter(ItemType.domain_id == domainId).one() return dbItem - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No %s with name: %s, domain id: %s exists.' % (entityDisplayName, name, domainId)) @@ -212,7 +212,7 @@ def getItemByUniqueAttributes(self, session, domainId, name, itemIdentifier1, it .filter(Item.item_identifier2==itemIdentifier2)\ .filter(Item.derived_from_item_id==derivedFromItemId).one() return dbItem - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No %s with name: %s, item identifier 1: %s, item identifier 2: %s in domain id %s exists.' % (entityDisplayName, name, itemIdentifier1, itemIdentifier1, domainId)) @@ -256,7 +256,7 @@ def addItem(self, session, domainName, name, createdByUserId, ownerUserId, owner try: session.add(dbItem) session.flush() - except OperationalError, err: + except OperationalError as err: raise DbError(err.message) # Add self element @@ -282,7 +282,7 @@ def getSelfElementByItemId(self, session, itemId): .filter(ItemElement.name==None)\ .filter(ItemElement.derived_from_item_element_id==None).one() return dbItemElement - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No self %s with item id %s exists.' % (entityDisplayName, itemId)) def getItemsOfDomain(self, session, domainName): @@ -294,7 +294,7 @@ def getItemsOfDomain(self, session, domainName): dbItems = query.all() return dbItems - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound("No %ss with domain %s found." % (entityDisplayName, domainName)) def getItemsOfDomainWithoutParents(self, session, domainName): @@ -307,7 +307,7 @@ def getItemsOfDomainWithoutParents(self, session, domainName): dbItems = query.all() return dbItems - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound("No %ss with domain %s found." % (entityDisplayName, domainName)) def getItemsDerivedFromItem(self, session, derivedItemId): @@ -319,7 +319,7 @@ def getItemsDerivedFromItem(self, session, derivedItemId): dbItems = query.all() return dbItems - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound("No %ss derived from item id %s found." % (entityDisplayName, derivedItemId)) @@ -347,7 +347,7 @@ def getItemsWithPropertyTypeName(self, session, propertyTypeName, itemDomainName dbItems = query.all() return dbItems - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound("No %ss with property type %s found." % (entityDisplayName, propertyTypeName)) @@ -416,7 +416,7 @@ def addItemElement(self, session, name, parentItemId, containedItemId, isRequire try: session.add(dbItemElement) session.flush() - except OperationalError, err: + except OperationalError as err: raise DbError(err.message) self.logger.debug('Inserted item Element id %s' % dbItemElement.id) @@ -451,7 +451,7 @@ def updateItemElement(self, session, itemElementId, lastModifiedUserId, containe try: session.add(dbItemElement) session.flush() - except OperationalError, err: + except OperationalError as err: raise DbError(err.message) self.logger.debug('Updated item Element id %s' % dbItemElement.id) diff --git a/src/python/cdb/common/db/impl/logHandler.py b/src/python/cdb/common/db/impl/logHandler.py index 5a6bcf80e..08ce69459 100755 --- a/src/python/cdb/common/db/impl/logHandler.py +++ b/src/python/cdb/common/db/impl/logHandler.py @@ -136,7 +136,7 @@ def getLogEntriesForItemElementId(self, session, itemElementId, logLevelName=Non dbLogs = query.all() return dbLogs - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No %s with item element id: %s found.' % (entityDisplayName, itemElementId)) diff --git a/src/python/cdb/common/db/impl/permissionHandler.py b/src/python/cdb/common/db/impl/permissionHandler.py index daaa634f8..dbb140c02 100644 --- a/src/python/cdb/common/db/impl/permissionHandler.py +++ b/src/python/cdb/common/db/impl/permissionHandler.py @@ -73,5 +73,5 @@ def __getItemElementPropertyFromPropertyValueId(self, session, propertyValueId): query = session.query(ItemElementProperty).filter(ItemElementProperty.property_value_id == propertyValueId) dbItemElementProperty = query.one() return dbItemElementProperty - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound("No %s for property value with id %s found." % (entityDisplayName, propertyValueId)) diff --git a/src/python/cdb/common/db/impl/propertyTypeHandler.py b/src/python/cdb/common/db/impl/propertyTypeHandler.py index 5a9ea2a7c..a96434620 100755 --- a/src/python/cdb/common/db/impl/propertyTypeHandler.py +++ b/src/python/cdb/common/db/impl/propertyTypeHandler.py @@ -32,7 +32,7 @@ def getPropertyTypesByHandlerId(self, session, propertyTypeHandlerId): try: dbPropertyTypes = session.query(PropertyType).filter(PropertyType.property_type_handler_id==propertyTypeHandlerId).all() return dbPropertyTypes - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound("Property types for handler id %s could not be found" % (propertyTypeHandlerId)) def getPropertyTypeById(self, session, id): diff --git a/src/python/cdb/common/db/impl/propertyValueHandler.py b/src/python/cdb/common/db/impl/propertyValueHandler.py index ab73b0bd2..9da7996da 100755 --- a/src/python/cdb/common/db/impl/propertyValueHandler.py +++ b/src/python/cdb/common/db/impl/propertyValueHandler.py @@ -41,14 +41,14 @@ def findPropertyValuesByPropertyTypeId(self, session, propertyTypeId): try: dbPropertyValueList = session.query(PropertyValue).filter(PropertyValue.property_type_id==propertyTypeId).all() return dbPropertyValueList - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('Property value(s) with property type id %s do(es) not exists' % (propertyTypeId)) def findPropertyValueById(self, session, id): try: dbPropertyValue = session.query(PropertyValue).filter(PropertyValue.id==id).one() return dbPropertyValue - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('Property value id %s does not exist.' % (id)) def getPropertyValueById(self, session, id): @@ -56,7 +56,7 @@ def getPropertyValueById(self, session, id): self.logger.debug('Retrieving property value id %s' % id) dbPropertyValue = self.findPropertyValueById(session, id) return dbPropertyValue - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('Property value id %s does not exist.' % (id)) def addPropertyValueHistory(self, session, propertyValueId, tag, value, units, description, enteredByUserId, enteredOnDateTime, displayValue, targetValue): @@ -101,7 +101,7 @@ def getPropertyValueMetadataByKey(self, session, propertyValueId, metadataKey): try: dbPropertyMetadata = query.one() return dbPropertyMetadata - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('Metadata for property value id %s with key %s do(es) not exists' % (propertyValueId, metadataKey)) def addPropertyValueMetadata(self, session, propertyValueId, metadataKey, metadataValue, userId): @@ -110,7 +110,7 @@ def addPropertyValueMetadata(self, session, propertyValueId, metadataKey, metada try: self.getPropertyValueMetadataByKey(session, propertyValueId, metadataKey) raise ObjectAlreadyExists ('%s with key %s for property id %s already exists.' % (entityDisplayName, metadataKey, propertyValueId)) - except ObjectNotFound, ex: + except ObjectNotFound as ex: # ok pass @@ -251,7 +251,7 @@ def getPropertyValueListForItemElementId(self, session, itemElementId, propertyT dbPropertyValues = query.all() return dbPropertyValues - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No %s for item with id %s found.' % (entityDisplayName, id)) def createUnverifiedPropertyValue(self, session, propertyTypeName, tag, value, units, description, enteredByUserId): diff --git a/src/python/cdb/common/db/impl/sourceHandler.py b/src/python/cdb/common/db/impl/sourceHandler.py index a3b1e8eaf..9f7f137ad 100755 --- a/src/python/cdb/common/db/impl/sourceHandler.py +++ b/src/python/cdb/common/db/impl/sourceHandler.py @@ -26,7 +26,7 @@ def findSourceByName(self, session, name): try: dbSource = session.query(Source).filter(Source.name==name).one() return dbSource - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('No Source with name %s exists.' % (name)) def getSources(self, session): @@ -39,7 +39,7 @@ def addSource(self, session, sourceName, description, contactInfo, url): try: dbSource = session.query(Source).filter(Source.name==sourceName).one() raise ObjectAlreadyExists('Source %s already exists.' % (sourceName)) - except NoResultFound, ex: + except NoResultFound as ex: # ok pass diff --git a/src/python/cdb/common/db/impl/userGroupHandler.py b/src/python/cdb/common/db/impl/userGroupHandler.py index f41ab9634..b616c882a 100755 --- a/src/python/cdb/common/db/impl/userGroupHandler.py +++ b/src/python/cdb/common/db/impl/userGroupHandler.py @@ -22,14 +22,14 @@ def findUserGroupById(self, session, id): try: dbUserGroup = session.query(UserGroup).filter(UserGroup.id==id).one() return dbUserGroup - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('User group id %s does not exist.' % (id)) def findUserGroupByName(self, session, name): try: dbUserGroup = session.query(UserGroup).filter(UserGroup.name==name).one() return dbUserGroup - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('User group %s does not exist.' % (name)) def getUserGroups(self, session): @@ -42,7 +42,7 @@ def getUserGroupById(self, session, id): self.logger.debug('Retrieving user group id %s' % id) dbUserGroup = session.query(UserGroup).filter(UserGroup.id==id).one() return dbUserGroup - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('User group id %s does not exist.' % (id)) def getUserGroupByName(self, session, name): @@ -54,7 +54,7 @@ def addGroup(self, session, groupName, description): try: dbGroupInfo = session.query(UserGroup).filter(UserGroup.name==groupName).one() raise ObjectAlreadyExists('Group %s already exists.' % (groupName)) - except NoResultFound, ex: + except NoResultFound as ex: # ok pass @@ -66,4 +66,4 @@ def addGroup(self, session, groupName, description): session.add(dbGroupInfo) session.flush() self.logger.debug('Inserted group id %s' % dbGroupInfo.id) - return dbGroupInfo \ No newline at end of file + return dbGroupInfo diff --git a/src/python/cdb/common/db/impl/userInfoHandler.py b/src/python/cdb/common/db/impl/userInfoHandler.py index 59039a544..4e578cb98 100755 --- a/src/python/cdb/common/db/impl/userInfoHandler.py +++ b/src/python/cdb/common/db/impl/userInfoHandler.py @@ -26,14 +26,14 @@ def findUserInfoById(self, session, id): try: dbUserInfo = session.query(UserInfo).filter(UserInfo.id==id).one() return dbUserInfo - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('User id %s does not exist.' % (id)) def findUserInfoByUsername(self, session, username): try: dbUserInfo = session.query(UserInfo).filter(UserInfo.username==username).one() return dbUserInfo - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('User %s does not exist.' % (username)) def getUserInfoWithPasswordByUsername(self, session, username): @@ -44,7 +44,7 @@ def getUserInfoWithPasswordByUsername(self, session, username): and_(UserUserGroup.user_id == dbUserInfo.id, UserUserGroup.user_group_id == UserGroup.id)).all() dbUserInfo.userGroupList = dbUserGroups return dbUserInfo - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('Username %s does not exist.' % (username)) def getUserInfos(self, session): @@ -66,7 +66,7 @@ def getUserInfoById(self, session, id): # Remove password del dbUserInfo.password return dbUserInfo - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('User id %s does not exist.' % (id)) def getUserInfoByUsername(self, session, username): @@ -78,7 +78,7 @@ def getUserInfoByUsername(self, session, username): # Remove password del dbUserInfo.password return dbUserInfo - except NoResultFound, ex: + except NoResultFound as ex: raise ObjectNotFound('Username %s does not exist.' % (username)) def addUser(self, session, username, firstName, lastName, middleName, email, description, password): @@ -86,7 +86,7 @@ def addUser(self, session, username, firstName, lastName, middleName, email, des try: dbUserInfo = session.query(UserInfo).filter(UserInfo.username==username).one() raise ObjectAlreadyExists('User %s already exists.' % (username)) - except NoResultFound, ex: + except NoResultFound as ex: # ok pass diff --git a/src/python/cdb/common/impl/authorizationManager.py b/src/python/cdb/common/impl/authorizationManager.py index eb071fd6b..7e953e1e2 100755 --- a/src/python/cdb/common/impl/authorizationManager.py +++ b/src/python/cdb/common/impl/authorizationManager.py @@ -30,7 +30,7 @@ def getInstance(cls): from cdb.common.impl.authorizationManager import AuthorizationManager try: am = AuthorizationManager() - except AuthorizationManager, ex: + except AuthorizationManager as ex: am = ex return am @@ -129,6 +129,6 @@ def removeAuthorizationPrincipal(self, username): if __name__ == '__main__': am = AuthorizationManager.getInstance() authPrincipal = am.getAuthorizationPrincipal('sveseli', 'sv') - print 'Auth principal: ', authPrincipal + print( 'Auth principal: ', authPrincipal) diff --git a/src/python/cdb/common/impl/dbPrincipalRetriever.py b/src/python/cdb/common/impl/dbPrincipalRetriever.py index 8fddee0b4..b97ae8a71 100644 --- a/src/python/cdb/common/impl/dbPrincipalRetriever.py +++ b/src/python/cdb/common/impl/dbPrincipalRetriever.py @@ -28,7 +28,7 @@ def getAuthorizationPrincipal(self, username): for userGroup in user.get('userGroupList', []): if userGroup.get('name') == self.adminGroupName: principal.setRole(cdbRole.CDB_ADMIN_ROLE) - except Exception, ex: + except Exception as ex: self.logger.debug(ex) return principal diff --git a/src/python/cdb/common/impl/ldapPasswordPrincipalAuthenticator.py b/src/python/cdb/common/impl/ldapPasswordPrincipalAuthenticator.py index 2b6ad2b58..e00bd1f55 100644 --- a/src/python/cdb/common/impl/ldapPasswordPrincipalAuthenticator.py +++ b/src/python/cdb/common/impl/ldapPasswordPrincipalAuthenticator.py @@ -24,7 +24,7 @@ def authenticatePrincipal(self, principal, password): self.logger.debug('Checking credentials for %s' % principal.getName()) self.ldapUtility.checkCredentials(principal.getName(), password) return principal - except Exception, ex: + except Exception as ex: self.logger.debug(ex) return None diff --git a/src/python/cdb/common/objects/cdbObject.py b/src/python/cdb/common/objects/cdbObject.py index dce693cbb..8a7a8fc1d 100644 --- a/src/python/cdb/common/objects/cdbObject.py +++ b/src/python/cdb/common/objects/cdbObject.py @@ -147,15 +147,15 @@ def getDisplayString(self, displayKeyList=[], displayFormat=TEXT_DISPLAY_FORMAT) if __name__ == '__main__': x = {'name' : 'XYZ', 'one':1, 'two':2 } o = CdbObject(x) - print 'CDB Object: ', o - print 'Type of CDB object: ', type(o) - print 'JSON Rep: ', o.getJsonRep() - print 'Type of JSON rep: ', type(o.getJsonRep()) + print( 'CDB Object: ', o) + print( 'Type of CDB object: ', type(o)) + print( 'JSON Rep: ', o.getJsonRep()) + print( 'Type of JSON rep: ', type(o.getJsonRep())) j = '{"name" : "XYZ", "one":1, "two":2 }' - print 'String: ', j + print( 'String: ', j) x2 = CdbObject.fromJsonString(j) - print 'CDB Object 2: ', x2 - print 'Type of CDB object 2: ', type(x2) - print x2.getDisplayString(displayKeyList='__all__') + print( 'CDB Object 2: ', x2) + print( 'Type of CDB object 2: ', type(x2)) + print( x2.getDisplayString(displayKeyList='__all__')) diff --git a/src/python/cdb/common/service/authorizationController.py b/src/python/cdb/common/service/authorizationController.py index 9bb402035..ef0bd371a 100755 --- a/src/python/cdb/common/service/authorizationController.py +++ b/src/python/cdb/common/service/authorizationController.py @@ -71,7 +71,7 @@ def parseBasicAuthorizationHeaders(): return (username, password) else: raise AuthorizationError('Username and/or password not supplied.') - except Exception, ex: + except Exception as ex: errorMsg = 'Could not extract username/password from authorization header: %s' % ex raise AuthorizationError(errorMsg) @@ -199,9 +199,9 @@ def login(self, username=None, password=None, fromPage='/'): if username is None or password is None: (username, password) = parseBasicAuthorizationHeaders() principal = checkCredentials(username, password) - except CdbHttpError, ex: + except CdbHttpError as ex: raise - except CdbException, ex: + except CdbException as ex: logger.debug('Authorization failed (username %s): %s' % (username, ex)) self.addCdbExceptionHeaders(ex) raise CdbHttpError(cdbHttpStatus.CDB_HTTP_UNAUTHORIZED, 'User Not Authorized', ex) diff --git a/src/python/cdb/common/service/cdbController.py b/src/python/cdb/common/service/cdbController.py index b832fea6b..3b9591e02 100755 --- a/src/python/cdb/common/service/cdbController.py +++ b/src/python/cdb/common/service/cdbController.py @@ -115,11 +115,11 @@ def decorate(*args, **kwargs): try: response = func(*args, **kwargs) cherrypy.response.headers["Access-Control-Allow-Origin"] = "*" - except CdbException, ex: + except CdbException as ex: cls.getLogger().error('%s' % ex) cls.handleException(ex) response = ex.getFullJsonRep() - except Exception, ex: + except Exception as ex: cls.getLogger().error('%s' % ex) cls.handleException(ex) response = InternalError(ex).getFullJsonRep() diff --git a/src/python/cdb/common/service/cdbWebServiceBase.py b/src/python/cdb/common/service/cdbWebServiceBase.py index c3c16e131..4e4e55703 100755 --- a/src/python/cdb/common/service/cdbWebServiceBase.py +++ b/src/python/cdb/common/service/cdbWebServiceBase.py @@ -197,12 +197,12 @@ def prepareServer(self): # Set up scheduled tasks performed web service. self.backgroundTaskManager = CdbBackgroundTaskManager() - except Exception, ex: + except Exception as ex: if self.logger is not None: self.logger.exception(ex) else: import traceback - print '\n%s' % sys.exc_info()[1] + print( '\n%s' % sys.exc_info()[1]) traceback.print_exc(file=sys.stderr) sys.exit(cdbStatus.CDB_ERROR) @@ -262,7 +262,7 @@ def __runServer(self): self.logger.debug('Starting modules') self.initCdbModules() CdbModuleManager.getInstance().startModules() - except Exception, ex: + except Exception as ex: self.logger.exception('Service exiting: %s' % ex) CdbModuleManager.getInstance().stopModules() return cdbStatus.CDB_ERROR diff --git a/src/python/cdb/common/service/loginController.py b/src/python/cdb/common/service/loginController.py index 83c80e1ca..c776db6ad 100755 --- a/src/python/cdb/common/service/loginController.py +++ b/src/python/cdb/common/service/loginController.py @@ -87,7 +87,7 @@ def parseBasicAuthorizationHeaders(cls): return (username, password) else: raise AuthorizationError('Username and/or password not supplied.') - except Exception, ex: + except Exception as ex: errorMsg = 'Could not extract username/password from authorization header: %s' % ex raise AuthorizationError(errorMsg) @@ -168,9 +168,9 @@ def login(self, username=None, password=None, fromPage='/'): (username, password) = LoginController.parseBasicAuthorizationHeaders() self.logger.debug('Retrieving principal for username %s' % (username)) principal = LoginController.checkCredentials(username, password) - except CdbHttpError, ex: + except CdbHttpError as ex: raise - except CdbException, ex: + except CdbException as ex: self.logger.debug('Authorization failed (username %s): %s' % (username, ex)) self.addCdbExceptionHeaders(ex) raise CdbHttpError(cdbHttpStatus.CDB_HTTP_UNAUTHORIZED, 'User Not Authorized', ex) diff --git a/src/python/cdb/common/utility/cdbModuleManager.py b/src/python/cdb/common/utility/cdbModuleManager.py index 1497e12e0..bc8d19578 100755 --- a/src/python/cdb/common/utility/cdbModuleManager.py +++ b/src/python/cdb/common/utility/cdbModuleManager.py @@ -25,7 +25,7 @@ def getInstance(cls): from cdb.common.utility.cdbModuleManager import CdbModuleManager try: mgr = CdbModuleManager() - except CdbModuleManager, ex: + except CdbModuleManager as ex: mgr = ex return mgr diff --git a/src/python/cdb/common/utility/cdbPortalUrlUtility.py b/src/python/cdb/common/utility/cdbPortalUrlUtility.py index 68b1db87f..d80d243a0 100644 --- a/src/python/cdb/common/utility/cdbPortalUrlUtility.py +++ b/src/python/cdb/common/utility/cdbPortalUrlUtility.py @@ -55,4 +55,4 @@ def getItemUrlAddress(self, itemId): if __name__ == '__main__': urlUtility = CdbPortalUrlUtility.getInstance() - print urlUtility.getItemUrlAddress(653) + print( urlUtility.getItemUrlAddress(653)) diff --git a/src/python/cdb/common/utility/cdbSubprocess.py b/src/python/cdb/common/utility/cdbSubprocess.py index 8d47d3d81..8da749612 100755 --- a/src/python/cdb/common/utility/cdbSubprocess.py +++ b/src/python/cdb/common/utility/cdbSubprocess.py @@ -102,7 +102,7 @@ def executeCommandAndIgnoreFailure(command): p = getSubprocess(command) try: p.run() - except CommandFailed, ex: + except CommandFailed as ex: p.getLogger().debug('Command failed, stdout: %s, stderr: %s' % (p.getStdOut(), p.getStdErr())) return p @@ -115,8 +115,8 @@ def executeCommandAndLogToStdOut(command): outp = p.stdout.readline() if not outp: break - print outp, - + print( outp, end=" ") + print() retval = p.wait() p._logger.debug('Exit status: %s' % retval) @@ -137,7 +137,7 @@ def executeCommandAndLogToStdOut(command): if __name__ == '__main__': p = CdbSubprocess('ls -l', useExceptions=False) p.run() - print p.getStdOut() - print p.getStdErr() - print p.getExitStatus() + print( p.getStdOut()) + print( p.getStdErr()) + print( p.getExitStatus()) diff --git a/src/python/cdb/common/utility/configurationManager.py b/src/python/cdb/common/utility/configurationManager.py index b7ab7d276..0bab2caf7 100755 --- a/src/python/cdb/common/utility/configurationManager.py +++ b/src/python/cdb/common/utility/configurationManager.py @@ -105,7 +105,7 @@ def getInstance(cls): from cdb.common.utility.configurationManager import ConfigurationManager try: cm = ConfigurationManager() - except ConfigurationManager, ex: + except ConfigurationManager as ex: cm = ex return cm @@ -231,7 +231,7 @@ def __setFromVarFile(self, key, varFile): try: v = open(varFile, 'r').readline() self[key] = v.lstrip().rstrip() - except Exception, ex: + except Exception as ex: pass def __getKeyValue(self, key, default='__cdb_default__'): @@ -282,7 +282,7 @@ def getConfigOption(self, configSection, key, defaultValue=None): if self.hasConfigSection(configSection): try: return configParser.get(configSection, key) - except ConfigParser.NoOptionError, ex: + except ConfigParser.NoOptionError as ex: # ok, return default value pass return defaultValue @@ -882,4 +882,4 @@ def hasLoginFile(self): if __name__ == '__main__': cm = ConfigurationManager.getInstance() - print cm + print( cm) diff --git a/src/python/cdb/common/utility/cryptUtility.py b/src/python/cdb/common/utility/cryptUtility.py index f7c62b74c..d7b38e8f6 100755 --- a/src/python/cdb/common/utility/cryptUtility.py +++ b/src/python/cdb/common/utility/cryptUtility.py @@ -8,10 +8,11 @@ import random import string -import crypt +#import crypt #import md5 import hashlib import base64 +from passlib.hash import pbkdf2_sha512 class CryptUtility: @@ -36,20 +37,23 @@ def cryptPassword(cls, password): #md5Salt = calculator.hexdigest() #return crypt.crypt(cleartext, md5Salt) - salt = CryptUtility.getRandomWord(CryptUtility.SALT_LENGTH_IN_BYTES) - salt = '%s%s%s%s%s' % (CryptUtility.SALT_DELIMITER, CryptUtility.CRYPT_TYPE, CryptUtility.SALT_DELIMITER, salt, CryptUtility.SALT_DELIMITER) - return crypt.crypt(password, salt) + #salt = CryptUtility.getRandomWord(CryptUtility.SALT_LENGTH_IN_BYTES) + #salt = '%s%s%s%s%s' % (CryptUtility.SALT_DELIMITER, CryptUtility.CRYPT_TYPE, CryptUtility.SALT_DELIMITER, salt, CryptUtility.SALT_DELIMITER) + #return crypt.crypt(password, salt) + return pbkdf2_sha512.hash(password) @classmethod def verifyPassword(cls, password, cryptedPassword): """ Verify crypted password. """ - return cryptedPassword == crypt.crypt(password, cryptedPassword) + #return cryptedPassword == crypt.crypt(password, cryptedPassword) + return pbkdf2_sha512.verify(password,cryptedPassword) @classmethod def cryptPasswordWithPbkdf2(cls, password): """ Crypt password with pbkdf2 package and encode with b64. """ - salt = CryptUtility.getRandomWord(CryptUtility.SALT_LENGTH_IN_BYTES) - return cls.saltAndCryptPasswordWithPbkdf2(password, salt) + #salt = CryptUtility.getRandomWord(CryptUtility.SALT_LENGTH_IN_BYTES) + #return cls.saltAndCryptPasswordWithPbkdf2(password, salt) + return pbkdf2_sha512.hash(password) @classmethod def saltAndCryptPasswordWithPbkdf2(cls, password, salt): @@ -68,9 +72,10 @@ def saltAndCryptPasswordWithPbkdf2(cls, password, salt): def verifyPasswordWithPbkdf2(cls, password, cryptedPassword): """ Verify crypted password. """ # Get salt - salt = '%s' % cryptedPassword.split(CryptUtility.SALT_DELIMITER)[0] + #salt = '%s' % cryptedPassword.split(CryptUtility.SALT_DELIMITER)[0] # Verify crypted password - return cryptedPassword == cls.saltAndCryptPasswordWithPbkdf2(password, salt) + #return cryptedPassword == cls.saltAndCryptPasswordWithPbkdf2(password, salt) + return pbkdf2_sha512.verify(password,cryptedPassword) ####################################################################### # Testing. diff --git a/src/python/cdb/common/utility/ldapUtility.py b/src/python/cdb/common/utility/ldapUtility.py index fa1135af6..2ab48689e 100755 --- a/src/python/cdb/common/utility/ldapUtility.py +++ b/src/python/cdb/common/utility/ldapUtility.py @@ -42,10 +42,10 @@ def __bindUser(self, bindDn, bindPass): ldapClient.simple_bind_s(bindDn, bindPass) return ldapClient # ldapClient.whoami_s() - except ldap.INVALID_CREDENTIALS, ex: + except ldap.INVALID_CREDENTIALS as ex: ldapClient.unbind() raise AuthenticationError('Invalid LDAP credentials for user %s' % bindDn) - except ldap.SERVER_DOWN, ex: + except ldap.SERVER_DOWN as ex: raise CommunicationError('Cannot reach LDAP server %s' % self.serverUrl) def __generateUserDn(self, username): diff --git a/src/python/cdb/common/utility/loggingManager.py b/src/python/cdb/common/utility/loggingManager.py index 517a1807b..c59ef4a5b 100755 --- a/src/python/cdb/common/utility/loggingManager.py +++ b/src/python/cdb/common/utility/loggingManager.py @@ -57,7 +57,7 @@ def getInstance(cls): from cdb.common.utility.loggingManager import LoggingManager try: lm = LoggingManager() - except LoggingManager, ex: + except LoggingManager as ex: lm = ex return lm @@ -88,7 +88,7 @@ def parseLevelRegEx(self, levelRegExList): pattern = re.compile(regex) tuple = (pattern, logging.getLevelName(level.upper())) self.levelRegExList.append(tuple) - except Exception, ex: + except Exception as ex: self.logger.error('Parser error in log configuration file: %s' % line) self.logger.exception(ex) @@ -98,7 +98,7 @@ def getIntLogLevel(self, levelStr): # Level should be an integer try: return int(level) - except ValueError, ex: + except ValueError as ex: raise ConfigurationError('"%s" is not valid log level' % levelStr) # Configure log handlers. @@ -177,7 +177,7 @@ def configureLoggers(self, configParser, defaultLevel='error'): pattern = re.compile(regex) tuple = (pattern, logging.getLevelName(level.upper())) self.levelRegExList.append(tuple) - except Exception, ex: + except Exception as ex: # Do not fail self.logger.error('Parser error in log configuration file: %s' % line) self.logger.exception(ex) @@ -189,7 +189,7 @@ def __configureHandler(self, configParser, configSection, defaults): try: if configParser is not None: handlerOption = configParser.get(configSection, 'handler') - except Exception, ex: + except Exception as ex: pass # If handlerOption is empty, handler cannot be instantiated. @@ -203,7 +203,7 @@ def __configureHandler(self, configParser, configSection, defaults): try: exec 'from cdb.common.utility import %s' % (moduleName) exec 'handler = %s.%s' % (moduleName, handlerOption) - except IOError, ex: + except IOError as ex: errNo, errMsg = ex import errno @@ -213,7 +213,7 @@ def __configureHandler(self, configParser, configSection, defaults): if errNo != errno.EACCES: raise handler = None - except Exception, ex: + except Exception as ex: raise ConfigurationError(exception=ex) # Only request setting from the config file if it was @@ -229,7 +229,7 @@ def __configureHandler(self, configParser, configSection, defaults): dateFormat = cm.getOptionFromConfigParser(configParser, configSection, 'dateFormat', defaults['dateFormat']) handler.setFormatter(logging.Formatter(format, dateFormat)) - except Exception, ex: + except Exception as ex: raise ConfigurationError(exception=ex) # Apply filters to handler @@ -238,7 +238,7 @@ def __configureHandler(self, configParser, configSection, defaults): filter = configParser.get(configSection, 'filter') if filter: handler.addFilter(logging.Filter(filter)) - except Exception, ex: + except Exception as ex: pass return handler @@ -275,7 +275,7 @@ def setConsoleLogLevel(self, level): self.consoleHandler.setLevel(intLevel) self.maxIntLevel = intLevel self.logger.setLevel(intLevel) - except Exception, ex: + except Exception as ex: raise ConfigurationError(exception=ex) def setFileLogLevel(self, level): @@ -286,7 +286,7 @@ def setFileLogLevel(self, level): handler.setLevel(intLevel) self.maxIntLevel = intLevel self.logger.setLevel(intLevel) - except Exception, ex: + except Exception as ex: raise ConfigurationError(exception=ex) ####################################################################### diff --git a/src/python/cdb/common/utility/objectCache.py b/src/python/cdb/common/utility/objectCache.py index 655adbda6..885a81efe 100755 --- a/src/python/cdb/common/utility/objectCache.py +++ b/src/python/cdb/common/utility/objectCache.py @@ -131,32 +131,32 @@ def __str__(self): for i in range(0,5): item = Item(i) c.put(i, item) - print 'Added item: ', item - print 'Cache: ', c + print( 'Added item: ', item) + print( 'Cache: ', c) time.sleep(1) for j in range(0,3): item = Item(2) c.put(2, item) - print 'Updated item: ', item - print 'Cache: ', c + print( 'Updated item: ', item) + print( 'Cache: ', c) time.sleep(1) item = c.remove(2) - print 'Deleted item 2: ', item - print 'Cache: ', c + print( 'Deleted item 2: ', item) + print( 'Cache: ', c) time.sleep(1) item = c.get(2) - print 'Got item 2: ', item - print 'Cache: ', c - print + print( 'Got item 2: ', item) + print( 'Cache: ', c) + print() time.sleep(1) - print + print() c = ObjectCache(3) c.put('sv', Item2('sv')) - print c + print( c) i = c.get('sv') - print i - print 'Done' + print( i) + print( 'Done') diff --git a/src/python/cdb/common/utility/osUtility.py b/src/python/cdb/common/utility/osUtility.py index 8018b564d..5eb887f6b 100755 --- a/src/python/cdb/common/utility/osUtility.py +++ b/src/python/cdb/common/utility/osUtility.py @@ -37,7 +37,7 @@ def removeAndIgnoreErrors(cls, path): """ Remove file on a given path and ignore any errors. """ try: os.remove(path) - except Exception, ex: + except Exception as ex: pass @classmethod diff --git a/src/python/cdb/common/utility/valueUtility.py b/src/python/cdb/common/utility/valueUtility.py index fe181f767..0da46ad2d 100755 --- a/src/python/cdb/common/utility/valueUtility.py +++ b/src/python/cdb/common/utility/valueUtility.py @@ -19,7 +19,7 @@ def toBoolean(cls, value): ####################################################################### # Testing. if __name__ == '__main__': - print ValueUtility.toBoolean('false') - print ValueUtility.toBoolean('True') - print ValueUtility.toBoolean(True) + print( ValueUtility.toBoolean('false')) + print( ValueUtility.toBoolean('True')) + print( ValueUtility.toBoolean(True)) diff --git a/support/bin/install_all.sh b/support/bin/install_all.sh index a3e991fcd..797d7bd17 100755 --- a/support/bin/install_all.sh +++ b/support/bin/install_all.sh @@ -8,6 +8,6 @@ currentDir=`pwd` cd `dirname $0`/.. && topDir=`pwd` binDir=$topDir/bin -$binDir/install_anaconda.sh || exit 1 +#$binDir/install_anaconda.sh || exit 1 $binDir/install_java_packages.sh || exit 1 -$binDir/install_python_packages.sh || exit 1 +#$binDir/install_python_packages.sh || exit 1