Add paperless.script
This commit is contained in:
commit
6c5b66b61e
57
paperless.script
Normal file
57
paperless.script
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
-- AppleScript to upload selected DEVONthink items to Paperless-ngx
|
||||||
|
-- Uses the "URL" field as Paperless title and "tags" as Paperless tags.
|
||||||
|
|
||||||
|
tell application "DEVONthink 3"
|
||||||
|
set theSelection to the selection
|
||||||
|
if theSelection is {} then
|
||||||
|
display alert "No documents selected in DEVONthink."
|
||||||
|
return
|
||||||
|
end if
|
||||||
|
|
||||||
|
repeat with theRecord in theSelection
|
||||||
|
set docPath to path of theRecord
|
||||||
|
set docURL to aliases of theRecord & "_" & URL of theRecord -- Title in Paperless
|
||||||
|
set recordTags to tags of theRecord -- List of DEVONthink tags
|
||||||
|
|
||||||
|
if docPath is not missing value and docPath is not "" then
|
||||||
|
|
||||||
|
-- Your Paperless token
|
||||||
|
set paperlessToken to "59760e42725bf98ac0345fd2ec9f754cf053a8d5"
|
||||||
|
|
||||||
|
-- Path to Python script
|
||||||
|
set uploadScriptPath to "/Users/z/Documents/upload.py"
|
||||||
|
|
||||||
|
-- Convert tags list to a string with '||' as delimiter
|
||||||
|
set tagString to ""
|
||||||
|
if (count of recordTags) > 0 then
|
||||||
|
repeat with t in recordTags
|
||||||
|
set tagString to tagString & t & "||"
|
||||||
|
end repeat
|
||||||
|
-- Remove trailing '||'
|
||||||
|
if tagString ends with "||" then
|
||||||
|
set tagString to texts 1 thru -3 of tagString
|
||||||
|
end if
|
||||||
|
end if
|
||||||
|
|
||||||
|
if docURL is missing value or docURL is "" then
|
||||||
|
set docURL to "Untitled" -- Fallback title
|
||||||
|
end if
|
||||||
|
|
||||||
|
-- Build shell command to call Python script
|
||||||
|
set shellCommand to "/Users/z/venv/bin/python " & uploadScriptPath & space & ¬
|
||||||
|
quoted form of docPath & space & paperlessToken & space & ¬
|
||||||
|
quoted form of docURL & space & quoted form of tagString
|
||||||
|
|
||||||
|
try
|
||||||
|
do shell script shellCommand
|
||||||
|
display notification "Uploaded " & (name of theRecord) & " to Paperless." with title "Paperless Upload"
|
||||||
|
on error errMsg
|
||||||
|
display alert "Error uploading " & (name of theRecord) & ":
|
||||||
|
" & errMsg
|
||||||
|
end try
|
||||||
|
|
||||||
|
else
|
||||||
|
display alert "Record " & (name of theRecord) & " does not have a valid file path."
|
||||||
|
end if
|
||||||
|
end repeat
|
||||||
|
end tell
|
||||||
Loading…
x
Reference in New Issue
Block a user