Compare commits

...

7 Commits

Author SHA1 Message Date
95bda715cb fixed errorlog to text formatting 2024-07-04 00:45:14 -04:00
ae2027826f telegram API always return data instead of only on error 2024-07-04 00:38:16 -04:00
670b97d6b1 cleared error message 2024-07-04 00:28:26 -04:00
4a1d2a5d9d removed deletion of chromedrivermover when updating chrome 2024-07-04 00:17:16 -04:00
8447b6009a Gitea automation functions 2024-07-02 19:25:30 -04:00
62e8afebb8 aspect ratio calc function 2024-06-24 22:34:51 -04:00
e654611bf3 added devmode status message 2024-06-21 22:53:08 -04:00
9 changed files with 316 additions and 21 deletions

View File

@@ -167,7 +167,7 @@ SendTelegramPhoto(token, chatID, file, caption := "", ParseMode := "MarkdownV2")
whr := ; free COM object
; Msgbox % "json_resp: " json_resp
if(InStr(json_resp, "error_code"))
; if(InStr(json_resp, "error_code"))
Return json_resp
}
@@ -195,7 +195,7 @@ SendTelegramVideo(token, chatID, file, caption := "", ParseMode := "MarkdownV2")
whr := ; free COM object
; Msgbox % "json_resp: " json_resp
if(InStr(json_resp, "error_code"))
; if(InStr(json_resp, "error_code"))
Return json_resp
}
@@ -224,7 +224,7 @@ SendTelegramFile(token, chatID, file, caption := "", ParseMode := "MarkdownV2")
whr := ; free COM object
; Msgbox % "json_resp: " json_resp
if(InStr(json_resp, "error_code"))
; if(InStr(json_resp, "error_code"))
Return json_resp
}

View File

@@ -230,7 +230,7 @@ DownloadLatestChromium(){
; Check if the Copy-ChromeDriver-To-Program-Files.exe file exists
; @todo, remove later. this is temporary to fix chromedriver-mover being broken and needing to be replaced
FileDelete, %ChromeDriverMoverEXEFilepath%
; FileDelete, %ChromeDriverMoverEXEFilepath%
Message = Checking Chromedriver-Mover.exe exists
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
@@ -351,10 +351,13 @@ GetInstalledChromeFilepath(){
if(FileExist(ChromePortableFilepath))
ChromeFilepath := ChromePortableFilepath
Message = Using Chromium Portable for Upload
SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile,DiscordErrorLogging")
; Message = Using Chromium Portable for Upload
; SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile,DiscordErrorLogging")
}
else {
Message = Chrome.exe not found in \Lib\
SaveOrPostProgress(Message,PostType:=",ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
MsgBox 0x10, Chrome Not Found, Chrome for Testing not found.`nIf this is your first time running on this computer, please click the "Chrome Up-To-Date" button to download the latest chrome binaries.
}
}

View File

@@ -109,13 +109,9 @@ Func_LogErrorsToTextFile(Text){
; ErrorLoggingFile := Filepath
FormatTime, TodayDate , YYYYMMDDHH24MISS, yyyyMMdd_hhmmss
text =
(
---------------%TodayDate%---------------
%Text%
text =`n`n---------------%TodayDate%---------------`n%Text%
)
FileAppend, %Text%, %ErrorLoggingFilePath%
}
; -------------------------------/LogErrorsToTextFile-------------------------------
@@ -605,6 +601,22 @@ GetDateOrdinalSuffix(D) {
}
; Calculate the aspect ratio of a video/image using the width + height
getAspectRatio(width, height) {
gcd := gcdFunc(width, height)
return round(width/gcd) ":" round(height/gcd)
}
; The gcdFunc() is a helper function that calculates the GCD (greatest common divisor) of two numbers using the Euclidean algorithm.
; Used for calculating aspect ratio of Videos
gcdFunc(a, b) {
while b
t := b, b := Mod(a, b), a := t
return a
}
; OnMsgbox - Custom Msgbox Screens

View File

@@ -0,0 +1,47 @@
$apiurl=$args[0]
$apitoken=$args[1]
$filename=$args[2]
$filepath=$args[3]
Write-Host "apiurl: $apiurl"
Write-Host "apitoken: $apitoken"
Write-Host "filename: $filename"
Write-Host "filepath: $filepath"
# Load the required .NET assemblies
Add-Type -AssemblyName System.Net.Http
# Create Object and Load the required .NET assemblies
$httpClient = New-Object System.Net.Http.HttpClient
# $url = 'https://git.zinchuk.xyz/api/v1/repos/yuriy/TestRepo/releases/22/assets'
# $fileName = 'TestFile58.exe'
# $token = '2cf4a54d941'
$headers = @{
'accept' = 'application/json'
'Content-Type' = 'multipart/form-data'
}
# $filePath = "C:\Users\yuriy\Syncthing\Git\TestREpo\test.exe"
$fileBytes = [System.IO.File]::ReadAllBytes($filePath)
$fileStream = [System.IO.MemoryStream]::new($fileBytes)
$httpClient = [System.Net.Http.HttpClient]::new()
$httpClient.DefaultRequestHeaders.Add('Authorization', "Bearer $apitoken")
$multipartFormData = New-Object System.Net.Http.MultipartFormDataContent
$fileContent = New-Object System.Net.Http.StreamContent -ArgumentList $fileStream
$fileContent.Headers.ContentDisposition = New-Object System.Net.Http.Headers.ContentDispositionHeaderValue -ArgumentList "form-data"
$fileContent.Headers.ContentDisposition.Name = "attachment"
$fileContent.Headers.ContentDisposition.FileName = $fileName
# $fileContent.Headers.ContentType = [System.Net.Http.Headers.MediaTypeHeaderValue]::Parse("text/plain")
$fileContent.Headers.ContentType = [System.Net.Http.Headers.MediaTypeHeaderValue]::Parse("application/x-msdownload")
$multipartFormData.Add($fileContent)
$response = $httpClient.PostAsync($apiurl, $multipartFormData).Result
$responseContent = $response.Content.ReadAsStringAsync().Result
Write-Output $responseContent

62
Gitea-CreateRelease.ps1 Normal file
View File

@@ -0,0 +1,62 @@
<#
.SYNOPSIS
Create a new release on on a Gitea site using the Gitea API
.DESCRIPTION
The Add-Numbers function takes two integer parameters, $Number1 and $Number2,
and returns the sum of those two numbers.
.PARAMETER APIURL
The Repo Releases API URL of the Gitea site, including the API Key.
Example: "https://gitea.example.com/api/v1/repos/yuriy/TESTREPO/releases?token=aaabbbcccdd"
.PARAMETER ReleaseName
Name for the release that will be created
.PARAMETER ReleaseTag
Tag for the release that will be created
.PARAMETER ReleaseBody
Body Text for the release that will be created
.EXAMPLE
Gitea-CreateRelease.ps1 "https://gitea.example.com/api/v1/repos/yuriy/TESTREPO/releases?token=aaabbbcccdd" "1.0" "1.0" "Initial Release"
.NOTES
This function was created as an example for a PowerShell documentation demonstration.
.LINK
https://example.com/powershell-functions
#>
$APIURL=$args[0]
$ReleaseName=$args[1]
$ReleaseTag=$args[2]
$ReleaseBody=$args[3]
<#
Write-Host "APIURL: $APIURL"
Write-Host "ReleaseTag: $ReleaseTag"
Write-Host "ReleaseName: $ReleaseName"
Write-Host "ReleaseBody: $ReleaseBody"
#>
$headers = @{
"accept" = "application/json"
"Content-Type" = "application/json"
}
$body = @{
"body" = "${ReleaseBody}"
"draft" = $false
"name" = "${ReleaseTag}"
"prerelease" = $false
"tag_name" = "${ReleaseTag}"
# "target_commitish" = "string"
} | ConvertTo-Json
# Write-Host "body: " $body
$Result = Invoke-RestMethod -Uri $APIURL -Method Post -Headers $headers -Body $body
Write-Host $Result

63
Gitea-Functions.ps1 Normal file
View File

@@ -0,0 +1,63 @@
<#
.SYNOPSIS
Adds two numbers and returns the result.
.DESCRIPTION
The Add-Numbers function takes two integer parameters, $Number1 and $Number2,
and returns the sum of those two numbers.
.PARAMETER Number1
The first number to add.
.PARAMETER Number2
The second number to add.
.EXAMPLE
$sum = Add-Numbers -Number1 5 -Number2 10
Write-Host "The sum is: $sum"
.NOTES
This function was created as an example for a PowerShell documentation demonstration.
.LINK
https://example.com/powershell-functions
#>
$APIURL=$args[0]
$ReleaseName=$args[1]
$ReleaseTag=$args[2]
$ReleaseBody=$args[3]
function CreateRelease {
param (
[string]$APIURL,
[string]$ReleaseName,
[string]$ReleaseID,
[string]$ReleaseBody,
)
$headers = @{
"accept" = "application/json"
"Content-Type" = "application/json"
}
$body = @{
"body" = "${ReleaseBody}"
"draft" = $false
"name" = "${ReleaseTag}"
"prerelease" = $false
"tag_name" = "${ReleaseTag}"
"target_commitish" = "string"
} | ConvertTo-Json
# Write-Host "body: " $body
$Result = Invoke-RestMethod -Uri $APIURL -Method Post -Headers $headers -Body $body
Write-Host $Result
}
Write-FullName -FirstName "John" -LastName "Doe"

View File

@@ -21,6 +21,10 @@ GrabLocalsPostURLUsingTitle(PostTitle){
try ElementInnerText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
Try ElementOuterHTML := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
if(Devmode){
Msgbox % "ElementInnerText: " ElementInnerText "`n" "ElementOuterHTML: " ElementOuterHTML
}
if(InStr(ElementInnerText, PostTitle)){
Message = Found Post Title in Element Number: %A_index%

View File

@@ -1,12 +1,18 @@
URLDownloadToVar(url){
hObject:=ComObjCreate("WinHttp.WinHttpRequest.5.1")
hObject.Open("GET",url)
Try, hObject.Open("GET",url)
catch e {
Message = Error Ocurred when trying to do GET Request using URLDownloadToVar to`n: %URL%
SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile,ErrorSummaryVar")
}
try {
hObject.Send()
}
catch e {
Message = Error Ocurred when trying to hObject.Send() with URLDownloadToVar Function
SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile,ErrorSummaryVar")
; MsgBox, 4096, Error, Failed to connect to:`n`n%url%`n`nAre you connected to the internet? Or is the website down?`n`nDisable Auto Update Check to disable this message.
return ""
}

View File

@@ -0,0 +1,98 @@
; https://www.autohotkey.com/boards/viewtopic.php?t=112391
; Usage:
; cred := CredRead("CREDENTIALNAME", NewlineInPassword := 1)
; Username := cred.username
; Password := cred.password
; msgbox % cred.username
; msgbox % cred.password
; Functions
;------------------------------------------------
CredWrite(name, username, password)
{
VarSetCapacity(cred, 24 + A_PtrSize * 7, 0)
cbPassword := StrLen(password)*2
NumPut(1 , cred, 4+A_PtrSize*0, "UInt") ; Type = CRED_TYPE_GENERIC
NumPut(&name , cred, 8+A_PtrSize*0, "Ptr") ; TargetName = name
NumPut(cbPassword, cred, 16+A_PtrSize*2, "UInt") ; CredentialBlobSize
NumPut(&password , cred, 16+A_PtrSize*3, "UInt") ; CredentialBlob
NumPut(3 , cred, 16+A_PtrSize*4, "UInt") ; Persist = CRED_PERSIST_ENTERPRISE (roam across domain)
NumPut(&username , cred, 24+A_PtrSize*6, "Ptr") ; UserName
return DllCall("Advapi32.dll\CredWriteW"
, "Ptr", &cred ; [in] PCREDENTIALW Credential
, "UInt", 0 ; [in] DWORD Flags
, "UInt") ; BOOL
}
CredDelete(name)
{
return DllCall("Advapi32.dll\CredDeleteW"
, "WStr", name ; [in] LPCWSTR TargetName
, "UInt", 1 ; [in] DWORD Type,
, "UInt", 0 ; [in] DWORD Flags
, "UInt") ; BOOL
}
CredRead(name,NewlineInUsername:=0, NewlineInPassword:=0)
{
DllCall("Advapi32.dll\CredReadW"
, "Str", name ; [in] LPCWSTR TargetName
, "UInt", 1 ; [in] DWORD Type = CRED_TYPE_GENERIC (https://learn.microsoft.com/en-us/windows/win32/api/wincred/ns-wincred-credentiala)
, "UInt", 0 ; [in] DWORD Flags
, "Ptr*", pCred ; [out] PCREDENTIALW *Credential
, "UInt") ; BOOL
if !pCred{
; Username
InputBox, Username, Input Username, Username not found. `nPlease Input Username for: `n--%name%--,,,,,,,,%Clipboard% ; , Prompt, HIDE, Width, Height, X, Y, Font, Timeout, Default]
if(ErrorLevel)
return
InputBox, Password, Input Password, Password not found. `nPlease Input Password for: `n--%name%--,,,,,,,,%Clipboard% ; , Prompt, HIDE, Width, Height, X, Y, Font, Timeout, Default]
if(ErrorLevel)
return
if !CredWrite(name, Username, Password)
MsgBox failed to write cred
else, { ; try reading the credential that was just saved
DllCall("Advapi32.dll\CredReadW"
, "Str", name ; [in] LPCWSTR TargetName
, "UInt", 1 ; [in] DWORD Type = CRED_TYPE_GENERIC (https://learn.microsoft.com/en-us/windows/win32/api/wincred/ns-wincred-credentiala)
, "UInt", 0 ; [in] DWORD Flags
, "Ptr*", pCred ; [out] PCREDENTIALW *Credential
, "UInt") ; BOOL
}
if !pCred{
msgbox, Failed to read cred. after writing it to Credential Manager.
return
}
}
name := StrGet(NumGet(pCred + 8 + A_PtrSize * 0, "UPtr"), 256, "UTF-16")
; append new line to end if requested
if(NewlineInUsername)
username := StrGet(NumGet(pCred + 24 + A_PtrSize * 6, "UPtr"), 256, "UTF-16") . "`n"
else,
username := StrGet(NumGet(pCred + 24 + A_PtrSize * 6, "UPtr"), 256, "UTF-16")
len := NumGet(pCred + 16 + A_PtrSize * 2, "UInt")
; append new line to end if requested
if(NewlineInPassword)
password := StrGet(NumGet(pCred + 16 + A_PtrSize * 3, "UPtr"), len/2, "UTF-16") . "`n"
else,
password := StrGet(NumGet(pCred + 16 + A_PtrSize * 3, "UPtr"), len/2, "UTF-16")
DllCall("Advapi32.dll\CredFree", "Ptr", pCred)
return {"name": name, "username": username, "password": password}
}
; Misc
;------------------------------------------------
; Escape::ExitApp