diff --git a/README.md b/README.md
index 72d2c9a..01d2e1d 100644
--- a/README.md
+++ b/README.md
@@ -3,9 +3,11 @@
[![GitHub release](https://img.shields.io/github/release/ArKuznetsov/yard.svg?style=flat-square)](https://github.com/ArKuznetsov/yard/releases)
[![GitHub license](https://img.shields.io/github/license/ArKuznetsov/yard.svg?style=flat-square)](https://github.com/ArKuznetsov/yard/blob/develop/LICENSE)
[![Build Status](https://img.shields.io/github/workflow/status/ArKuznetsov/yard/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0)](https://github.com/arkuznetsov/yard/actions/)
-[![Quality Gate](https://img.shields.io/sonar/quality_gate/yard?server=https%3A%2F%2Fopen.checkbsl.org&sonarVersion=8.6)](https://open.checkbsl.org/dashboard/index/yard)
-[![Coverage](https://img.shields.io/sonar/coverage/yard?server=https%3A%2F%2Fopen.checkbsl.org&sonarVersion=8.6)](https://open.checkbsl.org/dashboard/index/yard)
-[![Tech debt](https://img.shields.io/sonar/tech_debt/yard?server=https%3A%2F%2Fopen.checkbsl.org&sonarVersion=8.6)](https://open.checkbsl.org/dashboard/index/yard)
+[![Quality Gate](https://open.checkbsl.org/api/project_badges/measure?project=yard&metric=alert_status)](https://open.checkbsl.org/dashboard/index/yard)
+[![Coverage](https://open.checkbsl.org/api/project_badges/measure?project=yard&metric=coverage)](https://open.checkbsl.org/dashboard/index/yard)
+[![Tech debt](https://open.checkbsl.org/api/project_badges/measure?project=yard&metric=sqale_index)](https://open.checkbsl.org/dashboard/index/yard)
+
+
Приложение oscript для загрузки и обработки релизов конфигураций 1С.
diff --git a/packagedef b/packagedef
index de53b15..693b12f 100644
--- a/packagedef
+++ b/packagedef
@@ -1,5 +1,5 @@
Описание.Имя("yard")
- .Версия("1.1.0")
+ .Версия("1.2.0")
.ВерсияСреды("1.4")
.ЗависитОт("logos")
.ЗависитОт("asserts")
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
index f1524c2..be80770 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
+++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
@@ -265,7 +265,7 @@
Если ТипЗнч(ПараметрыОбработки.ФильтрВерсий) = Тип("Массив") Тогда
ФильтрВерсий = ПараметрыОбработки.ФильтрВерсий;
Иначе
- ФильтрВерсий = СтрРазделить(ПараметрыОбработки.ФильтрПриложений, "|");
+ ФильтрВерсий = СтрРазделить(ПараметрыОбработки.ФильтрВерсий, "|");
КонецЕсли;
КонецЕсли;
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\320\260\320\271\321\202\320\2601\320\241.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\320\260\320\271\321\202\320\2601\320\241.os"
index 6a6526e..4097673 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\320\260\320\271\321\202\320\2601\320\241.os"
+++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\320\260\320\271\321\202\320\2601\320\241.os"
@@ -377,6 +377,7 @@
ПарольПользователя = Пароль;
КодПереадресации = 302;
+ КодОшибкиАвторизации = 401;
СоединениеРегистрации = Новый HTTPСоединение(СервисАвторизации, , , , , 20);
СоединениеРегистрации.РазрешитьАвтоматическоеПеренаправление = Ложь;
@@ -420,9 +421,18 @@
// Ответ 3 - проверка успешности регистрации
ОтветПроверка = СоединениеРегистрации.ОтправитьДляОбработки(ЗапросОбработка);
+ СообщениеОбОшибке = "Код переадресации не соответствует ожидаемому!";
+
+ Если ОтветПроверка.КодСостояния = КодОшибкиАвторизации Тогда
+ СообщениеОбОшибке = СтрШаблон("Ошибка авторизации на сайте %1/%2 (пользователь: %3)",
+ СервисАвторизации,
+ ЗапросОбработка.АдресРесурса,
+ Имя);
+ КонецЕсли;
+
Утверждения.ПроверитьРавенство(ОтветПроверка.КодСостояния,
КодПереадресации,
- "Код переадресации не соответствует ожидаемому!");
+ СообщениеОбОшибке);
Лог.Отладка("Авторизация: Получен ответ от ресурса ""%1/%2"", переадресация -> ""%3""",
СервисАвторизации,
@@ -788,6 +798,7 @@
ШаблонПоискаВерсий = "
\s*\s*(.*)\s*<\/a>(\s|.)*?"
+ " | \s*(.*)\s*<\/td>(\s|.)*?"
+ + "(?: | \s*(?:.*)\s*<\/td>(?:\s|.)*?)?"
+ " | \s*(.*)\s*<\/td>";
ШаблонПоискаКолонокБетаВерсий = " | .*?<\/td> | (.*?)"
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\277\320\270\321\201\320\276\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\277\320\270\321\201\320\276\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
index 3d8f5e1..980edf5 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\277\320\270\321\201\320\276\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
+++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\277\320\270\321\201\320\276\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
@@ -210,7 +210,7 @@
Если ТипЗнч(ПараметрыОбработки.ФильтрВерсий) = Тип("Массив") Тогда
ФильтрВерсий = ПараметрыОбработки.ФильтрВерсий;
Иначе
- ФильтрВерсий = СтрРазделить(ПараметрыОбработки.ФильтрПриложений, "|");
+ ФильтрВерсий = СтрРазделить(ПараметрыОбработки.ФильтрВерсий, "|");
КонецЕсли;
КонецЕсли;
@@ -422,7 +422,7 @@
Служебный.УбратьКавычки(ВремФильтрПриложений);
УстановитьПараметрОбработкиДанных("ФильтрПриложений" , ВремФильтрПриложений);
- ВремФильтрВерсий = Команда.ЗначениеОпции("app-filter");
+ ВремФильтрВерсий = Команда.ЗначениеОпции("version-filter");
Служебный.УбратьКавычки(ВремФильтрВерсий);
УстановитьПараметрОбработкиДанных("ФильтрВерсий" , ВремФильтрВерсий);
diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os"
index 673a41a..e6b871c 100644
--- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os"
+++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os"
@@ -162,7 +162,7 @@
//
Функция Версия() Экспорт
- Возврат "1.1.0";
+ Возврат "1.2.0";
КонецФункции // Версия()
diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272.os"
index 191d2ee..1c785e2 100644
--- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272.os"
+++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272.os"
@@ -352,8 +352,8 @@
ФайлыВАрхиве = Новый Массив();
- Бинарник = Новый ДвоичныеДанные(ПутьКФайлуDeflate);
- Поток = Бинарник.ОткрытьПотокДляЧтения();
+ Поток = ПутьКФайлуDeflate;
+
НачальноеСмещение = 0;
См4 = 4;
@@ -418,8 +418,6 @@
СмещениеИмениФайла = СмещениеИмениФайла + ДлинаБлокаИмениФайла;
КонецЦикла;
- Поток.Закрыть();
-
Возврат ФайлыВАрхиве;
КонецФункции // ПолучитьСписокФайловВАрхиве()
@@ -471,8 +469,7 @@
ОбщийПуть = Служебный.ОбщийПутьФайлов(ФайлыВАрхиве);
КонецЕсли;
- Бинарник = Новый ДвоичныеДанные(ПутьКФайлуDeflate);
- Поток = Бинарник.ОткрытьПотокДляЧтения();
+ Поток = ПутьКФайлуDeflate;
Для Каждого ТекСтрока Из ФайлыВАрхиве Цикл
@@ -491,8 +488,6 @@
КонецЦикла;
- Поток.Закрыть();
-
КонецПроцедуры // ЗаписатьВыбранныеФайлы()
// Процедура - сохраняет указанный файл из потока по указанному пути
@@ -508,10 +503,11 @@
//
Процедура ЗаписатьФайл(Поток, Знач ОписаниеФайла, Знач КаталогРаспаковки)
- БуферДанные = Новый БуферДвоичныхДанных(ОписаниеФайла.Размер);
- Поток.Перейти(ОписаниеФайла.Смещение, ПозицияВПотоке.Начало);
- Поток.Прочитать(БуферДанные, 0, ОписаниеФайла.Размер);
-
+ Чтение = Новый ЧтениеДанных(Поток);
+ Чтение.Пропустить(ОписаниеФайла.Смещение);
+ БуферДанные = Чтение.ПрочитатьВБуферДвоичныхДанных(ОписаниеФайла.Размер);
+ Чтение.Закрыть();
+
ПутьКФайлу = ОбъединитьПути(КаталогРаспаковки, ОписаниеФайла.Имя);
ОбеспечитьКаталог(ПутьКФайлу, Истина);
@@ -679,9 +675,10 @@
//
Функция ПрочитатьРазмер(Поток, Смещение)
- БуферРазмер = Новый БуферДвоичныхДанных(4);
- Поток.Перейти(Смещение, ПозицияВПотоке.Начало);
- Поток.Прочитать(БуферРазмер, 0, 4);
+ Чтение = Новый ЧтениеДанных(Поток);
+ Чтение.Пропустить(Смещение);
+ БуферРазмер = Чтение.ПрочитатьВБуферДвоичныхДанных(4);
+ Чтение.Закрыть();
Возврат БуферРазмер.ПрочитатьЦелое32(0);
@@ -699,9 +696,10 @@
//
Функция ПрочитатьСтрокуИзПотока(Поток, Смещение, Размер)
- БуферСтроки = Новый БуферДвоичныхДанных(Размер);
- Поток.Перейти(Смещение, ПозицияВПотоке.Начало);
- Поток.Прочитать(БуферСтроки, 0, Размер);
+ Чтение = Новый ЧтениеДанных(Поток);
+ Чтение.Пропустить(Смещение);
+ БуферСтроки = Чтение.ПрочитатьВБуферДвоичныхДанных(Размер);
+ Чтение.Закрыть();
Возврат ПолучитьСтрокуИзБуфера(БуферСтроки);
|