#NoTrayIcon
#SingleInstance force
Loop, %0%
P%A_INDEX% := %A_INDEX%
If (!P1)
{
MsgBox,Kein Parameter!
ExitApp
}
Clipboard := ""
Changed := 0
UmlautsFound := 0
OnClipboardChange("Changed")
Attrib := ""
OF := ""
OD := ""
OE := ""
ON := ""
ODRIVE := ""
Name := ""
Year := ""
POS := ""
S := ""
StringReplace,P1,P1,\\?\
FileGetAttrib,Attrib,%P1%
If InStr(Attrib, "D")
{
Folder := P1
SplitPath,Folder,Name
StringReplace,Name,Name,%A_Space%,`%20,1
StringReplace,Name,Name,.,%A_Space%,1
Name := Umlaute(Name)
Run,https://thetvdb.com/search?query=%Name%
MsgBox, 262209,PlexMatch,
( Ltrim
Please copy TVDB ID in clipboard!
Plexmatch file will be generated in
%folder%
)
If (Changed=0) {
IfMsgBox,Cancel
ExitApp
}
FileDelete,%Folder%\.plexmatch
;FileAppend,tvdbid:%Clipboard%,%Folder%\.plexmatch,UTF-8
FileAppend,tvdbid:%Clipboard%,%Folder%\.plexmatch,CP1252
Send,!{tab}
ExitApp
}
SplitPath,P1,OF,OD,OE,ON,ODRIVE
Name := OF
Year := ""
If (OE!="mkv") and (OE!=avi) and (OE!="p4")
{
MsgBox, Extension %OE% not supported.
ExitApp
}
Loop,99
{
S := SubStr("0" . A_Index,-1)
If InStr(Name,"19" . S)
{
Year := "19" . S
Break
}
If InStr(Name,"20" . S)
{
Year := "20" . S
Break
}
If InStr(Name,"2000")
{
Year := "2000"
Break
}
}
If Year
{
POS := InStr(name,Year)
NameMsgBox := SubStr(Name,1,POS+3)
Name := SubStr(Name,1,POS-1)
; Name := SubStr(Name,1,POS-1) . " " . Year
}
else
{
NameMsgBox := Name
}
If (StrLen(NameMsgBox) > 45)
NameMsgBox := SubStr(NameMsgBox,1,45) . "..."
StringReplace,NameMsgBox,NameMsgBox,.mkv,%A_Space%,1
StringReplace,NameMsgBox,NameMsgBox,.mp4,%A_Space%,1
StringReplace,NameMsgBox,NameMsgBox,.mpg,%A_Space%,1
StringReplace,NameMsgBox,NameMsgBox,.avi,%A_Space%,1
StringReplace,Name,Name,.uncut.,1
StringReplace,Name,Name,.remastered.,1
StringReplace,Name,Name,%A_Space%,+,1
StringReplace,Name,Name,.,+,1
Loop,5
StringReplace,Name,Name,++,+,1
NameU := Trim(Umlaute(Name)) . "+"
StringReplace,NameU,NameU,++,,1
;Run,https://www.imdb.com/find/?q=%NameU%
;Run,https://thetvdb.com/search?query=%NameU%
If (Year)
Run,https://www.themoviedb.org/search?query=%NameU%+y:%year%
else
Run,https://www.themoviedb.org/search?query=%NameU%
SetTitleMatchMode,2
MsgBoxTitle := "PlexMatch - " . NameMsgBox
MsgBoxHeader := "Please copy TMDB URL in clipboard"
MovieRetry:
If (Year)
{
MsgBoxText := "`n`nClick ""Try Again"" to search without year and umlaut conversion."
MsgBoxID := 262214
}
else
{
MsgBoxText := ""
MsgBoxID := 262209
}
MsgBox,% MsgBoxID,% MsgBoxTitle,% MsgBoxHeader . MsgBoxText
If (Changed=0)
{
IfMsgBox,Cancel
ExitApp
IfMsgBox,TryAgain
{
;Run,https://www.imdb.com/find/?q=%Name% %Year%
;Run, https://thetvdb.com/search?query=%Name%+%year%
Run, https://www.themoviedb.org/search?query=%Name%
Year := ""
Goto, MovieRetry
}
}
If !(InStr(Clipboard,"themoviedb.org/movie/"))
Msgbox, Extracting TMDB URL from clipboard entry failed.`n`nClipboard: "%Clipboard%"
else
{
ClipArray := StrSplit(Clipboard,"/")
ClipArray2 := StrSplit(ClipArray[5],"-")
tmbid := ClipArray2[1]
Gosub,Rename
FileMove,%OD%\%OF%,%OD%\%ON% {tmdb-%tmbid%}.%OE%
}
Send,!{tab}
ExitApp
Rename:
If InStr(OF,"{imdb-tt")
{
POS := InStr(OF,"imdb-tt")
ON := Trim(SubStr(OF,1,POS-2))
FileMove,%OD%\%OF%,%OD%\%ON%.%OE%
OF := ON . "." . OE
}
If InStr(OF,"{tmdb-")
{
POS := InStr(OF,"tmdb-")
ON := Trim(SubStr(OF,1,POS-2))
FileMove,%OD%\%OF%,%OD%\%ON%.%OE%
OF := ON . "." . OE
}
If InStr(OF,"{tvdb-")
{
POS := InStr(OF,"tvdb-")
ON := Trim(SubStr(OF,1,POS-2))
FileMove,%OD%\%OF%,%OD%\%ON%.%OE%
OF := ON . "." . OE
}
Return
Changed()
{
Global Changed
Changed := 1
WinClose,% "PlexMatch"
Return
}
Umlaute(a)
{
Global UmlautsFound
StringReplace,a,a,oe,ö,1
UmlautsFound := ErrorLevel=1 ? UmlautsFound : 1
StringReplace,a,a,ae,ä,1
UmlautsFound := ErrorLevel=1 ? UmlautsFound : 1
StringReplace,a,a,ue,ü,1
UmlautsFound := ErrorLevel=1 ? UmlautsFound : 1
Return a
}