From 2e0c81f34fa96f659153e5daba1e8be5ba28fd0c Mon Sep 17 00:00:00 2001 From: Yuriy Date: Wed, 1 May 2024 14:22:34 -0400 Subject: [PATCH] merged misc and general functions --- General-Functions.ahk | 209 +++++++++++++++++++++++++++++++++++- Miscellaneous-Functions.ahk | 158 --------------------------- 2 files changed, 208 insertions(+), 159 deletions(-) diff --git a/General-Functions.ahk b/General-Functions.ahk index 5f2ab8f..8f330bc 100644 --- a/General-Functions.ahk +++ b/General-Functions.ahk @@ -105,7 +105,7 @@ Func_LogErrorsToTextFile(Text){ ; Do not log if we do not have an errorlog filepath if(ErrorLoggingFilePath = "") - return + return ; ErrorLoggingFile := Filepath FormatTime, TodayDate , YYYYMMDDHH24MISS, yyyyMMdd_hhmmss @@ -425,3 +425,210 @@ HasSubstringVal(haystack, needle) +; -------------------------------Functions------------------------------- + +OnMsgBoxConfirmChromiumOverwrite() { + DetectHiddenWindows, On + Process, Exist + If (WinExist("ahk_class #32770 ahk_pid " . ErrorLevel)) { + ControlSetText Button1, Cancel + ControlSetText Button2, Yes + } +} + +; https://www.autohotkey.com/docs/v2/Functions.htm#Variadic +Join(sep, params*) { + For index, param in params + str .= param . sep + return SubStr(str, 1, -StrLen(sep)) +} + + + +LogErrorToTextFile(Error){ +/* if(LogErrorsToTextFile != 1) + Return + */ + ErrorLoggingFile := VideoFolderDir . "\" . "ErrorLogging.txt" + FormatTime, TodayDate , YYYYMMDDHH24MISS, yyyyMMdd_hhmmss + text = + ( + + + ---------------%TodayDate%--------------- + %CurrentSite%: %Error% + + + ) + if(LogErrorsToMsgbox) + Msgbox % "Text: " Text + + FileAppend, %Text%, %ErrorLoggingFile% + } ; End of Function + +/* +*/ + +AddToTotalVideosUploadedCount(){ + ; IniRead, TotalVideosUploaded, %SettingsIniFilepath%, General, TotalVideosUploaded, %A_Space% + TotalVideosUploaded += 1 + ; IniWrite, %TotalVideosUploaded%, %SettingsIniFilepath%, General, TotalVideosUploaded +} + + + +OnMsgBoxPodcastFinish() { + DetectHiddenWindows, On + Process, Exist + If (WinExist("ahk_class #32770 ahk_pid " . ErrorLevel)) { + WinMove,, 0 + } +} + +OnMsgBoxSocialMediaPoster() { + DetectHiddenWindows, On + Process, Exist + If (WinExist("ahk_class #32770 ahk_pid " . ErrorLevel)) { + ControlSetText Button1, Yes + ControlSetText Button2, Not Now + } +} + + + +Check_For_Stuck_Video_Upload(Index_Number, Upload_Status){ + if(A_index = 1){ ; Create a blank array + ProgressStatusArray := [] + Return + } + + Message = Upload Status: %Upload_Status% + SaveOrPostProgress(Message:=Message,PostType:="Tooltip") + + ; if we reached the last loop number: + if(A_index = %Number_of_loops_to_Check_Upload_status%){ + Message = Upload Most Likely Failed: Video Hasn't Finished Uploading after 1 hour. + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + SaveDriverURLOFErrorPage() + Return "Failed" + } + + ; If progress is still the same after a ten minute interval then error out + if(HasVal(Array_Index_Num_of_Upload_StatusChecks, A_index)){ ; if current index is in Array of index numbers to check status during + + ; Send a notification message of upload status + Message = Upload Status: %Upload_Status% + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") + + ; if current upload_status is in the array of values that are updated every 10 mins + if(HasVal(ProgressStatusArray, Upload_Status)){ + Message = Upload Failed (E#4508)`nUpload Stuck at same point for 10 minutes. Stuck Status: %ProgressStatus% + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + SaveDriverURLOFErrorPage() + Return "Failed" + } + ProgressStatusArray.Push(Upload_Status) ; append current status to array + } + } ; end of func + +/* +*/ +; Find the longest word in a string of words +FindLongestWordInString(m, calloutNumber, pos, haystack, pattern){ + Global wordLength, longestWord + + len := StrLen(m) + + If ( len > wordLength ) + { + wordLength := len + longestWord := m + + ; MsgBox, %m% + } +} + +/* +*/ + +; Split a long string into multiple pieces based on the string lengtht you want and return an array with all strings +SplitStringWithSentences(text, maxChunkSize) { + sentences := StrSplit(text, "\. ") ; split at period with space after it + + currentChunk := "" + chunks := [] + + Loop, % sentences.Length() + { + sentence := sentences[A_Index] + CurrentChunkAndSentence := currentChunk . sentence + ; Msgbox % "CurrentChunkAndSentence: " CurrentChunkAndSentence + ; msgbox % StrLen(CurrentChunkAndSentence) + + if (StrLen(CurrentChunkAndSentence) <= maxChunkSize) + { + currentChunk .= sentence . "\. " + } + else + { + chunks.Push(currentChunk) + currentChunk := sentence . "\. " + } + } + + if (currentChunk != "") + chunks.Push(currentChunk) + + return chunks +} + + + +CreateErrorLoggingFiles(Directory := ""){ + FormatTime, TodayDate, YYYYMMDDHH24MISS, yyyyMMdd_hhmmss + + ErrorLoggingDirectory := Directory + + if(ErrorLoggingDirectory = ""){ + ErrorLoggingDirectory := A_ScriptDir . "\Lib\ErrorLogging" + ; If directory for error logging doesn't exist, create it + if(!FileExist(ErrorLoggingDirectory)) + FileCreateDir, %ErrorLoggingDirectory% + + ErrorLoggingDirectory := ErrorLoggingDirectory . "\" . TodayDate . "_" . ScriptAbbreviatedName + } + ; Msgbox % "ErrorLoggingDirectory: " ErrorLoggingDirectory + FileCreateDir, %ErrorLoggingDirectory% + + ; Create variables with filepaths that content will be saved to. + global ErrorLoggingFilePath := ErrorLoggingDirectory . "\" . "ErrorLogging.txt" + global StatusFileFilePath := ErrorLoggingDirectory . "\" . "PostStatus.ini" + + global PostTitleFilePath := ErrorLoggingDirectory . "\" . "PostTitle.txt" + global PostBodyFilePath := ErrorLoggingDirectory . "\" . "PostBody.txt" + global PostTagsFilePath := ErrorLoggingDirectory . "\" . "PostTags.txt" + + PostStatusesFilepath := ErrorLoggingDirectory . "\" . "Status.ini" + ; Msgbox % "ErrorLoggingDirectory: " ErrorLoggingDirectory + + + Return +} + + + + +; if passed argument is .exe file, then script has just been updated and we need to delete the old .exe file +CheckIfUpdateInstalled(PassedInArgument :=""){ + + if(InStr(PassedInArgument,".exe")){ + + FileDelete, %PassedInArgument% + if(ErrorLevel){ ; most likely because the old version hasn't finished exiting yet + Message = Failed to Delete Old .exe file after Updating + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar") + } + + +} +} \ No newline at end of file diff --git a/Miscellaneous-Functions.ahk b/Miscellaneous-Functions.ahk index 628dda7..e69de29 100644 --- a/Miscellaneous-Functions.ahk +++ b/Miscellaneous-Functions.ahk @@ -1,158 +0,0 @@ - -; -------------------------------Functions------------------------------- - -OnMsgBoxConfirmChromiumOverwrite() { - DetectHiddenWindows, On - Process, Exist - If (WinExist("ahk_class #32770 ahk_pid " . ErrorLevel)) { - ControlSetText Button1, Cancel - ControlSetText Button2, Yes - } -} - -; https://www.autohotkey.com/docs/v2/Functions.htm#Variadic -Join(sep, params*) { - For index, param in params - str .= param . sep - return SubStr(str, 1, -StrLen(sep)) -} - - - -LogErrorToTextFile(Error){ -/* if(LogErrorsToTextFile != 1) - Return - */ - ErrorLoggingFile := VideoFolderDir . "\" . "ErrorLogging.txt" - FormatTime, TodayDate , YYYYMMDDHH24MISS, yyyyMMdd_hhmmss - text = - ( - - - ---------------%TodayDate%--------------- - %CurrentSite%: %Error% - - - ) - if(LogErrorsToMsgbox) - Msgbox % "Text: " Text - - FileAppend, %Text%, %ErrorLoggingFile% - } ; End of Function - -/* -*/ - -AddToTotalVideosUploadedCount(){ - ; IniRead, TotalVideosUploaded, %SettingsIniFilepath%, General, TotalVideosUploaded, %A_Space% - TotalVideosUploaded += 1 - ; IniWrite, %TotalVideosUploaded%, %SettingsIniFilepath%, General, TotalVideosUploaded -} - - - -OnMsgBoxPodcastFinish() { - DetectHiddenWindows, On - Process, Exist - If (WinExist("ahk_class #32770 ahk_pid " . ErrorLevel)) { - WinMove,, 0 - } -} - -OnMsgBoxSocialMediaPoster() { - DetectHiddenWindows, On - Process, Exist - If (WinExist("ahk_class #32770 ahk_pid " . ErrorLevel)) { - ControlSetText Button1, Yes - ControlSetText Button2, Not Now - } -} - - - -Check_For_Stuck_Video_Upload(Index_Number, Upload_Status){ - if(A_index = 1){ ; Create a blank array - ProgressStatusArray := [] - Return - } - - Message = Upload Status: %Upload_Status% - SaveOrPostProgress(Message:=Message,PostType:="Tooltip") - - ; if we reached the last loop number: - if(A_index = %Number_of_loops_to_Check_Upload_status%){ - Message = Upload Most Likely Failed: Video Hasn't Finished Uploading after 1 hour. - SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") - SaveDriverURLOFErrorPage() - Return "Failed" - } - - ; If progress is still the same after a ten minute interval then error out - if(HasVal(Array_Index_Num_of_Upload_StatusChecks, A_index)){ ; if current index is in Array of index numbers to check status during - - ; Send a notification message of upload status - Message = Upload Status: %Upload_Status% - SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") - - ; if current upload_status is in the array of values that are updated every 10 mins - if(HasVal(ProgressStatusArray, Upload_Status)){ - Message = Upload Failed (E#4508)`nUpload Stuck at same point for 10 minutes. Stuck Status: %ProgressStatus% - SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") - SaveDriverURLOFErrorPage() - Return "Failed" - } - ProgressStatusArray.Push(Upload_Status) ; append current status to array - } - } ; end of func - -/* -*/ -; Find the longest word in a string of words -FindLongestWordInString(m, calloutNumber, pos, haystack, pattern){ - Global wordLength, longestWord - - len := StrLen(m) - - If ( len > wordLength ) - { - wordLength := len - longestWord := m - - ; MsgBox, %m% - } -} - -/* -*/ - -; Split a long string into multiple pieces based on the string lengtht you want and return an array with all strings -SplitStringWithSentences(text, maxChunkSize) { - sentences := StrSplit(text, "\. ") ; split at period with space after it - - currentChunk := "" - chunks := [] - - Loop, % sentences.Length() - { - sentence := sentences[A_Index] - CurrentChunkAndSentence := currentChunk . sentence - ; Msgbox % "CurrentChunkAndSentence: " CurrentChunkAndSentence - ; msgbox % StrLen(CurrentChunkAndSentence) - - if (StrLen(CurrentChunkAndSentence) <= maxChunkSize) - { - currentChunk .= sentence . "\. " - } - else - { - chunks.Push(currentChunk) - currentChunk := sentence . "\. " - } - } - - if (currentChunk != "") - chunks.Push(currentChunk) - - return chunks -} -