as yet unclassified downloadWithRenaming: fileReference | file tempFile fileHash tempFileHash | file := fileReference asFileReference . tempFile := FileLocator temp / fileReference basename. tempFile ensureCreateFile. tempFile binaryWriteStreamDo: [ :stream | stream nextPutAll: profileImageUrl asUrl retrieveContents. super class inform: 'Exported as: ', String cr, tempFile fullName. ]. OSSUnixSubprocess new command: 'openssl'; arguments: { 'dgst' . '-sha256' . file fullName}; workingDirectory: (self folder) fullName; redirectStdout; redirectStderr; runAndWaitOnExitDo: [ :process :outString | fileHash := (outString splitOn: ' ') second trimmed]. OSSUnixSubprocess new command: 'openssl'; arguments: { 'dgst' . '-sha256' . tempFile fullName}; workingDirectory: (self folder) fullName; redirectStdout; redirectStderr; runAndWaitOnExitDo: [ :process :outString | tempFileHash := (outString splitOn: ' ' ) second trimmed]. fileHash = tempFileHash ifFalse: [ file copyTo: self folder / (file basenameWithoutExtension , '-', ('-' join: ((file creationTime asLocalStringYMDHM) splitOn: ' ')), '.jpg'). file ensureDelete. ^ { 'Profile image changed' -> (tempFile moveTo: file)} asDictionary ]. ^ { 'Same Profile Image' -> file } asDictionary