56 lines
2.9 KiB
Bash
56 lines
2.9 KiB
Bash
#!/usr/bin/env bash
|
||
# info_ru: Программа автоматизации процесса подготовки юридическими и физическими лицами документов для представления в налоговые органы в электронной форме и на бумажном носителе.
|
||
########################################################################
|
||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||
export WINEPREFIX="nalog"
|
||
export PROG_NAME="Налогоплательщик ЮЛ"
|
||
export PROG_ICON="npul"
|
||
export BASE_PFX="defpfx_x86_v01"
|
||
export WINEARCH="win32"
|
||
export INSTALL_DLL="msxml3 msxml4 msxml6 corefonts wsh57 vcrun6 jet40 gdiplus"
|
||
export WH_WINDOWS_VER="10"
|
||
|
||
NPUL_FILE="${WH_TMP_DIR}/npul.html"
|
||
curl -o "$NPUL_FILE" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "https://www.nalog.gov.ru/rn77/program/5961229/"
|
||
|
||
if [[ ! -f "$NPUL_FILE" ]] \
|
||
|| grep -q "Forbidden" "$NPUL_FILE"
|
||
then
|
||
fatal "Страница сайта не доступна, или превышено количество запросов к странице."
|
||
fi
|
||
|
||
VER_MSI=$(grep -oP 'NalogUL\K[0-9.]+(?=\.msi)' "$NPUL_FILE" | tail -n 1)
|
||
VER_MSI_SLASH=$(grep -oP '[0-9]+\.[0-9]+/NalogUL[0-9]+\.msi' "$NPUL_FILE" | tail -n 1)
|
||
VER_EXE=$(grep -oP 'NalogUL\K[0-9.]+(?=\.exe)' "$NPUL_FILE" | tail -n 1)
|
||
VER_EXE_SLASH=$(grep -oP '[0-9]+\.[0-9]+\.[0-9]+/NalogUL[0-9]+\.exe' "$NPUL_FILE" | tail -n 1)
|
||
|
||
AUTOINSTALL_MSI="${WH_TMP_DIR}/NalogUL${VER_MSI}.msi"
|
||
AUTOINSTALL_EXE="${WH_TMP_DIR}/NalogUL${VER_EXE}.exe"
|
||
|
||
prepair_wine
|
||
if try_download "https://data.nalog.ru/files/nalul/${VER_MSI_SLASH}" "${AUTOINSTALL_MSI}" ; then
|
||
wine_run_install "${AUTOINSTALL_MSI}" /quiet INSTALLDIR="c:\npul"
|
||
try_remove_file "${AUTOINSTALL_MSI}"
|
||
|
||
PRINT_INSTALLER="$(find "$DRIVE_C/npul/INPUTDOC" -name "*.msi")"
|
||
wine_run_install "${PRINT_INSTALLER}" "/q"
|
||
|
||
# Процедуры конвертации, индексация данных. По завершении процедур программа сама закроется. Признаком успешного завершения будет отсутствие в папке с программой файла setupmarker.ini. Если не принять процедуру, .exe файл обновления не установиться.
|
||
wine_run_install "$DRIVE_C/npul/INPUTDOC/inputdoc.exe" go.ini
|
||
#TODO: Сделать запуск процедуры в тихом режиме.
|
||
fi
|
||
|
||
if [[ -n "$VER_EXE" ]] \
|
||
&& try_download "https://data.nalog.ru/files/nalul/${VER_EXE_SLASH}" "${AUTOINSTALL_EXE}"
|
||
then
|
||
wine_run_install "${AUTOINSTALL_EXE}" "/SILENT"
|
||
try_remove_file "${AUTOINSTALL_EXE}"
|
||
else
|
||
print_info "Дополнительных обновлений не требуется."
|
||
fi
|
||
|
||
touch "$DRIVE_C/npul/INPUTDOC/linux.txt"
|
||
WIN_FILE_EXEC="$DRIVE_C/npul/INPUTDOC/inputdoc.exe"
|
||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||
try_remove_file "$NPUL_FILE"
|