diff options
author | Alexander Konarev | 2022-05-05 13:01:49 +0300 |
---|---|---|
committer | Alexander Konarev | 2022-05-05 13:01:49 +0300 |
commit | 076b5d24c199ad54575253c2784c64f452614a02 (patch) | |
tree | 82ea59389a66595d81d1be25f97f55b1d05d2233 | |
parent | 8620a9f824a7755c24b6099ed20413c2eea8e0f8 (diff) | |
download | aur-076b5d24c199ad54575253c2784c64f452614a02.tar.gz |
add version autoupdate
-rwxr-xr-x | PKGBUILD | 20 | ||||
-rw-r--r-- | download.py | 61 |
2 files changed, 51 insertions, 30 deletions
@@ -2,7 +2,7 @@ # Maintainer: Alexander Konarev (avkonarev) <AVKonarev@gmail.com> pkgname=aksusbd-bin -pkgver=8.41 +pkgver=8.41.1 pkgrel=1 pkgdesc="Sentinel AKSUSB daemon supporting Sentinel HASP, HASP HL, HASP4 and Hardlock keys." arch=('i686' 'x86_64') @@ -16,16 +16,22 @@ source=( "0001-patch.patch" "download.py") sha256sums=('6fcb6c4fcba1d01c1b3e68258e95297c323b2cbe8ee75c0a14ac0e9006926312' - 'ad5b14c3eea8acd0195cd2d610958ada9eda05b152a09cf37fa08b934c70593b') + '91cb42b81b77b21f29552da1affa3e4d801fef5cbf2910c96f5a728cded952b3') makedepends=('libarchive' 'python' 'python-pip' 'firefox' - 'geckodriver') + 'geckodriver' + 'tar') conflicts=('ehaspd' 'aksusbd') options=('!strip') +_nver="" +_nrel="" +pkgver() { + echo $_nver.$_nrel +} prepare(){ cd $srcdir @@ -34,11 +40,11 @@ prepare(){ pip install selenium python download.py - tar -xvzf ${_ldk_filename}.tar.gz - tar -xvzf ${_ldk_filename}/aksusbd-${pkgver}.${pkgrel}.tar.gz + _nver=$(cat version.txt| cut -d' ' -f 1) + _nrel=$(cat version.txt| cut -d' ' -f 2) + tar -xvzf ${_ldk_filename}/aksusbd-${_nver}.${_nrel}.tar.gz - # Extract RPM into $srcdir: - bsdtar -xvf ${_pkgname}-${pkgver}.${pkgrel}/pkg/${_pkgname}-${pkgver}-${pkgrel}.${CARCH}.rpm + bsdtar -xvf ${_pkgname}-${_nver}.${_nrel}/pkg/${_pkgname}-${_nver}-${_nrel}.${CARCH}.rpm patch -p1 < 0001-patch.patch } diff --git a/download.py b/download.py index 644aec66637f..d99063e53d2c 100644 --- a/download.py +++ b/download.py @@ -1,6 +1,8 @@ import os import sys import glob +import re +from pathlib import Path from time import sleep from selenium import webdriver from selenium.webdriver.common.by import By @@ -22,31 +24,35 @@ def message(msg): # sys.stdout.flush() +_ldk_filename = "Sentinel_LDK_Linux_Run-time_Installer_script.tar.gz" + def wait_downloading(): timeout_start = 60 timeout_download = 60*5 - for wait_start in range(timeout_start-1): - if len(glob.glob(f'{os.getcwd()}/*.part')) > 0: - for wait_download in range(timeout_download-1): - tmpfiles = glob.glob(f'{os.getcwd()}/*.part') - if len(tmpfiles) > 0: - filesize = os.path.getsize(tmpfiles[0]) - message(f"Downloading file: {humansize(filesize)}") - else: - print("Loading is complete") - return - sleep(1) - else: - if wait_download >= timeout_download: - print("Download interrupted by timeout") - return - sleep(1) + target_path = Path(_ldk_filename) + + if not (target_path.exists() and target_path.stat().st_size>0): + message(f"waiting for download to start {timeout_start} sec.") + while not list(Path('.').glob('*.part')) and timeout_start: + sleep(1) + timeout_start-=1 + + if not list(Path('.').glob('*.part')): + raise Exception("Download failed") + + while (tmp_files:=list(Path('.').glob('*.part'))) and timeout_download: + filesize = os.path.getsize(tmp_files[0]) + message(f"Downloading file: {humansize(filesize)} wait {timeout_download} sec.") + sleep(1) + timeout_download-=1 + + if not (target_path.exists() and target_path.stat().st_size>0): + raise Exception("Download failed") - if wait_start >= timeout_start: - print("Waiting for download interrupted by timeout") + message("Downloading complete\n") -print("Download start..") +print("Download init..") options = webdriver.FirefoxOptions() options.headless = True options.set_preference("browser.download.folderList", 2) @@ -64,9 +70,18 @@ try: browser.find_element(By.LINK_TEXT, "DOW0003342").click() browser.find_element(By.CSS_SELECTOR, ".btn-success").click() -except: - pass -else: + wait_downloading() +except: + exit(1) +finally: + browser.quit() -browser.quit() +os.system(f"tar -xvzf {_ldk_filename}") +for root, dirs, files in os.walk(os.getcwd()): + for file in files: + if match:=re.match("aksusbd-(\d+\.\d+)\.(\d+)", file): + _vers, _rel = match.groups() + os.system(f'echo "{_vers} {_rel}">version.txt') + exit(0) +exit(1)
\ No newline at end of file |