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, Размер); + Чтение = Новый ЧтениеДанных(Поток); + Чтение.Пропустить(Смещение); + БуферСтроки = Чтение.ПрочитатьВБуферДвоичныхДанных(Размер); + Чтение.Закрыть(); Возврат ПолучитьСтрокуИзБуфера(БуферСтроки);