mirror of
https://github.com/noDRM/DeDRM_tools.git
synced 2024-09-08 09:26:09 +06:00
60 lines
2.8 KiB
Plaintext
60 lines
2.8 KiB
Plaintext
on unlockfile(encryptedFile, MobiDeDRMPath, encryptionKey)
|
|
set encryptedFilePath to POSIX path of file encryptedFile
|
|
tell application "Finder" to Â
|
|
set parent_folder to (container of file encryptedFile) as text
|
|
tell application "Finder" to set fileName to (name of file encryptedFile) as text
|
|
set unlockedFilePath to POSIX path of file (parent_folder & "Unlocked_" & fileName)
|
|
set shellcommand to "python \"" & MobiDeDRMPath & "\" \"" & encryptedFilePath & "\" \"" & unlockedFilePath & "\" '" & encryptionKey & "'"
|
|
try
|
|
--with timeout of 5 seconds
|
|
-- display dialog "About to Unlock " & fileName buttons {"Unlock"} default button 1 giving up after 1
|
|
--end timeout
|
|
end try
|
|
set result to do shell script shellcommand
|
|
try
|
|
if (offset of "Error" in result) > 0 then
|
|
with timeout of 5 seconds
|
|
display dialog "Can't unlock file " & fileName & ".
|
|
|
|
" & result buttons ("OK") default button 1 giving up after 5
|
|
end timeout
|
|
end if
|
|
end try
|
|
end unlockfile
|
|
|
|
on unlockfolder(encryptedFolder, MobiDeDRMPath, encryptionKey)
|
|
tell application "Finder" to set encryptedFileList to (every file in folder encryptedFolder) whose (name extension is "prc") or (name extension is "mobi") or (name extension is "azw")
|
|
tell application "Finder" to set encryptedFolderList to (every folder in folder encryptedFolder)
|
|
repeat with this_item in encryptedFileList
|
|
unlockfile(this_item as text, MobiDeDRMPath, encryptionKey)
|
|
end repeat
|
|
repeat with this_item in encryptedFolderList
|
|
unlockfolder(this_item as text, MobiDeDRMPath, encryptionKey)
|
|
end repeat
|
|
end unlockfolder
|
|
|
|
on run
|
|
set MobiDeDRMPath to POSIX path of file ((path to me as text) & "Contents:Resources:MobiDeDRM.py")
|
|
set encryptedFolder to choose folder with prompt "Please choose the folder of encrypted Mobipocket files."
|
|
set encryptionKey to (display dialog "Enter Mobipocket key for encrypted Mobipocket files." default answer "X12QIL1M3D" buttons {"Cancel", "OK"} default button 2)
|
|
set encryptionKey to text returned of encryptionKey
|
|
unlockfolder(encryptedFolder, MobiDeDRMPath, encryptionKey)
|
|
end run
|
|
|
|
on open some_items
|
|
set MobiDeDRMPath to POSIX path of file ((path to me as text) & "Contents:Resources:MobiDeDRM.py")
|
|
set encryptionKey to (display dialog "Enter Mobipocket key for encrypted Mobipocket files." default answer "X12QIL1M3D" buttons {"Cancel", "OK"} default button 2)
|
|
set encryptionKey to text returned of encryptionKey
|
|
repeat with this_item in some_items
|
|
if (folder of (info for this_item) is true) then
|
|
unlockfolder(this_item as text, MobiDeDRMPath, encryptionKey)
|
|
else
|
|
tell application "Finder" to set item_extension to name extension of file this_item
|
|
if item_extension is "prc" or item_extension is "mobi" or item_extension is "azw" then
|
|
unlockfile(this_item as text, MobiDeDRMPath, encryptionKey)
|
|
end if
|
|
end if
|
|
end repeat
|
|
end open
|
|
|