Comments (2)
I have just written a new NeverGreen script to achieve this, this performs a web scrape of https://www.cutepdf.com/products/CutePDF/writer.asp
Then for each file matched, it assigns them to the appropriate Platform
Nevergreen with a Format-Table output (Get-NevergreenApp -Name AcroCutePDF | ft
):
Name Platform Architecture Type Version Uri
---- -------- ------------ ---- ------- ---
Acro Software CutePDF CutePDF Writer multi exe 4.0 http://www.cutepdf.com/download/CuteWriter.exe
Acro Software CutePDF GPL PS Converter multi exe 8.15 http://www.cutepdf.com/download/converter.exe
Here is my script:
# Get-AcroCutePDF.ps1
$AppName = "Acro Software CutePDF"
$ReleaseUrl = "https://www.cutepdf.com/products/CutePDF/writer.asp"
Write-Verbose "Obtaining $($AppName) Release Versions..."
$AppVersions = @(
@{Version = $Version; Type = 'exe'; Platform = 'CutePDF Writer'; Architecture = 'multi'; VersionPattern = 'Ver\.\s*(\d+\.\d+);'; DownloadPattern = '(?s)(<a href="([^"]*CuteWriter\.exe)".*?>.*?Free Download)'}
@{Version = $Version; Type = 'exe'; Platform = 'GPL PS Converter'; Architecture = 'multi'; VersionPattern = 'GPLGS(\d+\.\d+);'; DownloadPattern = '(?s)(<a href="([^"]*converter\.exe)".*?>.*?Free\s*Converter)'}
)
foreach ($AppVersion in $AppVersions) {
$SearchCount = 2 # This may need increasing as future versions are released
[version]$Version = Get-Version -Uri $ReleaseUrl -Pattern $AppVersion.VersionPattern
# Download Url is returned as ../../download/*.exe, so need to remove leading '../../' and append Domain Prefix to generate correct Url
$Uri = Set-UriPrefix -Uri ((Get-Link -Uri $ReleaseUrl -MatchProperty outerHTML -Pattern $AppVersion.DownloadPattern).split("../")[2]) -Prefix 'http://www.cutepdf.com'
do {
if ($Uri) {
#Build each link with Platform specific versions
New-NevergreenApp -Name $AppName -Version $Version -Uri $Uri -Architecture $AppVersion.Architecture -Platform $AppVersion.Platform -Type $AppVersion.Type
break
}
$SearchCount--
} until ($SearchCount -eq 0)
if ($SearchCount -eq 0) {
Write-Warning "Could not find release for $($AppName) $($AppVersion.Platform)"
}
}
from nevergreen.
@DanGough The above script will solve this new app request
from nevergreen.
Related Issues (20)
- [New App Request] MiKTeX (On Proposals list)
- [New App Request] Alludo MindManager (On Proposals list)
- [New App Request] NodeJS (On Proposals list)
- [New App Request] PDFsam (On Proposals list)
- [New App Request] Allround Automations PL/SQL Developer (On Proposals list)
- [New App Request] Office Timeline (On Proposals list)
- [New App Request] Scientific Word (On Proposals list)
- [New App Request] Workleap ShareGate (On Proposals list)
- [New App Request] Sublime Text (On Proposals list)
- [New App Request] TinySpell (On Proposals list)
- [New App Request] TortoiseSVN (On Proposals list)
- [New App Request] Mecurial TortoiseHg (On Proposals list)
- [New App Request] TortoiseGit (On Proposals list)
- [New App Request] Alludo WinZip (On Proposals list)
- [New App Request] Xerox Print Awareness Client (On Proposals list) HOT 1
- [New App Request] Typora (On Proposals list)
- [New App Request] LastPass (On To Do List)
- [New App Request] Microsoft ODBC Driver for SQL Server HOT 2
- Broken links for 3 applications? HOT 2
- [New App Request] Bloomberg (On To Do List)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nevergreen.