fixed LBRY Killer sometimes killing LBRY before URL has been grabbed
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -19,3 +19,5 @@ Freedomain Video Uploader.exe
|
||||
Lib/LBRY Process Killer.exe
|
||||
Lib/chrome-win64
|
||||
Lib/Version.ini
|
||||
Lib/Version-FVU.ini
|
||||
**/Scheduled-Posts
|
||||
|
||||
@@ -15,7 +15,13 @@ if(InStr(A_ScriptFullPath, ".ahk")){
|
||||
|
||||
; Parameter passed in to script
|
||||
; ------------------------------------------------
|
||||
PassedParameter = %1%
|
||||
PassedInArgument1_Filepath = %1% ; Filepath of one of the files in the directory of the video project
|
||||
PassedInArgument2_Action = %2% ; "Scheduled", "ShowResults", "Delete"
|
||||
PassedInArgument3_Details = %3% ; Details of Argument2, eg list of Sites to Upload to
|
||||
|
||||
; Msgbox % "PassedInArgument1_Filepath: " PassedInArgument1_Filepath
|
||||
; Msgbox % "PassedInArgument2: " PassedInArgument2
|
||||
; Msgbox % "PassedInArgument3: " PassedInArgument3
|
||||
|
||||
|
||||
; Customize the Toolbar Icon Menu
|
||||
@@ -52,9 +58,7 @@ UStartTime := A_TickCount ; start time
|
||||
|
||||
;---Global Variables---
|
||||
;------------------------------------------------
|
||||
global ScriptNameav
|
||||
global ScriptVersion
|
||||
global FullScriptName
|
||||
|
||||
global LBRYResolveAPICommand
|
||||
global LBRYPermanentURL
|
||||
global VideoTitle
|
||||
@@ -72,7 +76,6 @@ global CurrentSite
|
||||
global Driver
|
||||
global DriverStatus
|
||||
global ChromeProfile
|
||||
global ShowTooltipProgressCheckStatus
|
||||
global ShowTooltipProgress
|
||||
global ErrorLogSummary
|
||||
global DiscordParlerWebhookURL
|
||||
@@ -113,20 +116,25 @@ SettingsIniFilepath := A_ScriptDir . "\Settings.ini"
|
||||
global ScriptSettingsSection
|
||||
ScriptSettingsSection := "VideoUploader"
|
||||
|
||||
global ScriptNameAcronym
|
||||
ScriptNameAcronym := "FVU"
|
||||
|
||||
FileInstall, Version.ini, %A_ScriptDir%\Lib\Version.ini, 1
|
||||
IniRead, ScriptVersion, %A_ScriptDir%\Lib\Version.ini,Video-Uploader, Version, 0.0
|
||||
IniRead, ScriptName, %A_ScriptDir%\Lib\Version.ini,Video-Uploader, Name, "Video Uploader"
|
||||
global ScriptName
|
||||
global ScriptVersion
|
||||
global FullScriptName
|
||||
|
||||
VersionIniFilepath = %A_ScriptDir%\Lib\Version-%ScriptNameAcronym%.ini
|
||||
|
||||
; Install the Version.ini file in lib folder (Used by .exe file)
|
||||
FileInstall, Version.ini, %VersionIniFilepath%, 1
|
||||
IniRead, ScriptVersion, %VersionIniFilepath%,Video-Uploader, Version, 0.0
|
||||
IniRead, ScriptName, %VersionIniFilepath%,Video-Uploader, Name,
|
||||
FullScriptName := ScriptName . " - " . ScriptVersion
|
||||
|
||||
|
||||
;---Script Settings---
|
||||
;------------------------------------------------
|
||||
; Checkbox Settings
|
||||
IniRead, ShowTooltipProgress, %SettingsIniFilepath%, General, ShowTooltipProgress, 1
|
||||
(ShowTooltipProgress)?(ShowTooltipProgressCheckStatus := 1) : (ShowTooltipProgressCheckStatus := 0)
|
||||
|
||||
IniRead, XPosition, %SettingsIniFilepath%, General, XPosition, 0
|
||||
IniRead, YPosition, %SettingsIniFilepath%, General, YPosition, 0
|
||||
|
||||
@@ -137,22 +145,26 @@ IniRead, DevMode, %SettingsIniFilepath%, General, DevMode, 0
|
||||
IniRead, TotalVideosUploaded, %SettingsIniFilepath%, General, TotalVideosUploaded, 0
|
||||
IniRead, MouseClicksSaved, %SettingsIniFilepath%, General, MouseClicksSaved, 0
|
||||
|
||||
; Checkbox Settings
|
||||
IniRead, ShowTooltipProgress, %SettingsIniFilepath%, General, ShowTooltipProgress, 1
|
||||
(ShowTooltipProgress)?(ShowTooltipProgressCheckStatus := 1) : (ShowTooltipProgressCheckStatus := 0)
|
||||
|
||||
|
||||
IniRead, AutoUpdateCheck, %SettingsIniFilepath%, General, AutoUpdateCheck, 1
|
||||
(AutoUpdateCheck)?(AutoUpdateCheckCheckStatus := 1) : (AutoUpdateCheckCheckStatus := 0)
|
||||
|
||||
; AutoLogin setting
|
||||
IniRead, AutoLogin, %SettingsIniFilepath%, General, AutoLogin, 1
|
||||
(AutoUpdateCheck)?(AutoUpdateCheckCheckStatus := 1) : (AutoUpdateCheckCheckStatus := 0)
|
||||
|
||||
IniRead, PingOnCompletion, %SettingsIniFilepath%, General, PingOnCompletion, 1
|
||||
(PingOnCompletion)?(PingOnCompletionCheckStatus := 1) : (PingOnCompletionCheckStatus := 0)
|
||||
IniRead, KillLBRYAfterUpload, %SettingsIniFilepath%, General, KillLBRYAfterUpload, 1
|
||||
|
||||
if(PingOnCompletion){
|
||||
IniRead, ConfirmBeforeSubmit, %SettingsIniFilepath%, %ScriptSettingsSection%, ConfirmBeforeSubmit, 0
|
||||
|
||||
|
||||
; Discord Error Logging
|
||||
; ------------------------------------------------
|
||||
IniRead, ErrorLogToDiscord, %SettingsIniFilepath%, %ScriptSettingsSection%, ErrorLogToDiscord, 1
|
||||
IniRead, DiscordPingOnCompletion, %SettingsIniFilepath%, %ScriptSettingsSection%, DiscordPingOnCompletion, 1
|
||||
|
||||
|
||||
|
||||
if(ErrorLogToDiscord || DiscordPingOnCompletion){
|
||||
IniRead, DiscordUsernameID, %SettingsIniFilepath%, General, DiscordUsernameID, %A_space%
|
||||
if(!DiscordUsernameID){
|
||||
Message = DiscordUsernameID is blank. Will not be able to ping to notify when uploads are complete.`nPlease add user ID in settings.ini under: `n`n[General]`nDiscordUsernameID=`nOr Uncheck "Discord Ping on Completion"
|
||||
@@ -161,10 +173,6 @@ if(PingOnCompletion){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
IniRead, KillLBRYAfterUpload, %SettingsIniFilepath%, General, KillLBRYAfterUpload, 1
|
||||
(KillLBRYAfterUpload)?(=KillLBRYAfterUploadCheckStatus := 1) : (KillLBRYAfterUploadCheckStatus := 0)
|
||||
|
||||
IniRead, DiscordErrorLoggingWebhookBotURL, %SettingsIniFilepath%, General, DiscordWebhookBotURL, %A_space%
|
||||
if(DiscordErrorLoggingWebhookBotURL = ""){
|
||||
Message = DiscordErrorLoggingWebhookBotURL is blank. `nWill not be able to post error messages or upload status to discord.`nPlease add discord webhook URL in settings.ini under: `n`n[General]`DiscordErrorLoggingWebhookBotURL=
|
||||
@@ -172,7 +180,6 @@ if(DiscordErrorLoggingWebhookBotURL = ""){
|
||||
}
|
||||
|
||||
|
||||
|
||||
;---Auto Updater Settings---
|
||||
;------------------------------------------------
|
||||
global GitReleasesAPIURL
|
||||
@@ -181,11 +188,7 @@ GitReleasesAPIURL = https://freedomain.dev/api/v1/repos/yuriy/Freedomain-Video-U
|
||||
|
||||
;---LBRY Settings---
|
||||
;------------------------------------------------
|
||||
IniRead, LBRYNewVideoStakeAmount, %SettingsIniFilepath%, General, LBRYNewVideoStakeAmount, %A_Space%
|
||||
if(LBRYNewVideoStakeAmount = ""){
|
||||
LBRYNewVideoStakeAmount = 1.0
|
||||
IniWrite, %LBRYNewVideoStakeAmount%, %SettingsIniFilepath%, General, LBRYNewVideoStakeAmount
|
||||
}
|
||||
IniRead, LBRYNewVideoStakeAmount, %SettingsIniFilepath%, General, LBRYNewVideoStakeAmount, 1.0
|
||||
|
||||
IniRead, LBRYChannelID, %SettingsIniFilepath%, General, LBRYChannelID, %A_Space%
|
||||
if(LBRYChannelID = ""){
|
||||
@@ -194,12 +197,10 @@ if(LBRYChannelID = ""){
|
||||
}
|
||||
|
||||
|
||||
|
||||
;---Read Info From Project Files---
|
||||
;------------------------------------------------
|
||||
|
||||
; if passed argument is .exe file, then script has just been udpated and we need to move the old version
|
||||
if(InStr(PassedParameter,ScriptName) and InStr(PassedParameter,".exe")){
|
||||
; Set Settings based on Passed in Arguments
|
||||
; ------------------------------------------------
|
||||
; if passed argument is .exe file, then script has just been updated and we need to move the old version
|
||||
if(InStr(PassedInArgument1_Filepath,ScriptName) and InStr(PassedInArgument1_Filepath,".exe")){
|
||||
|
||||
; create backups folder if it doesn't exist
|
||||
BackupsFolder = %LibFolder%\Backups\
|
||||
@@ -210,44 +211,51 @@ if(InStr(PassedParameter,ScriptName) and InStr(PassedParameter,".exe")){
|
||||
}
|
||||
|
||||
; move old version to backups folder, overwrite if name conflict
|
||||
FileMove, %PassedParameter%, %BackupsFolder%\*, 1
|
||||
FileDelete, %PassedInArgument1_Filepath%
|
||||
if(ErrorLevel){ ; most likely because the old version hasn't finished exiting yet
|
||||
SaveOrPostProgress(Message:="Moving Old Version to Backups",PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar")
|
||||
sleep, 2000
|
||||
FileMove, %PassedParameter%, %BackupsFolder%\*, 1
|
||||
FileDelete, %PassedInArgument1_Filepath%
|
||||
if(ErrorLevel){
|
||||
MsgBox,,Update Successful, Update was successful`, but unable to move old version to the Backups folder.`nPlease move it or delete it manually.
|
||||
MsgBox,,Update Successful, Update was successful`, but failed to delete the old version, most likely due to it running.`nPlease delete it manually.
|
||||
}
|
||||
ToolTip
|
||||
}
|
||||
; Change paramter to LastPost so last post gets automatically opened instead of user having to re-select the file again
|
||||
PassedParameter = LastPost
|
||||
; Change parameter to "LastPost" so last post now gets automatically opened instead of user having to re-select the file again
|
||||
PassedInArgument1_Filepath = LastPost
|
||||
}
|
||||
|
||||
if(PassedParameter = "LastPost"){
|
||||
IniRead, PassedParameter, %SettingsIniFilepath%, %ScriptSettingsSection%, LastPost, %A_Space%
|
||||
if(PassedInArgument1_Filepath = "LastPost"){
|
||||
IniRead, PassedInArgument1_Filepath, %SettingsIniFilepath%, %ScriptSettingsSection%, LastPost, %A_Space%
|
||||
}
|
||||
|
||||
if(PassedParameter = "ShowResults"){
|
||||
IniRead, PassedParameter, %SettingsIniFilepath%, %ScriptSettingsSection%, LastPost, %A_Space%
|
||||
if(PassedInArgument2_Action = "ShowResults"){
|
||||
IniRead, PassedInArgument1_Filepath, %SettingsIniFilepath%, %ScriptSettingsSection%, LastPost, %A_Space%
|
||||
}
|
||||
|
||||
|
||||
|
||||
PassedParameterLength := StrLen(PassedParameter)
|
||||
if(PassedParameterLength < 5 and !InStr(PassedParameter, ".exe")){
|
||||
; Show File Selection Dialogue
|
||||
; ------------------------------------------------
|
||||
PassedInArgument1_FilepathLength := StrLen(PassedInArgument1_Filepath)
|
||||
if(PassedInArgument1_FilepathLength < 5 and !InStr(PassedInArgument1_Filepath, ".exe")){
|
||||
FileSelectFile, BodyTextFilePath,,%RootDirToStartIn%,Please Select ANY File Within the Project Folder
|
||||
if(ErrorLevel)
|
||||
Return
|
||||
}
|
||||
else, {
|
||||
SkipUpdateCheckThisRun := 1
|
||||
BodyTextFilePath := PassedParameter
|
||||
BodyTextFilePath := PassedInArgument1_Filepath
|
||||
}
|
||||
|
||||
|
||||
; @todo Do this with an array. Add all filepaths to array and then pull out the ones with the extension.
|
||||
; get directory from the filepath grabbed
|
||||
|
||||
|
||||
|
||||
|
||||
; Read Info From Project Files
|
||||
;------------------------------------------------
|
||||
; get project directory from the "BodyTextFilePath"
|
||||
; BodyTextFilePath will be any file from within the update directory
|
||||
SplitPath, BodyTextFilePath, OutFileName, VideoFolderDir, OutExtension, OutNameNoExt, OutDrive
|
||||
|
||||
Loop, files, %VideoFolderDir%\*.*, F ; loop through the files in the directory
|
||||
@@ -277,7 +285,7 @@ Loop, files, %VideoFolderDir%\*.*, F ; loop through the files in the director
|
||||
FileRead, VideoTags, %A_LoopFileFullPath%
|
||||
FileRead, PodcastTags, %A_LoopFileFullPath%
|
||||
OriginalVideoTags := VideoTags
|
||||
OriginalPodcastTags := PodcastTags
|
||||
OriginalPodcastTags := PodcastTags ; set in case there is no keywords_podcast file
|
||||
}
|
||||
|
||||
if(FileNameWExt = "keywords_podcast.txt"){
|
||||
@@ -301,11 +309,6 @@ Loop, files, %VideoFolderDir%\*.*, F ; loop through the files in the director
|
||||
}
|
||||
}
|
||||
|
||||
if(VideoDescription = ""){
|
||||
; @todo: is this used anymore?
|
||||
FileRead, VideoDescription, %A_scriptDir%\Lib\DescriptionTemplate.txt
|
||||
}
|
||||
|
||||
; Loop through the folder again to find the correct .WAV audio file as Stef has multiple in there and we need the .mp4 file to be found first so we know what to look for file name wise.
|
||||
Loop, files, %VideoFolderDir%\*.flac, F ; loop through the files in the directory
|
||||
{ ; D = Directories, F = Files, R = Recursive
|
||||
@@ -341,8 +344,6 @@ Loop, files, %VideoFolderDir%\*.mp3, F ; loop through the files in the direct
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
;---Read Info From Previous Run And Set Upload Options---
|
||||
;--------------------------------------------------------
|
||||
VideoLinksIniFile = %VideoFolderDir%\VideoLinks.ini
|
||||
@@ -396,13 +397,12 @@ if(FileExist(VideoLinksIniFile)){
|
||||
|
||||
; Create a directory for errorlogging if this is the first time working on this project
|
||||
if(ErrorLoggingFilePath = ""){
|
||||
; DevModeMsgBox("generating filepath")
|
||||
FormatTime, TodayDate , YYYYMMDDHH24MISS, yyyyMMdd_hhmmss
|
||||
ErrorLoggingDirectory := ErrorLoggingFolder . "\" . TodayDate . "_FVU"
|
||||
ErrorLoggingDirectory := ErrorLoggingFolder . "\" . TodayDate . "_" . ScriptNameAcronym
|
||||
FileCreateDir, %ErrorLoggingDirectory%
|
||||
ErrorLoggingFilePath := ErrorLoggingFolder . "\" . TodayDate . "_FVU\ErrorLogging.txt" ; Set locaiton where error logging text will go
|
||||
ErrorLoggingFilePath := ErrorLoggingFolder . "\" . TodayDate . "_" . ScriptNameAcronym . "\ErrorLogging.txt" ; Set locaiton where error logging text will go
|
||||
|
||||
; Write both filepaths to .ini file
|
||||
; Save ErrorLoggingFilePath to project settings file so it can be reused if doing multiple runs
|
||||
IniWrite, %ErrorLoggingFilePath%, %VideoLinksIniFile%, Misc, ErrorLoggingFilePath
|
||||
}
|
||||
|
||||
@@ -411,113 +411,68 @@ if(PodcastNumber = ""){
|
||||
PodcastNumber := PodcastNumber[2]
|
||||
}
|
||||
|
||||
; Set Websites to Upload to
|
||||
; ------------------------------------------------
|
||||
; Set the checkmark status of each item based on the variable status
|
||||
; (StreamanityURL != "")?(StreamanityCheckStatus := 0) : (StreamanityCheckStatus := 1)
|
||||
(BitChuteURL != "")?(BitChuteCheckStatus := 0) : (BitChuteCheckStatus := 1)
|
||||
(BitChuteURL)?(BitChute := 0) : (BitChute := 1)
|
||||
(RumbleURL)?(Rumble := 0) : (Rumble := 1)
|
||||
(DailyMotionURL)?(DailyMotion := 0) : (DailyMotion := 1)
|
||||
|
||||
(OdyseeVideoURL != "")?(OdyseeVideoCheckStatus := 0) : (OdyseeVideoCheckStatus := 1)
|
||||
(OdyseeVideoThumb != "")?(OdyseeVideoThumbCheckStatus := 0) : (OdyseeVideoThumbCheckStatus := 0)
|
||||
OdyseeAudioThumbCheckStatus := 0
|
||||
if(OdyseeAudioURL OR WavAudioFilepath = "")
|
||||
OdyseeAudioCheckStatus := 0
|
||||
/*
|
||||
if(OdyseeAudioThumb OR WavAudioFilepath = "")
|
||||
OdyseeAudioThumbCheckStatus := 0
|
||||
; if user tried to upload to locals already and still needs to grab the url
|
||||
if(LocalsURL = "" OR LocalsURL = "LocalsUploadStartedNeedToGrabURL"){
|
||||
Locals := 1
|
||||
}
|
||||
else,
|
||||
Locals := 0
|
||||
|
||||
*/
|
||||
(RumbleURL != "")?(RumbleCheckStatus := 0) : (RumbleCheckStatus := 1)
|
||||
; if user tried to upload to locals already and still needs to grab the url, check
|
||||
(LocalsURL = "LocalsUploadStartedNeedToGrabURL")?(LocalsCheckStatus := 1) : (LocalsCheckStatus := 0)
|
||||
(BrighteonURL != "")?(BrighteonCheckStatus := 0) : (BrighteonCheckStatus := 1)
|
||||
(OdyseeVideoURL)?(OdyseeVideo := 0) : (OdyseeVideo := 1)
|
||||
(OdyseeAudioURL || WavAudioFilepath = "")?(OdyseeAudio := 0) : (OdyseeAudio := 1)
|
||||
|
||||
; Brighteon has 6GB video file size limit
|
||||
(BrighteonURL)?(Brighteon := 0) : (Brighteon := 1)
|
||||
if(VideoFileSizeInMB > 6144){
|
||||
VideoFileSizeOver6GB := 1
|
||||
BrighteonCheckStatus := 0
|
||||
Brighteon := 0
|
||||
}
|
||||
|
||||
|
||||
; Override Website statuses if this is a schedule post based on Argument3
|
||||
; ------------------------------------------------
|
||||
if(PassedInArgument2_Action = "Scheduled"){
|
||||
; if(PassedInArgument3_Details){
|
||||
|
||||
(InStr(PassedInArgument3_Details, "Locals"))?(Locals := 1) : (Locals := 0)
|
||||
(InStr(PassedInArgument3_Details, "Bitchute"))?(Bitchute := 1) : (Bitchute := 0)
|
||||
(InStr(PassedInArgument3_Details, "OdyseeVideo"))?(OdyseeVideo := 1) : (OdyseeVideo := 0)
|
||||
(InStr(PassedInArgument3_Details, "OdyseeAudio"))?(OdyseeAudio := 1) : (OdyseeAudio := 0)
|
||||
(InStr(PassedInArgument3_Details, "Rumble"))?(Rumble := 1) : (Rumble := 0)
|
||||
(InStr(PassedInArgument3_Details, "Brighteon"))?(Brighteon := 1) : (Brighteon := 0)
|
||||
(InStr(PassedInArgument3_Details, "DailyMotion"))?(DailyMotion := 1) : (DailyMotion := 0)
|
||||
|
||||
; }
|
||||
goto, StartScheduledPost
|
||||
}
|
||||
|
||||
(DailyMotionURL != "")?(DailyMotionCheckStatus := 0) : (DailyMotionCheckStatus := 1)
|
||||
FacebookCheckStatus := 0
|
||||
TelegramCheckStatus := 0
|
||||
|
||||
;---/Read Info From Previous Run And Set Upload Options---
|
||||
;--------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
;---Testing Mode Overrides---
|
||||
;------------------------------------------------
|
||||
IniRead, TestingMode, %SettingsIniFilepath%, General, TestingMode, 0
|
||||
if(TestingMode OR DevMode){ ; save currently seelcted sites to ini file for next test
|
||||
; IniRead, Streamanity, %SettingsIniFilepath%, Testing, Streamanity, %A_Space%
|
||||
; (Streamanity)?(StreamanityCheckStatus := 1) : (StreamanityCheckStatus := 0)
|
||||
IniRead, BitChute, %SettingsIniFilepath%, Testing, BitChute, %A_Space%
|
||||
(BitChute)?(BitChuteCheckStatus := 1) : (BitChuteCheckStatus := 0)
|
||||
|
||||
IniRead, OdyseeVideo, %SettingsIniFilepath%, Testing, OdyseeVideo, %A_Space%
|
||||
(OdyseeVideo)?(OdyseeVideoCheckStatus := 1) : (OdyseeVideoCheckStatus := 0)
|
||||
|
||||
IniRead, OdyseeVideoThumb, %SettingsIniFilepath%, Testing, OdyseeVideoThumb, %A_Space%
|
||||
(OdyseeVideoThumb)?(OdyseeVideoThumbCheckStatus := 1) : (OdyseeVideoThumbCheckStatus := 0)
|
||||
|
||||
IniRead, OdyseeAudio, %SettingsIniFilepath%, Testing, OdyseeAudio, %A_Space%
|
||||
(OdyseeAudio)?(OdyseeAudioCheckStatus := 1) : (OdyseeAudioCheckStatus := 0)
|
||||
|
||||
IniRead, OdyseeAudioThumb, %SettingsIniFilepath%, Testing, OdyseeAudioThumb, %A_Space%
|
||||
(OdyseeAudioThumb)?(OdyseeAudioThumbCheckStatus := 1) : (OdyseeAudioThumbCheckStatus := 0)
|
||||
|
||||
IniRead, Rumble, %SettingsIniFilepath%, Testing, Rumble, %A_Space%
|
||||
(Rumble)?(RumbleCheckStatus := 1) : (RumbleCheckStatus := 0)
|
||||
|
||||
IniRead, Brighteon, %SettingsIniFilepath%, Testing, Brighteon, %A_Space%
|
||||
(Brighteon)?(BrighteonCheckStatus := 1) : (BrighteonCheckStatus := 0)
|
||||
|
||||
IniRead, DailyMotion, %SettingsIniFilepath%, Testing, DailyMotion, %A_Space%
|
||||
(DailyMotion)?(DailyMotionCheckStatus := 1) : (DailyMotionCheckStatus := 0)
|
||||
|
||||
IniRead, Locals, %SettingsIniFilepath%, Testing, Locals, %A_Space%
|
||||
(Locals)?(LocalsCheckStatus := 1) : (LocalsCheckStatus := 0)
|
||||
|
||||
IniRead, Telegram, %SettingsIniFilepath%, Testing, Telegram, %A_Space%
|
||||
(Telegram)?(TelegramCheckStatus := 1) : (TelegramCheckStatus := 0)
|
||||
|
||||
IniRead, Facebook, %SettingsIniFilepath%, Testing, Facebook, %A_Space%
|
||||
(Facebook)?(FacebookCheckStatus := 1) : (FacebookCheckStatus := 0)
|
||||
}
|
||||
|
||||
|
||||
if(PassedParameter = "ShowResults"){
|
||||
if(PassedInArgument2_Action = "ShowResults"){
|
||||
goto, DisplayResults
|
||||
}
|
||||
|
||||
|
||||
|
||||
; Main GUI Window
|
||||
; ------------------------------------------------
|
||||
#include %A_scriptDir%\Modules\GUI-Main-Window.ahk
|
||||
gosub, SetAndShowMainGUI
|
||||
|
||||
|
||||
; Write current project to ini file for easy reloading
|
||||
IniWrite, %BodyTextFilePath%, %SettingsIniFilepath%, %ScriptSettingsSection%, LastPost
|
||||
|
||||
|
||||
URunTime1 := round(((A_TickCount - UStartTime) / 1000), 2)
|
||||
|
||||
;---Check for Updates---
|
||||
;------------------------------------------------
|
||||
if(AutoUpdateCheck AND !UpdateAvailable){
|
||||
Message = Checking for Updates
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
|
||||
if(CheckForUpdates(GitReleasesAPIURL))
|
||||
GuiControl,,UpdateAvailable, Uploader Update Available!
|
||||
|
||||
if(CheckForChromeUpdates(ChromeFilepath)){
|
||||
GuiControl,,ChromeUpdateAvailable, Chrome Update Available!
|
||||
ChromeUpdateAvailable := 1
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
; calculate run time and convert to seconds
|
||||
URunTime2 := round(((A_TickCount - UStartTime) / 1000), 2)
|
||||
RunTimeToShowGui := round(((A_TickCount - UStartTime) / 1000), 2)
|
||||
|
||||
Return
|
||||
|
||||
@@ -584,6 +539,17 @@ OpenGiteaPage:
|
||||
run, https://freedomain.dev/yuriy/video-uploader
|
||||
Return
|
||||
|
||||
UncheckAllPlatforms:
|
||||
GuiControl,,Bitchute, 0
|
||||
GuiControl,,Locals, 0
|
||||
GuiControl,,OdyseeVideo, 0
|
||||
GuiControl,,OdyseeAudio, 0
|
||||
GuiControl,,Rumble, 0
|
||||
GuiControl,,DailyMotion, 0
|
||||
GuiControl,,Brighteon, 0
|
||||
|
||||
Return
|
||||
|
||||
|
||||
|
||||
SelectVideoFilepath:
|
||||
@@ -632,36 +598,10 @@ UpdateScript()
|
||||
; @todo: Save any changes made to the script before installing update
|
||||
Return
|
||||
|
||||
UpdateChrome:
|
||||
|
||||
|
||||
if(CheckForChromeUpdates = "")
|
||||
Status := CheckForChromeUpdates(ChromeFilepath)
|
||||
|
||||
if(!status){
|
||||
OnMessage(0x44, "OnMsgBoxConfirmChromiumOverwrite")
|
||||
MsgBox 0x41, Already Up-to-Date, Yor current Chromium version is already up to date. `nDo you want to download and overwrite it?
|
||||
OnMessage(0x44, "")
|
||||
|
||||
IfMsgBox OK, {
|
||||
Return
|
||||
} Else IfMsgBox Cancel, {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Status := DownloadLatestChromium()
|
||||
if(Status)
|
||||
GuiControl,,ChromeUpdateAvailable, Chrome Up-to-Date
|
||||
|
||||
|
||||
Return
|
||||
/*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
CreateDescriptionForSocialMedia(){
|
||||
SplitText = Free Documentaries:
|
||||
|
||||
@@ -681,29 +621,16 @@ WinGetPos, XPosition, YPosition, , , A
|
||||
IniWrite, %XPosition%, %SettingsIniFilepath%, General, XPosition
|
||||
IniWrite, %YPosition%, %SettingsIniFilepath%, General, YPosition
|
||||
|
||||
Gui, Submit
|
||||
Gui, Destroy
|
||||
Gui, Submit, NoHide
|
||||
|
||||
|
||||
|
||||
|
||||
; Save Testing Mode Info
|
||||
;------------------------------------------------
|
||||
if(TestingMode){ ; save currently seelcted sites to ini file for next test
|
||||
; IniWrite, %Streamanity%, %SettingsIniFilepath%, Testing, Streamanity
|
||||
IniWrite, %BitChute%, %SettingsIniFilepath%, Testing, BitChute
|
||||
IniWrite, %OdyseeVideo%, %SettingsIniFilepath%, Testing, OdyseeVideo
|
||||
IniWrite, %OdyseeVideoThumb%, %SettingsIniFilepath%, Testing, OdyseeVideoThumb
|
||||
IniWrite, %OdyseeAudio%, %SettingsIniFilepath%, Testing, OdyseeAudio
|
||||
IniWrite, %OdyseeAudioThumb%, %SettingsIniFilepath%, Testing, OdyseeAudioThumb
|
||||
IniWrite, %Rumble%, %SettingsIniFilepath%, Testing, Rumble
|
||||
IniWrite, %Brighteon%, %SettingsIniFilepath%, Testing, Brighteon
|
||||
IniWrite, %DailyMotion%, %SettingsIniFilepath%, Testing, DailyMotion
|
||||
IniWrite, %Locals%, %SettingsIniFilepath%, Testing, Locals
|
||||
IniWrite, %Telegram%, %SettingsIniFilepath%, Testing, Telegram
|
||||
IniWrite, %Facebook%, %SettingsIniFilepath%, Testing, Facebook
|
||||
if(VideoFilepath = ""){
|
||||
Msgbox,4096,Error,No Video Filepath Found.`nPlease Input Video Filepath to Upload a Video.
|
||||
Return
|
||||
}
|
||||
|
||||
; Destroy GUI after checking everything is working
|
||||
Gui, Destroy
|
||||
|
||||
; Save Video Info
|
||||
;------------------------------------------------
|
||||
; if changes made, delete the original file and save the new content to it
|
||||
@@ -739,22 +666,21 @@ if(VideoDescription != OriginalVideoDescription){
|
||||
}
|
||||
|
||||
|
||||
|
||||
; -------------------------------/Save Video Info-------------------------------
|
||||
|
||||
; Save Script Settings to File
|
||||
; ------------------------------------------------
|
||||
; Save settings to config file
|
||||
IniWrite, %ShowTooltipProgress%, %SettingsIniFilepath%, General, ShowTooltipProgress
|
||||
IniWrite, %AutoUpdateCheck%, %SettingsIniFilepath%, General, AutoUpdateCheck
|
||||
IniWrite, %AutoLogin%, %SettingsIniFilepath%, General, AutoLogin
|
||||
IniWrite, %PingOnCompletion%, %SettingsIniFilepath%, General, PingOnCompletion
|
||||
IniWrite, %ErrorLogToDiscord%, %SettingsIniFilepath%, %ScriptSettingsSection%, ErrorLogToDiscord
|
||||
IniWrite, %DiscordPingOnCompletion%, %SettingsIniFilepath%, %ScriptSettingsSection%, DiscordPingOnCompletion
|
||||
IniWrite, %KillLBRYAfterUpload%, %SettingsIniFilepath%, General, KillLBRYAfterUpload
|
||||
IniWrite, %ConfirmBeforeSubmit%, %SettingsIniFilepath%, %ScriptSettingsSection%, ConfirmBeforeSubmit
|
||||
|
||||
; Used by Post Scheduler, filepath changes between script updates
|
||||
IniWrite, %A_ScriptFullPath%, %SettingsIniFilepath%, Filepaths, VideoUploaderFilepath
|
||||
|
||||
if(VideoFilepath = ""){
|
||||
Msgbox,4096,Error,No Video Filepath Found.`nPlease Input Video Filepath to Upload a Video.
|
||||
run, "%A_ScriptFullPath%" "LastPost"
|
||||
ExitApp
|
||||
}
|
||||
StartScheduledPost:
|
||||
|
||||
; Format the LBRYURLSlug to be API Compatible
|
||||
if(LBRYURLSlug = "") ; if slug spot is blank, then set it to video title
|
||||
@@ -769,18 +695,14 @@ IniWrite, %VideoThumbFilepath%, %VideoLinksIniFile%, Misc, VideoThumbFilepath
|
||||
|
||||
|
||||
|
||||
; -------------------------------Log Info To Text-------------------------------
|
||||
|
||||
(Facebook = 1)?(PostedWebsites .= "Facebook|") : ()
|
||||
(Bitchute = 1)?(PostedWebsites .= "Bitchute|") : ()
|
||||
(Locals = 1)?(PostedWebsites .= "Locals|") : ()
|
||||
(Rumble = 1)?(PostedWebsites .= "Rumble|") : ()
|
||||
(Brighteon = 1)?(PostedWebsites .= "Brighteon|") : ()
|
||||
; (Streamanity = 1)?(PostedWebsites .= "Streamanity|") : ()
|
||||
(Telegram = 1)?(PostedWebsites .= "Telegram|") : ()
|
||||
(DailyMotion = 1)?(PostedWebsites .= "DailyMotion|") : ()
|
||||
(OdyseeVideo = 1)?(PostedWebsites .= "OdyseeVideo|") : ()
|
||||
(OdyseeAudio = 1)?(PostedWebsites .= "OdyseeAudio|") : ()
|
||||
; -------------------------------Log Info To Text-------------------------------s
|
||||
(Bitchute)?(PostedWebsites .= "Bitchute|") : ()
|
||||
(Locals)?(PostedWebsites .= "Locals|") : ()
|
||||
(Rumble)?(PostedWebsites .= "Rumble|") : ()
|
||||
(Brighteon)?(PostedWebsites .= "Brighteon|") : ()
|
||||
(DailyMotion)?(PostedWebsites .= "DailyMotion|") : ()
|
||||
(OdyseeVideo)?(PostedWebsites .= "OdyseeVideo|") : ()
|
||||
(OdyseeAudio)?(PostedWebsites .= "OdyseeAudio|") : ()
|
||||
|
||||
|
||||
; Log Basic info to the errorlogging file
|
||||
@@ -903,9 +825,7 @@ if(LocalsGrabURL){
|
||||
; ------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
if(URLOfLastErrorPage != ""){
|
||||
if(URLOfLastErrorPage){
|
||||
Message = Activating Tab of last failed post.
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip")
|
||||
|
||||
@@ -921,7 +841,7 @@ else,
|
||||
Message = All Videos Uploaded Successfully
|
||||
|
||||
|
||||
if(PingOnCompletion)
|
||||
if(DiscordPingOnCompletion)
|
||||
Message = <@%DiscordUsernameID%>: %Message%
|
||||
else,
|
||||
Message = %Message%
|
||||
@@ -940,7 +860,6 @@ Gui, Destroy ; destroy GUI in case we're going from the main screen to results w
|
||||
|
||||
IniRead, MouseClicksSaved, %SettingsIniFilepath%, General, MouseClicksSaved, %A_Space%
|
||||
IniRead, TotalVideosUploaded, %SettingsIniFilepath%, General, TotalVideosUploaded, %A_Space%
|
||||
; IniRead, StreamanityURL, %VideoLinksIniFile%, URLs, StreamanityURL, %A_Space%
|
||||
IniRead, BitChuteURL, %VideoLinksIniFile%, URLs, BitChuteURL, %A_Space%
|
||||
|
||||
IniRead, OdyseeVideoURL, %VideoLinksIniFile%, URLs, OdyseeVideoURL, %A_Space%
|
||||
@@ -955,7 +874,6 @@ OdyseeAudioThumb := StrReplace(OdyseeAudioThumb, "Thumb:", "")
|
||||
|
||||
IniRead, LocalsURL, %VideoLinksIniFile%, URLs, LocalsURL, %A_Space%
|
||||
IniRead, RumbleURL, %VideoLinksIniFile%, URLs, RumbleURL, %A_Space%
|
||||
IniRead, FacebookURL, %VideoLinksIniFile%, URLs, FacebookURL, %A_Space%
|
||||
IniRead, BrighteonURL, %VideoLinksIniFile%, URLs, BrighteonURL, %A_Space%
|
||||
IniRead, DailyMotionURL, %VideoLinksIniFile%, URLs, DailyMotionURL, %A_Space%
|
||||
IniRead, PodcastNumber, %VideoLinksIniFile%, Misc, PodcastNumber, %A_Space%
|
||||
@@ -978,12 +896,56 @@ if(PodcastNumber = "") {
|
||||
|
||||
; Show Results GUI Window
|
||||
; ------------------------------------------------
|
||||
#include %A_scriptDir%\Modules\GUI-Results-Window.ahk
|
||||
|
||||
gosub, SetGUIVariables
|
||||
gosub, SetAndShowResultsGUI
|
||||
; #include %A_scriptDir%\Modules\GUI-Results-Window.ahk
|
||||
|
||||
SaveCurrentChromeVersionToIniFile()
|
||||
|
||||
Return
|
||||
|
||||
|
||||
|
||||
; GoTo's
|
||||
; ------------------------------------------------
|
||||
|
||||
SubmitScheduler:
|
||||
Gui, Submit
|
||||
|
||||
; format and combine date and time
|
||||
FormatTime, ScheduledDateOnly , %ScheduledDate%, yyyyMMdd
|
||||
FormatTime, ScheduledTimeOnly , %ScheduledTime%, HHmmss
|
||||
TimeStamp := ScheduledDateOnly . ScheduledTimeOnly
|
||||
|
||||
; create schedule post ini file
|
||||
ScheduleFileFilepath = %A_scriptDir%/Scheduled-Posts
|
||||
if(!FileExist(ScheduleFileFilepath)){
|
||||
FileCreateDir, %ScheduleFileFilepath%
|
||||
}
|
||||
ScheduleFileFilepath = %ScheduleFileFilepath%\%TimeStamp%.ini
|
||||
|
||||
IniWrite, %TimeStamp%, %ScheduleFileFilepath%, Schedule-Info, Timestamp
|
||||
IniWrite, %BodyTextFilePath%, %ScheduleFileFilepath%, Schedule-Info, ProjectFilepath
|
||||
IniWrite, Video, %ScheduleFileFilepath%, Schedule-Info, PostType
|
||||
IniWrite, %VideoTitle%, %ScheduleFileFilepath%, Schedule-Info, Title
|
||||
|
||||
; Generate variable with each of the checked ON sites
|
||||
(BitChute)?(VideoSites .= "Bitchute" . "|"):()
|
||||
(Locals)?(VideoSites .= "Locals" . "|"):()
|
||||
(OdyseeVideo)?(VideoSites .= "OdyseeVideo" . "|"):()
|
||||
(OdyseeAudio)?(VideoSites .= "OdyseeAudio" . "|"):()
|
||||
(Brighteon)?(VideoSites .= "Brighteon" . "|"):()
|
||||
(DailyMotion)?(VideoSites .= "DailyMotion" . "|"):()
|
||||
(Rumble)?(VideoSites .= "Rumble" . "|"):()
|
||||
|
||||
IniWrite, %VideoSites%, %ScheduleFileFilepath%, Schedule-Info, Sites
|
||||
|
||||
IniRead, OutputVar, Filename, Section, Key [, Default]
|
||||
|
||||
|
||||
Return
|
||||
|
||||
OpenLBRYBlobFilesFolder:
|
||||
try,
|
||||
run, C:\Users\%A_UserName%\AppData\Local\lbry\lbrynet\blobfiles
|
||||
@@ -996,7 +958,7 @@ StartSocialMediaPoster:
|
||||
; IniRead, SocialMediaPosterFilepath, %SettingsIniFilepath%, General, FDRRadioUN, %A_Space%
|
||||
IniRead, SocialMediaPosterFilepath, %SettingsIniFilepath%, SocialMediaPoster, SocialMediaPosterFilepath, %A_Space%
|
||||
|
||||
if(SocialMediaPosterFilepath = "" or !FileExist(SocialMediaPosterFilepath)){
|
||||
if(!SocialMediaPosterFilepath or !FileExist(SocialMediaPosterFilepath)){
|
||||
OnMessage(0x44, "OnMsgBoxSocialMediaPoster")
|
||||
MsgBox 0x21, Filepath Not Found, Unable to find filepath for Social Media Poster`nWould you like to add it?
|
||||
OnMessage(0x44, "")
|
||||
@@ -1013,7 +975,7 @@ if(SocialMediaPosterFilepath = "" or !FileExist(SocialMediaPosterFilepath)){
|
||||
Return
|
||||
}
|
||||
|
||||
IniWrite, %SocialMediaPosterFilepath%, %SettingsIniFilepath%, SocialMediaPoster, SocialMediaPosterFilepath
|
||||
IniWrite, %SocialMediaPosterFilepath%, %SettingsIniFilepath%, Filepaths, SocialMediaPosterFilepath
|
||||
|
||||
}
|
||||
run, %SocialMediaPosterFilepath% "%VideoLinksIniFile%"
|
||||
@@ -1205,7 +1167,10 @@ Return
|
||||
;------------------------------------------------
|
||||
#Include %A_ScriptDir%\Modules\Podcast-Upload.ahk
|
||||
|
||||
|
||||
; Update Functionality
|
||||
; ------------------------------------------------
|
||||
#Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Update-Functions.ahk
|
||||
#Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Shared-GoTos.ahk
|
||||
|
||||
; GUI Windows
|
||||
; ------------------------------------------------
|
||||
#include C:\Users\%A_Username%\Syncthing\Git\Freedomain-Video-Uploader\Modules\GUI-Main-Window.ahk
|
||||
|
||||
Submodule Lib/Freedomain-Posters-Shared-Functions updated: 8395c5c367...cf56ae8136
@@ -89,6 +89,8 @@ else, {
|
||||
MainButtonHeight := 30
|
||||
SecondaryButtonHeights := 35
|
||||
}
|
||||
|
||||
|
||||
Return
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -21,31 +21,6 @@ CheckLBRYProcess() ; double check lbry process
|
||||
|
||||
SaveOrPostProgress(Message:="Starting Upload",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
|
||||
|
||||
; If LBRY Killer not found, then download it
|
||||
; @todo: Add LBRY kill download functionality from gitea
|
||||
|
||||
LBRYKillerPath := LibFolder . "\LBRY Process Killer.exe"
|
||||
if(!FileExist(LBRYKillerPath)){
|
||||
|
||||
; Msgbox % "LBRYKillerPath: " LBRYKillerPath
|
||||
; Msgbox % "LBRYProcessKillerURL: " LBRYProcessKillerURL
|
||||
LBRYKillerPath = %A_ScriptDir%\Lib\LBRY Process Killer.exe
|
||||
LBRYKillerUpdateURL = https://freedomain.dev/yuriy/video-uploader/raw/branch/main/Modules/LBRY-Process-Killer.exe
|
||||
|
||||
Message = LBRY Process Killer Not Found. Automatically Downloading.
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
|
||||
UrlDownloadToFile, %LBRYKillerUpdateURL%, %LBRYKillerPath%
|
||||
if(ErrorLevel){
|
||||
Message = Failed to download the the LBRY-Killer.exe from %LBRYKillerUpdateURL%
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
TooltipThis("Uploading Video through API")
|
||||
; Variables of items that need to be replaced before argument is passed to API
|
||||
Apostrophe = '
|
||||
@@ -201,13 +176,6 @@ if(!InStr(UploadResult, "permanent_url")){ ; if no permanent_url is generated th
|
||||
Return
|
||||
}
|
||||
|
||||
if(KillLBRYAfterUpload){
|
||||
try run, %LBRYKillerPath%
|
||||
catch e {
|
||||
Message = LBRYKiller not found. Unable to find File.
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
}
|
||||
}
|
||||
|
||||
; Transform the Upload Result json into the LBRY.tv link
|
||||
; PermanentURL := GetPermanentLBRYURL(UploadResult) ; get permanentURL from the upload result json
|
||||
@@ -360,7 +328,40 @@ if(LBRYUploadType = "Audio"){
|
||||
IniWrite, %OdyseeAudioURL%, %VideoLinksIniFile%, URLs, OdyseeAudioURL
|
||||
}
|
||||
|
||||
if(!LBRYKillerStarted){
|
||||
|
||||
; If LBRY Killer not found, then download it
|
||||
; @todo: Add LBRY kill download functionality from gitea
|
||||
LBRYKillerPath := LibFolder . "\LBRY Process Killer.exe"
|
||||
if(!FileExist(LBRYKillerPath)){
|
||||
|
||||
; Msgbox % "LBRYKillerPath: " LBRYKillerPath
|
||||
; Msgbox % "LBRYProcessKillerURL: " LBRYProcessKillerURL
|
||||
LBRYKillerPath = %A_ScriptDir%\Lib\LBRY Process Killer.exe
|
||||
LBRYKillerUpdateURL = https://freedomain.dev/yuriy/video-uploader/raw/branch/main/Modules/LBRY-Process-Killer.exe
|
||||
|
||||
Message = LBRY Process Killer Not Found. Automatically Downloading.
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
|
||||
UrlDownloadToFile, %LBRYKillerUpdateURL%, %LBRYKillerPath%
|
||||
if(ErrorLevel){
|
||||
Message = Failed to download the the LBRY-Killer.exe from %LBRYKillerUpdateURL%
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(KillLBRYAfterUpload){
|
||||
try run, %LBRYKillerPath%
|
||||
catch e {
|
||||
Message = LBRYKiller not found. Unable to find File.
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
}
|
||||
LBRYKillerStarted := 1
|
||||
}
|
||||
|
||||
}
|
||||
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
; SaveDriverURL()
|
||||
AddToTotalVideosUploadedCount()
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
[Video-Uploader]
|
||||
Version=3.36
|
||||
Version=3.37
|
||||
Name=Freedomain Video Uploader
|
||||
|
||||
Reference in New Issue
Block a user