From 52a455817eeb699d47017141e4837d7c9ca11274 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:39 +0300 Subject: [PATCH 01/15] =?UTF-8?q?fix:=20=D0=94=D0=BE=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE?= =?UTF-8?q?=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=B7=D0=B0=D0=B3=D1=80?= =?UTF-8?q?=D1=83=D0=B7=D0=BA=D0=B8=20=D0=B1=D0=B5=D1=82=D0=B0-=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=81=D0=B8=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8?= =?UTF-8?q?=D0=B3=D1=83=D1=80=D0=B0=D1=86=D0=B8=D0=B9=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=20=D0=BE=D1=82=D1=81=D1=83=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B8?= =?UTF-8?q?=20=D1=81=D1=82=D0=B0=D0=B1=D0=B8=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9?= =?UTF-8?q?=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\260\320\271\321\202\320\2601\320\241.os" | 39 ++++++++++++++----- ...\266\320\265\320\275\320\270\321\217.json" | 5 ++- ...20\266\320\265\320\275\320\270\321\217.os" | 11 ++++++ 3 files changed, 44 insertions(+), 11 deletions(-) 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 2ba8052..4a8c3a7 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" @@ -75,12 +75,12 @@ ПараметрыПриложения.ШаблонПоискаКонфигураций()); Если НайденныеОписания.Количество() = 0 - ИЛИ НайденныеОписания[0].Группы.Количество() < 6 Тогда + ИЛИ НайденныеОписания[0].Группы.Количество() < 3 Тогда Продолжить; КонецЕсли; НайденноеОписание = НайденныеОписания[0]; - + ТекИмя = НайденноеОписание.Группы[2].Значение; Если НЕ СоответствуетФильтру(ТекИмя, Фильтр) Тогда @@ -90,11 +90,14 @@ ТекКонфигурация = Новый Структура("Имя, Путь, Версия, Дата, Идентификатор, БетаВерсии"); ТекКонфигурация.Имя = ТекИмя; ТекКонфигурация.Путь = НайденноеОписание.Группы[1].Значение; - ТекКонфигурация.Идентификатор = НайденноеОписание.Группы[3].Значение; - ТекКонфигурация.Версия = НайденноеОписание.Группы[4].Значение; - ТекКонфигурация.Дата = Служебный.ДатаИзСтроки(НайденноеОписание.Группы[5].Значение); + ТекКонфигурация.Идентификатор = ""; + ТекКонфигурация.Версия = ""; + ТекКонфигурация.Дата = ""; ТекКонфигурация.БетаВерсии = Новый Массив(); - + + НайденныеОписания = Служебный.НайтиСовпаденияВТексте(ТекстСтрокиКонфигурации, + ПараметрыПриложения.ШаблонПоискаКонфигурацийСВерсиями()); + Если ПолучатьБетаВерсии Тогда ТекКонфигурация.БетаВерсии = ПолучитьСписокБетаВерсий(ТекстСтрокиКонфигурации, ФильтрВерсий, @@ -102,6 +105,23 @@ КонечнаяДата); КонецЕсли; + Если (НайденныеОписания.Количество() = 0 + ИЛИ НайденныеОписания[0].Группы.Количество() < 6) + И ТекКонфигурация.БетаВерсии.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + Если НайденныеОписания.Количество() > 0 Тогда + НайденноеОписание = НайденныеОписания[0]; + ТекКонфигурация.Идентификатор = НайденноеОписание.Группы[3].Значение; + ТекКонфигурация.Версия = НайденноеОписание.Группы[4].Значение; + ТекКонфигурация.Дата = Служебный.ДатаИзСтроки(НайденноеОписание.Группы[5].Значение); + ИначеЕсли ПолучатьБетаВерсии Тогда + ТекКонфигурация.Идентификатор = ТекКонфигурация.БетаВерсии[0].Идентификатор; + ТекКонфигурация.Версия = ТекКонфигурация.БетаВерсии[0].Версия; + ТекКонфигурация.Дата = ТекКонфигурация.БетаВерсии[0].Дата; + КонецЕсли; + СписокКонфигураций.Добавить(ТекКонфигурация); КонецЦикла; @@ -216,7 +236,7 @@ Прервать; КонецЕсли; - ТекНомерВерсии = СсылкиБетаВерсий[й].Группы[2].Значение; + ТекНомерВерсии = СсылкиБетаВерсий[й].Группы[3].Значение; ТекДатаВерсии = Служебный.ДатаИзСтроки(ДатыБетаВерсий[й].Группы[1].Значение); Если НЕ СоответствуетФильтру(ТекНомерВерсии, Фильтр) Тогда @@ -229,10 +249,11 @@ Продолжить; КонецЕсли; - ТекВерсия = Новый Структура("Версия, Дата, Путь, ВерсииДляОбновления, Бета"); + ТекВерсия = Новый Структура("Идентификатор, Версия, Дата, Путь, ВерсииДляОбновления, Бета"); + ТекВерсия.Путь = СсылкиБетаВерсий[й].Группы[1].Значение; + ТекВерсия.Идентификатор = СсылкиБетаВерсий[й].Группы[2].Значение; ТекВерсия.Версия = ТекНомерВерсии; ТекВерсия.Дата = ТекДатаВерсии; - ТекВерсия.Путь = СсылкиБетаВерсий[й].Группы[1].Значение; ТекВерсия.ВерсииДляОбновления = Новый Массив(); ТекВерсия.Бета = Истина; diff --git "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" index d470773..05ce09e 100644 --- "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" +++ "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" @@ -6,9 +6,10 @@ "ШаблонСтрокиРегистрации" : "inviteCode=&username=%1&password=%2&execution=%3&_eventId=submit&geolocation=&submit=Войти&rememberMe=on", "ШаблонПоискаСтрокиРегистрации" : ".*?<\\/tr>", - "ШаблонПоискаКонфигураций" : "(.*)<\/a>.*.*?.*?(\\d(?:\\d|\\.)*)", + "ШаблонПоискаКонфигураций" : "(.*)<\/a>.*?(.*)<\/a>.*.*?.*?(\\d(?:\\d|\\.)*)", "ШаблонПоискаКолонокБетаВерсий" : ".*?<\\/td>(.*?)(.*?)<\\/td>", - "ШаблонПоискаСсылокБетаВерсий" : "(.*?)<\\/a>", + "ШаблонПоискаСсылокБетаВерсий" : ".*?<\\/a>", "ШаблонПоискаДатБетаВерсий" : "(\\d\\d\\.\\d\\d\\.\\d\\d)+", "ШаблонПоискаВерсий" : "\\s*\\s*(.*)\\s*<\\/a>(\\s|.)*?\\s*(.*)\\s*<\\/td>(\\s|.)*?(?:\\s*(?:.*)\\s*<\\/td>(?:\\s|.)*?)?\\s*(.*)\\s*<\\/td>", "ШаблонПоискаАдресаСтраницыЗагрузки" : "
\\s*\\s*(.*)\\s*<\\/a>(\\s|.)*?<\/div>", 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 29ee483..5672907 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" @@ -108,6 +108,17 @@ КонецФункции // ШаблонПоискаКонфигураций() +// Функция - возвращает шаблон поиска конфигураций с указанием версий на странице списка +// +// Возвращаемое значение: +// Строка - шаблон поиска конфигураций с указанием версий на странице списка +// +Функция ШаблонПоискаКонфигурацийСВерсиями() Экспорт + + Возврат ЗначениеРесурса("ШаблонПоискаКонфигурацийСВерсиями"); + +КонецФункции // ШаблонПоискаКонфигурацийСВерсиями() + // Функция - возвращает шаблон поиска колонок со списком предварительных версий // // Возвращаемое значение: From 88b942643d9ce682ab44dc14fa17b125830fef4b Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:40 +0300 Subject: [PATCH 02/15] =?UTF-8?q?fix:=20=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B0=20=D1=81=D0=BE=D1=80=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=B7=D0=B0=D0=B3=D1=80?= =?UTF-8?q?=D1=83=D0=B6=D0=B0=D0=B5=D0=BC=D1=8B=D1=85=20=D0=B1=D0=B5=D1=82?= =?UTF-8?q?=D0=B0-=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B9=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D1=80=D0=B0=D1=81=D1=82=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8E.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\260\320\275\320\275\321\213\321\205.os" | 190 +++++++++--------- ...0\260\320\271\321\202\320\2601\320\241.os" | 4 +- 2 files changed, 100 insertions(+), 94 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205.os" index 38c2d7d..de21a3b 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205.os" @@ -22,13 +22,13 @@ // Путь - Строка - путь к рабочему каталогу // Процедура ДобавитьРабочийКаталог(Знач Псевдоним, Знач Путь) Экспорт - + Если НЕ ТипЗнч(РабочиеКаталоги) = Тип("Соответствие") Тогда РабочиеКаталоги = Новый Соответствие(); КонецЕсли; - + РабочиеКаталоги.Вставить(Псевдоним, Путь); - + КонецПроцедуры // ДобавитьРабочийКаталог() // Функция - возвращает рабочий каталог по указанному псевдониму @@ -40,9 +40,9 @@ // Строка - текущий рабочий каталог // Функция РабочийКаталог(Знач Псевдоним = "$workDir") Экспорт - + Возврат РабочиеКаталоги.Получить(Псевдоним); - + КонецФункции // РабочийКаталог() // Функция - возвращает параметры обработки данных @@ -59,9 +59,9 @@ // (состав полей элемента аналогичен текущему уровню) // Функция ПараметрыОбработкиДанных() Экспорт - + Возврат ПараметрыОбработкиДанных; - + КонецФункции // ПараметрыОбработкиДанных() // Процедура - устанавливает параметры обработки данных @@ -80,12 +80,12 @@ // (состав полей элемента аналогичен текущему уровню) // Процедура УстановитьПараметрыОбработкиДанных(Знач НовыеПараметрыОбработкиДанных) Экспорт - + ПроверитьДопустимостьТипа(НовыеПараметрыОбработкиДанных, "Строка, Файл, ДвоичныеДанные, Структура, Массив", СтрШаблон("Некорректно указаны параметры обработки данных ""%1"",", СокрЛП(НовыеПараметрыОбработкиДанных)) + - ", тип ""%1"", ожидается тип %2!"); + ", тип ""%1"", ожидается тип %2!"); Если ТипЗнч(НовыеПараметрыОбработкиДанных) = Тип("Структура") ИЛИ ТипЗнч(НовыеПараметрыОбработкиДанных) = Тип("Массив") Тогда @@ -93,7 +93,7 @@ Иначе ПараметрыОбработкиДанных = ПрочитатьПараметрыОбработкиДанных(НовыеПараметрыОбработкиДанных); КонецЕсли; - + КонецПроцедуры // УстановитьПараметрыОбработкиДанных() // Функция - читает и возвращает параметры обработки данных из файла JSON, указанного в поле "ПутьКФайлу" @@ -114,14 +114,14 @@ // (состав полей элемента аналогичен текущему уровню) // Функция ПрочитатьПараметрыОбработкиДанных(Знач ПараметрыОбработки) Экспорт - + Лог.Информация("[%1]: Чтение параметров обработки данных: %2", ТипЗнч(ЭтотОбъект), ПараметрыОбработки); ПроверитьДопустимостьТипа(ПараметрыОбработки, "Строка, Файл, ДвоичныеДанные", СтрШаблон("Некорректно указаны настройки ""%1"",", СокрЛП(ПараметрыОбработки)) + - ", тип ""%1"", ожидается тип %2!"); - + ", тип ""%1"", ожидается тип %2!"); + ПараметрыСтрокой = ""; Если ТипЗнч(ПараметрыОбработки) = Тип("Строка") Тогда @@ -144,15 +144,15 @@ Для Каждого ТекРабочийКаталог Из РабочиеКаталоги Цикл ПараметрыСтрокой = СтрЗаменить(ПараметрыСтрокой, - ТекРабочийКаталог.Ключ, - СтрЗаменить(ТекРабочийКаталог.Значение, "\", "\\")); + ТекРабочийКаталог.Ключ, + СтрЗаменить(ТекРабочийКаталог.Значение, "\", "\\")); КонецЦикла; ЧтениеПараметров = Новый ЧтениеJSON(); ЧтениеПараметров.УстановитьСтроку(ПараметрыСтрокой); - + Возврат ПрочитатьJSON(ЧтениеПараметров, Ложь, , ФорматДатыJSON.ISO); - + КонецФункции // ПрочитатьПараметрыОбработкиДанных() // Процедура - выполняет обработку переданных данных с указанными параметрами @@ -170,12 +170,12 @@ // (состав полей элемента аналогичен текущему уровню) // Процедура ОбработатьДанные(Знач Данные = Неопределено, Знач ОписаниеОбработчика = Неопределено) Экспорт - + Если НЕ (ТипЗнч(ОписаниеОбработчика) = Тип("Структура") ИЛИ ТипЗнч(ОписаниеОбработчика) = Тип("Массив")) Тогда ОписаниеОбработчика = ПараметрыОбработкиДанных; КонецЕсли; - + Если ТипЗнч(ОписаниеОбработчика) = Тип("Массив") Тогда Для Каждого ТекОписаниеОбработчика Из ОписаниеОбработчика Цикл ОбработатьДанные(Данные, ТекОписаниеобработчика); @@ -184,13 +184,13 @@ Иначе Лог.Отладка("[%1]: Обработка данных (%2): %3", ТипЗнч(ЭтотОбъект), ОписаниеОбработчика.ИмяОбработки, Данные); КонецЕсли; - + ИнициализироватьОбработчикДанных(ОписаниеОбработчика); Если НЕ Данные = Неопределено Тогда ОписаниеОбработчика.Обработка.УстановитьДанные(Данные); КонецЕсли; - + УстановитьПараметрыОбработчика(ОписаниеОбработчика); Если ОписаниеОбработчика.Свойство("ПроцедураОбработки") Тогда @@ -198,7 +198,7 @@ Иначе ОписаниеОбработчика.Обработка.ОбработатьДанные(); КонецЕсли; - + КонецПроцедуры // ОбработатьДанные() // Процедура - обратного вызова (callback) выполняет вызов обработчиков для переданных данных @@ -208,25 +208,29 @@ // ИдОбработчика - Строка - идентификатор обработчика // Процедура ПродолжениеОбработкиДанных(Знач Данные, Знач ИдОбработчика) Экспорт - + ОписаниеОбработчика = АктивныеОбработчики.Получить(ИдОбработчика); - - Лог.Отладка("[%1]: Продолжение обработки результатов ""%2""", ТипЗнч(ЭтотОбъект), ОписаниеОбработчика.ИмяОбработки); + + Лог.Отладка("[%1]: Продолжение обработки результатов ""%2""", + ТипЗнч(ЭтотОбъект), + ОписаниеОбработчика.ИмяОбработки); Если НЕ ОписаниеОбработчика.Свойство("Обработчики") Тогда Возврат; КонецЕсли; - + Если НЕ ТипЗнч(ОписаниеОбработчика.Обработчики) = Тип("Массив") Тогда Возврат; КонецЕсли; - + Для Каждого ТекОбработчик Из ОписаниеОбработчика.Обработчики Цикл - Лог.Отладка("[%1]: Передача результатов для обработки в ""%2""", ТипЗнч(ЭтотОбъект), ТекОбработчик.ИмяОбработки); + Лог.Отладка("[%1]: Передача результатов для обработки в ""%2""", + ТипЗнч(ЭтотОбъект), + ТекОбработчик.ИмяОбработки); ОбработатьДанные(Данные, ТекОбработчик); КонецЦикла; - + КонецПроцедуры // ПродолжениеОбработкиДанных() // Процедура - обратного вызова (callback) выполняет вызов завершение обработки данных для всех обработчиков @@ -235,9 +239,9 @@ // ИдОбработчика - Строка - идентификатор обработчика // Процедура ЗавершениеОбработкиДанных(Знач ИдОбработчика) Экспорт - + ОписаниеОбработчика = АктивныеОбработчики.Получить(ИдОбработчика); - + Лог.Отладка("[%1]: Завершение обработки результатов ""%2""", ТипЗнч(ЭтотОбъект), ОписаниеОбработчика.ИмяОбработки); Если НЕ ОписаниеОбработчика.Свойство("Обработчики") Тогда @@ -247,11 +251,11 @@ Если НЕ ТипЗнч(ОписаниеОбработчика.Обработчики) = Тип("Массив") Тогда Возврат; КонецЕсли; - + Для Каждого ТекОбработчик Из ОписаниеОбработчика.Обработчики Цикл Лог.Отладка("[%1]: Передача результатов для завершения обработки в ""%2""", - ТипЗнч(ЭтотОбъект), - ТекОбработчик.ИмяОбработки); + ТипЗнч(ЭтотОбъект), + ТекОбработчик.ИмяОбработки); ИнициализироватьОбработчикДанных(ТекОбработчик); @@ -259,7 +263,7 @@ ТекОбработчик.Обработка.ЗавершениеОбработкиДанных(); КонецЦикла; - + КонецПроцедуры // ЗавершениеОбработкиДанных() #КонецОбласти // ПрограммныйИнтерфейс @@ -272,7 +276,7 @@ // Объект - объект управления логированием // Функция Лог() Экспорт - + Возврат Лог; КонецФункции // Лог() @@ -285,8 +289,8 @@ Процедура ОписаниеКоманды(Команда) Экспорт Команда.Аргумент("PATH", - "./yardsettings.json", - "путь к файлу настроек обработки данных (по умолчанию: ./yardsettings.json)") + "./yardsettings.json", + "путь к файлу настроек обработки данных (по умолчанию: ./yardsettings.json)") .ТСтрока() .Обязательный(Ложь) .ВОкружении("YARD_SETTINGS"); @@ -310,7 +314,7 @@ РабочийКаталог = Команда.ЗначениеОпции("work-dir"); ПараметрыПриложения.УстановитьРежимОтладки(ВыводОтладочнойИнформации); - + Файл = Новый Файл(ПараметрыОбработки); ДобавитьРабочийКаталог("$settingsDir", Сред(Файл.Путь, 1, СтрДлина(Файл.Путь) - 1)); @@ -319,11 +323,11 @@ Иначе ДобавитьРабочийКаталог("$workDir", ТекущийКаталог()); КонецЕсли; - + Для Каждого ТекРабочийКаталог Из РабочиеКаталоги Цикл ПараметрыОбработки = СтрЗаменить(ПараметрыОбработки, - ТекРабочийКаталог.Ключ, - ТекРабочийКаталог.Значение); + ТекРабочийКаталог.Ключ, + ТекРабочийКаталог.Значение); КонецЦикла; УстановитьПараметрыОбработкиДанных(ПараметрыОбработки); @@ -352,29 +356,29 @@ // (состав полей элемента аналогичен текущему уровню) // Процедура ИнициализироватьОбработчикДанных(ОписаниеОбработчика) - + Если НЕ ОписаниеОбработчика.Свойство("Обработка") Тогда - + ИмяОбработки = Неопределено; ОписаниеОбработчика.Свойство("ИмяОбработки", ИмяОбработки); - + Если ОписаниеОбработчика.Свойство("ПутьКОбработке") Тогда ФайлОбработки = Новый Файл(Описаниеобработчика.ПутьКОбработке); - + Если НЕ ЗначениеЗаполнено(ИмяОбработки) Тогда ИмяОбработки = ФайлОбработки.ИмяБезРасширения; ОписаниеОбработчика.Вставить("ИмяОбработки", ИмяОбработки); КонецЕсли; Лог.Отладка("[%1]: Подключение обработчика ""%2"" (%3)", - Тип(ЭтотОбъект), - ИмяОбработки, - Описаниеобработчика.ПутьКОбработке); + Тип(ЭтотОбъект), + ИмяОбработки, + Описаниеобработчика.ПутьКОбработке); ПодключитьСценарий(ОписаниеОбработчика.ПутьКОбработке, ИмяОбработки); КонецЕсли; - + Лог.Отладка("[%1]: Инициализация обработчика ""%2""", ТипЗнч(ЭтотОбъект), ИмяОбработки); ОписаниеОбработчика.Вставить("Обработка", Вычислить(СтрШаблон("Новый %1(ЭтотОбъект)", ИмяОбработки))); @@ -387,12 +391,12 @@ Иначе ИдОбработчика = СокрЛП(Новый УникальныйИдентификатор()); КонецЕсли; - + ОписаниеОбработчика.Обработка.УстановитьИдентификатор(ИдОбработчика); АктивныеОбработчики.Вставить(ИдОбработчика, ОписаниеОбработчика); - + КонецЕсли; - + КонецПроцедуры // ИнициализироватьОбработчикДанных() // Процедура - устанавливает параметры обработки - обработчика данных @@ -409,7 +413,7 @@ // (состав полей элемента аналогичен текущему уровню) // Процедура УстановитьПараметрыОбработчика(Знач ОписаниеОбработчика) - + ПараметрыДляУстановки = Новый Структура(); Если ОписаниеОбработчика.Свойство("Параметры") Тогда @@ -417,10 +421,10 @@ Для Каждого ТекПараметр Из ОписаниеОбработчика.Параметры Цикл Лог.Отладка("[%1]: Установка параметра отработчика ""%2 / %3"": ""%4""", - ТипЗнч(ЭтотОбъект), - ОписаниеОбработчика.ИмяОбработки, - ТекПараметр.Ключ, - ТекПараметр.Значение); + ТипЗнч(ЭтотОбъект), + ОписаниеОбработчика.ИмяОбработки, + ТекПараметр.Ключ, + ТекПараметр.Значение); ПараметрыДляУстановки.Вставить(ТекПараметр.Ключ, ТекПараметр.Значение); Если НЕ ТипЗнч(ТекПараметр.Значение) = Тип("Структура") Тогда @@ -439,11 +443,11 @@ ТекПараметр.Ключ, ПараметрыДляУстановки[ТекПараметр.Ключ]); КонецЦикла; - + КонецЕсли; ОписаниеОбработчика.Обработка.УстановитьПараметрыОбработкиДанных(ПараметрыДляУстановки); - + КонецПроцедуры // УстановитьПараметрыОбработчика() // Функция - вычисляет и возвращает значение параметра обработки - обработчика данных @@ -462,7 +466,7 @@ // Произвольный - значение параметра // Функция ВычислитьЗначениеПараметра(Знач ОписаниеПараметра) - + ТекОбработчик = ДополнитьОписаниеПараметраПолучитьОбработчик(ОписаниеПараметра); Если ТекОбработчик = Неопределено Тогда @@ -483,21 +487,21 @@ СписокПараметров = ""; Для й = 0 По ЗначенияПараметров.ВГраница() Цикл СписокПараметров = СписокПараметров + - ?(ПустаяСтрока(СписокПараметров), "", ", ") + - СтрШаблон("ЗначенияПараметров[%1]", й); + ?(ПустаяСтрока(СписокПараметров), "", ", ") + + СтрШаблон("ЗначенияПараметров[%1]", й); КонецЦикла; КодВычисленияЗначения = СтрШаблон("ТекОбработчик.Обработка.%1(%2)", - ОписаниеПараметра.ФункцияПолученияЗначения, - СписокПараметров); + ОписаниеПараметра.ФункцияПолученияЗначения, + СписокПараметров); Попытка ЗначениеПараметра = Вычислить(КодВычисленияЗначения); Исключение ВызватьИсключение СтрШаблон("Ошибка вычисления значения ""%1"":%2%3", - КодВычисленияЗначения, - Символы.ПС, - ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + КодВычисленияЗначения, + Символы.ПС, + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); КонецПопытки; Возврат ЗначениеПараметра; @@ -520,33 +524,33 @@ // Структура - описание обработчика получения параметра (см. параметр "ОписаниеПараметра") // Функция ДополнитьОписаниеПараметраПолучитьОбработчик(Знач ОписаниеПараметра) - + Если НЕ ОписаниеПараметра.Свойство("ФункцияПолученияЗначения") Тогда ОписаниеПараметра.Вставить("ФункцияПолученияЗначения", "РезультатОбработки"); КонецЕсли; - + Если ОписаниеПараметра.Свойство("ИдОбработчика") Тогда - + ТекОбработчик = АктивныеОбработчики.Получить(ОписаниеПараметра.ИдОбработчика); - + ИначеЕсли ОписаниеПараметра.Свойство("ИмяОбработки") Тогда - + Если НЕ ОписаниеПараметра.Свойство("Обработка") Тогда ОписаниеПараметра.Вставить("Обработка"); КонецЕсли; - + Если ОписаниеПараметра.Обработка = Неопределено Тогда ОписаниеПараметра.Обработка = Вычислить(СтрШаблон("Новый %1()", ОписаниеПараметра.ИмяОбработки)); КонецЕсли; - + УстановитьПараметрыОбработчика(ОписаниеПараметра); - + ТекОбработчик = ОписаниеПараметра; - + Иначе Возврат Неопределено; КонецЕсли; - + Возврат ТекОбработчик; КонецФункции // ДополнитьОписаниеПараметраПолучитьОбработчик() @@ -563,9 +567,9 @@ // Булево - Истина - проверка прошла успешно // Функция ПроверитьДопустимостьТипа(Знач Значение, Знач ДопустимыеТипы, Знач ШаблонТекстаОшибки = "") Экспорт - + ТипЗначения = ТипЗнч(Значение); - + Если ТипЗнч(ДопустимыеТипы) = Тип("Строка") Тогда МассивДопустимыхТипов = СтрРазделить(ДопустимыеТипы, ","); ИначеЕсли ТипЗнч(ДопустимыеТипы) = Тип("Массив") Тогда @@ -575,11 +579,11 @@ Тип(ДопустимыеТипы), """Строка"" или ""Массив"""); КонецЕсли; - + Типы = Новый Соответствие(); - + СтрокаДопустимыхТипов = ""; - + Для Каждого ТекТип Из МассивДопустимыхТипов Цикл ВремТип = ?(ТипЗнч(ТекТип) = Тип("Строка"), Тип(СокрЛП(ТекТип)), ТекТип); Типы.Вставить(ВремТип, СокрЛП(ТекТип)); @@ -588,17 +592,17 @@ ?(МассивДопустимыхТипов.Найти(ТекТип) = МассивДопустимыхТипов.ВГраница(), " или ", ", "); КонецЕсли; КонецЦикла; - + Если ШаблонТекстаОшибки = "" Тогда ШаблонТекстаОшибки = "Некорректный тип значения ""%1"" ожидается тип %2!"; КонецЕсли; - + Если Типы[ТипЗначения] = Неопределено Тогда ВызватьИсключение СтрШаблон(ШаблонТекстаОшибки, СокрЛП(ТипЗначения), СтрокаДопустимыхТипов); КонецЕсли; - + Возврат Истина; - + КонецФункции // ПроверитьДопустимостьТипа() // Функция - создает необходимые каталоги для указанного пути @@ -612,14 +616,14 @@ // Булево - указанный путь доступен // Функция ОбеспечитьКаталог(Знач Путь, Знач ЭтоФайл = Ложь) Экспорт - + ВремФайл = Новый Файл(Путь); - + Если ЭтоФайл Тогда Путь = Сред(ВремФайл.Путь, 1, СтрДлина(ВремФайл.Путь) - 1); ВремФайл = Новый Файл(Путь); КонецЕсли; - + Если НЕ ВремФайл.Существует() Тогда Если ОбеспечитьКаталог(Сред(ВремФайл.Путь, 1, СтрДлина(ВремФайл.Путь) - 1)) Тогда СоздатьКаталог(Путь); @@ -627,13 +631,13 @@ Возврат Ложь; КонецЕсли; КонецЕсли; - + Если НЕ ВремФайл.ЭтоКаталог() Тогда ВызватьИсключение СтрШаблон("По указанному пути ""%1"" не удалось создать каталог", Путь); КонецЕсли; - + Возврат Истина; - + КонецФункции // ОбеспечитьКаталог() #КонецОбласти // СлужебныеПроцедурыИФункции 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 4a8c3a7..e6b3c79 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" @@ -259,9 +259,11 @@ СписокБетаВерсий.Добавить(ТекВерсия); КонецЦикла; + + Служебный.СортироватьОписанияВерсийПоНомеру(СписокБетаВерсий); Возврат СписокБетаВерсий; - + КонецФункции // ПолучитьСписокБетаВерсий() // Функция - проверяет наличие ссылок для загрузки с сайта 1С From 74a6351a6bf0cc0cf70bee0e6cf0158c6d82b994 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:40 +0300 Subject: [PATCH 03/15] =?UTF-8?q?fix:=20=D0=9F=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=BE=20=D0=BA=D0=BE=D0=BB=D0=B8=D1=87=D0=B5=D1=81=D1=82=D0=B2?= =?UTF-8?q?=D0=B5=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B6=D0=B0=D0=B5=D0=BC?= =?UTF-8?q?=D1=8B=D1=85=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\273\320\270\320\267\320\276\320\2621\320\241.os" | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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 a1f8aed..ee37437 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" @@ -484,7 +484,12 @@ КонецЕсли; КонецЕсли; - + + ВсегоВерсий = ВерсииПриложения.Количество(); + Если ОграничениеКоличества > 0 Тогда + ВсегоВерсий = Мин(ВерсииПриложения.Количество(), ОграничениеКоличества); + КонецЕсли; + Для Каждого ТекВерсия Из ВерсииПриложения Цикл Если ЗаполнитьВерсии Тогда @@ -501,7 +506,10 @@ КонецЕсли; Если ОграничениеКоличества > 0 Тогда - Лог.Информация("[%1]: Загрузка версии %2 из %3", ТипЗнч(ЭтотОбъект), ОбработаноВерсий + 1, ОграничениеКоличества); + Лог.Информация("[%1]: Загрузка версии %2 из %3", + ТипЗнч(ЭтотОбъект), + ОбработаноВерсий + 1, + ВсегоВерсий); КонецЕсли; Если НЕ ОбработатьВерсиюПриложения(ТекВерсия, Обозреватель) Тогда From 0346fc58461e27da64eca93f28a6dd7b827805f7 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:41 +0300 Subject: [PATCH 04/15] =?UTF-8?q?ci:=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20osc?= =?UTF-8?q?ript?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/qa.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/testing.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index 3954c5f..fbf41d2 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -20,7 +20,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - oscript_version: ['1.6.0'] + oscript_version: ['1.8.3'] steps: # Загрузка проекта diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d1ba001..cc32797 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - oscript_version: ['1.6.0'] + oscript_version: ['1.8.3'] steps: # Загрузка проекта diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index c5897b5..5589b35 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -19,7 +19,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - oscript_version: ['1.6.0'] + oscript_version: ['1.8.3'] steps: # Загрузка проекта From 07aac2523ce111ba1531ecd6b8258f368bf47eb3 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:42 +0300 Subject: [PATCH 05/15] =?UTF-8?q?fix:=20=D0=9F=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=BA=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B9=20=D0=BD=D0=B0=20=D1=81=D0=B0=D0=B9?= =?UTF-8?q?=D1=82=D0=B5=20=D1=80=D0=B5=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- ...\273\320\276\320\266\320\265\320\275\320\270\321\217.json" | 4 ++-- ...20\273\320\276\320\266\320\265\320\275\320\270\321\217.os" | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packagedef b/packagedef index 8640de7..b94c1a0 100644 --- a/packagedef +++ b/packagedef @@ -1,5 +1,5 @@ Описание.Имя("yard") - .Версия("1.9.2") + .Версия("1.9.3") .ВерсияСреды("1.6") .ЗависитОт("logos") .ЗависитОт("asserts") diff --git "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" index 05ce09e..76f12da 100644 --- "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" +++ "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" @@ -6,8 +6,8 @@ "ШаблонСтрокиРегистрации" : "inviteCode=&username=%1&password=%2&execution=%3&_eventId=submit&geolocation=&submit=Войти&rememberMe=on", "ШаблонПоискаСтрокиРегистрации" : ".*?<\\/tr>", - "ШаблонПоискаКонфигураций" : "(.*)<\/a>.*?(.*)<\/a>.*.*?.*?(\\d(?:\\d|\\.)*)", + "ШаблонПоискаКонфигураций" : "(.*?)<\\/a>.*?(.*?)<\\/a>.*.*?.*?(\\d(?:\\d|\\.)*)", "ШаблонПоискаКолонокБетаВерсий" : ".*?<\\/td>(.*?)(.*?)<\\/td>", "ШаблонПоискаСсылокБетаВерсий" : ".*?<\\/a>", "ШаблонПоискаДатБетаВерсий" : "(\\d\\d\\.\\d\\d\\.\\d\\d)+", 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 7472fb7..9f63116 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" @@ -332,7 +332,7 @@ // Функция Версия() Экспорт - Возврат "1.9.2"; + Возврат "1.9.3"; КонецФункции // Версия() From b8313c470760104816604f40da4cb34b6492d30a Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:42 +0300 Subject: [PATCH 06/15] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=20=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D1=81=D0=B8=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- ...\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packagedef b/packagedef index 4d53661..8640de7 100644 --- a/packagedef +++ b/packagedef @@ -1,5 +1,5 @@ Описание.Имя("yard") - .Версия("1.9.1") + .Версия("1.9.2") .ВерсияСреды("1.6") .ЗависитОт("logos") .ЗависитОт("asserts") 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 5672907..7472fb7 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" @@ -332,7 +332,7 @@ // Функция Версия() Экспорт - Возврат "1.9.1"; + Возврат "1.9.2"; КонецФункции // Версия() From d4122e664c1e52ae076f52e91a11fc054c6ad6e6 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:42 +0300 Subject: [PATCH 07/15] =?UTF-8?q?fix:=20=D0=9F=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=BE=D0=BF=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B6=D0=B0=D0=B5?= =?UTF-8?q?=D0=BC=D1=8B=D1=85=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\270\320\267\320\276\320\2621\320\241.os" | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) 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 ee37437..0d3917f 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" @@ -469,22 +469,29 @@ ЗаполнитьВерсии = Истина; Если ТекЭлемент.Свойство("Версии") Тогда - ВерсииПриложения = ТекЭлемент.Версии; + НайденныеВерсии = ТекЭлемент.Версии; ЗаполнитьВерсии = Ложь; Иначе - ВерсииПриложения = Обозреватель.ПолучитьВерсииПриложения(ТекЭлемент.Путь, + НайденныеВерсии = Обозреватель.ПолучитьВерсииПриложения(ТекЭлемент.Путь, ФильтрВерсий, ФильтрВерсийНачинаяСДаты, ФильтрВерсийДоДаты); Если ПолучатьБетаВерсии Тогда Для Каждого ТекБетаВерсия Из ТекЭлемент.БетаВерсии Цикл - ВерсииПриложения.Добавить(ТекБетаВерсия); + НайденныеВерсии.Добавить(ТекБетаВерсия); КонецЦикла; КонецЕсли; КонецЕсли; + ВерсииПриложения = Новый Массив(); + Для Каждого ТекВерсия Из НайденныеВерсии Цикл + Если ЗагружатьВерсию(ТекВерсия) Тогда + ВерсииПриложения.Добавить(ТекВерсия); + КонецЕсли; + КонецЦикла; + ВсегоВерсий = ВерсииПриложения.Количество(); Если ОграничениеКоличества > 0 Тогда ВсегоВерсий = Мин(ВерсииПриложения.Количество(), ОграничениеКоличества); @@ -501,18 +508,13 @@ Обозреватель.ЕстьСсылкаДляЗагрузки(ТекВерсия.Путь, "Дистрибутив обновления$")); КонецЕсли; - Если НЕ ЗагружатьВерсию(ТекВерсия) Тогда - Продолжить; - КонецЕсли; - - Если ОграничениеКоличества > 0 Тогда - Лог.Информация("[%1]: Загрузка версии %2 из %3", - ТипЗнч(ЭтотОбъект), - ОбработаноВерсий + 1, - ВсегоВерсий); - КонецЕсли; + Лог.Информация("[%1]: Загрузка версии %2 из %3", + ТипЗнч(ЭтотОбъект), + ОбработаноВерсий + 1, + ВсегоВерсий); Если НЕ ОбработатьВерсиюПриложения(ТекВерсия, Обозреватель) Тогда + ОбработаноВерсий = ОбработаноВерсий + 1; Продолжить; КонецЕсли; From 19667e8730c66dc0ab31a89fa66734cd905180ed Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:43 +0300 Subject: [PATCH 08/15] =?UTF-8?q?fix:=20=D0=92=20=D1=81=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B0=D0=B5=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=B2=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=87=D0=B8=D0=BA=D0=B5=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BA=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20=D1=80=D0=B5=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=BE=D0=B2=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD?= =?UTF-8?q?=D1=8B=20=D1=84=D0=BB=D0=B0=D0=B3=D0=B8=20"=D0=A0=D0=B0=D1=81?= =?UTF-8?q?=D0=BF=D0=B0=D0=BA=D0=BE=D0=B2=D1=8B=D0=B2=D0=B0=D1=82=D1=8CEFD?= =?UTF-8?q?"=20(--extract)=20=D0=B8=20"=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=D0=9F=D0=BE=D1=81=D0=BB=D0=B5=D0=A0=D0=B0=D1=81?= =?UTF-8?q?=D0=BF=D0=B0=D0=BA=D0=BE=D0=B2=D0=BA=D0=B8EFD"=20(--delete),=20?= =?UTF-8?q?=D1=82=D0=BE=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8=20?= =?UTF-8?q?=D1=82=D0=B0=D0=BA=D0=B6=D0=B5=20=D0=B8=D1=89=D1=83=D1=82=D1=81?= =?UTF-8?q?=D1=8F=20=D0=B2=20=D0=BA=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0=B3?= =?UTF-8?q?=D0=B5=20"=D0=9A=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0=B3=D0=94?= =?UTF-8?q?=D0=BB=D1=8F=D0=A0=D0=B0=D1=81=D0=BF=D0=B0=D0=BA=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8EFD"=20(--extract-path).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- ...\320\273\320\270\320\267\320\276\320\2621\320\241.os" | 9 ++++++--- ...3\320\276\320\266\320\265\320\275\320\270\321\217.os" | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packagedef b/packagedef index b94c1a0..8f55338 100644 --- a/packagedef +++ b/packagedef @@ -1,5 +1,5 @@ Описание.Имя("yard") - .Версия("1.9.3") + .Версия("1.9.4") .ВерсияСреды("1.6") .ЗависитОт("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 0d3917f..549dab8 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" @@ -1003,9 +1003,12 @@ ЗагруженныеВерсии = Новый Соответствие(); КонецЕсли; - ФайлыОписанийВерсий = НайтиФайлы(ОбъединитьПути(КаталогДляСохранения, ИдентификаторПриложения), - "description.json", - Истина); + + КаталогЗагруженныхВерсий = ОбъединитьПути(КаталогДляСохранения, ИдентификаторПриложения); + Если УдалитьПослеРаспаковкиEFD И РаспаковыватьEFD И ЗначениеЗаполнено(КаталогДляРаспаковкиEFD) Тогда + КаталогЗагруженныхВерсий = ОбъединитьПути(КаталогДляРаспаковкиEFD, ИдентификаторПриложения); + КонецЕсли; + ФайлыОписанийВерсий = НайтиФайлы(КаталогЗагруженныхВерсий, "description.json", Истина); Если НЕ ТипЗнч(ЗагруженныеВерсии.Получить(ИдентификаторПриложения)) = Тип("Массив") Тогда ЗагруженныеВерсии.Вставить(ИдентификаторПриложения, Новый Массив()); 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 9f63116..a42d07a 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" @@ -332,7 +332,7 @@ // Функция Версия() Экспорт - Возврат "1.9.3"; + Возврат "1.9.4"; КонецФункции // Версия() From d5cf951935d05eee7009984a1915348c19f50c2b Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:44 +0300 Subject: [PATCH 09/15] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20=D1=81=D1=81=D1=8B=D0=BB?= =?UTF-8?q?=D0=BE=D0=BA=20=D0=BD=D0=B0=20=D1=81=D0=BA=D0=B0=D1=87=D0=B8?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20(#40)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ну давай посмотрим, сколько продержится. :-) --- ...\273\320\276\320\266\320\265\320\275\320\270\321\217.json" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" index 76f12da..3f4ff40 100644 --- "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" +++ "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" @@ -12,7 +12,7 @@ "ШаблонПоискаСсылокБетаВерсий" : ".*?<\\/a>", "ШаблонПоискаДатБетаВерсий" : "(\\d\\d\\.\\d\\d\\.\\d\\d)+", "ШаблонПоискаВерсий" : "\\s*\\s*(.*)\\s*<\\/a>(\\s|.)*?\\s*(.*)\\s*<\\/td>(\\s|.)*?(?:\\s*(?:.*)\\s*<\\/td>(?:\\s|.)*?)?\\s*(.*)\\s*<\\/td>", - "ШаблонПоискаАдресаСтраницыЗагрузки" : "
\\s*\\s*(.*)\\s*<\\/a>(\\s|.)*?<\/div>", + "ШаблонПоискаАдресаСтраницыЗагрузки" : "
\\s*(?:
\\s*)?\\s*(.*)\\s*<\\/a>(\\s|.)*?<\/div>", "ШаблонПоискаСсылкиДляЗагрузки" : "
(\\s|.)*?\\s*Скачать дистрибутив\\s*<\\/a>(\\s|.)*?<\\/div>", "ШаблонПоискаПутиКФайлуВАдресе" : "\\?.*path=(.+)(?:\\z|&)" -} \ No newline at end of file +} From 540faec04881883f47df417c0b60a79e905c2b60 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:44 +0300 Subject: [PATCH 10/15] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- ...320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os" | 1 - ...\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packagedef b/packagedef index 8f55338..b1a64ce 100644 --- a/packagedef +++ b/packagedef @@ -1,5 +1,5 @@ Описание.Имя("yard") - .Версия("1.9.4") + .Версия("1.9.5") .ВерсияСреды("1.6") .ЗависитОт("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 549dab8..dc815af 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" @@ -1003,7 +1003,6 @@ ЗагруженныеВерсии = Новый Соответствие(); КонецЕсли; - КаталогЗагруженныхВерсий = ОбъединитьПути(КаталогДляСохранения, ИдентификаторПриложения); Если УдалитьПослеРаспаковкиEFD И РаспаковыватьEFD И ЗначениеЗаполнено(КаталогДляРаспаковкиEFD) Тогда КаталогЗагруженныхВерсий = ОбъединитьПути(КаталогДляРаспаковкиEFD, ИдентификаторПриложения); 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 a42d07a..c291061 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" @@ -332,7 +332,7 @@ // Функция Версия() Экспорт - Возврат "1.9.4"; + Возврат "1.9.5"; КонецФункции // Версия() From e71e9a9782fa1f8fc260a19fc3537375cc22d8d8 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:45 +0300 Subject: [PATCH 11/15] =?UTF-8?q?fix=20(#41):=20=D0=98=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=BD=D0=B5=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\270\320\267\320\276\320\2621\320\241.os" | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) 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 dc815af..994ec8d 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" @@ -473,16 +473,24 @@ ЗаполнитьВерсии = Ложь; Иначе НайденныеВерсии = Обозреватель.ПолучитьВерсииПриложения(ТекЭлемент.Путь, - ФильтрВерсий, - ФильтрВерсийНачинаяСДаты, - ФильтрВерсийДоДаты); + ФильтрВерсий, + ФильтрВерсийНачинаяСДаты, + ФильтрВерсийДоДаты); Если ПолучатьБетаВерсии Тогда Для Каждого ТекБетаВерсия Из ТекЭлемент.БетаВерсии Цикл НайденныеВерсии.Добавить(ТекБетаВерсия); КонецЦикла; КонецЕсли; - + + Для Каждого ТекВерсия Из НайденныеВерсии Цикл + ТекВерсия.Вставить("Имя" , ТекЭлемент.Имя); + ТекВерсия.Вставить("Идентификатор" , ТекЭлемент.Идентификатор); + ТекВерсия.Вставить("ПолныйДистрибутив", + Обозреватель.ЕстьСсылкаДляЗагрузки(ТекВерсия.Путь, "Полный дистрибутив$")); + ТекВерсия.Вставить("ДистрибутивОбновления", + Обозреватель.ЕстьСсылкаДляЗагрузки(ТекВерсия.Путь, "Дистрибутив обновления$")); + КонецЦикла; КонецЕсли; ВерсииПриложения = Новый Массив(); @@ -499,15 +507,6 @@ Для Каждого ТекВерсия Из ВерсииПриложения Цикл - Если ЗаполнитьВерсии Тогда - ТекВерсия.Вставить("Имя" , ТекЭлемент.Имя); - ТекВерсия.Вставить("Идентификатор" , ТекЭлемент.Идентификатор); - ТекВерсия.Вставить("ПолныйДистрибутив", - Обозреватель.ЕстьСсылкаДляЗагрузки(ТекВерсия.Путь, "Полный дистрибутив$")); - ТекВерсия.Вставить("ДистрибутивОбновления", - Обозреватель.ЕстьСсылкаДляЗагрузки(ТекВерсия.Путь, "Дистрибутив обновления$")); - КонецЕсли; - Лог.Информация("[%1]: Загрузка версии %2 из %3", ТипЗнч(ЭтотОбъект), ОбработаноВерсий + 1, From 4509dcbff13287a981127219ae054010902b500c Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:45 +0300 Subject: [PATCH 12/15] =?UTF-8?q?feat=20(#41):=20=D0=A0=D0=B5=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7?= =?UTF-8?q?=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D1=83=D0=BA?= =?UTF-8?q?=D0=B0=D0=B7=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=D1=80=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=20=D0=BE=D0=B6=D0=B8=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D0=B0=20=D0=BE=D1=82=20?= =?UTF-8?q?=D1=81=D0=B0=D0=B9=D1=82=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++ ...0\270\320\267\320\276\320\2621\320\241.os" | 31 +++++++++---- ...0\260\320\271\321\202\320\2601\320\241.os" | 44 +++++++++++++++---- ...0\273\320\270\320\267\321\2131\320\241.os" | 8 +++- ...0\270\320\267\320\276\320\2621\320\241.os" | 27 ++++++++---- 5 files changed, 86 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 82726a9..ecfb339 100644 --- a/README.md +++ b/README.md @@ -228,6 +228,7 @@ yard upload-all --path ".\tmp\tmplts\SSL31\" --cfname "1cv8.cf" --git-path ".\tm - **ИмяПользователя** - Имя пользователя сайта релизов 1С - **ПарольПользователя** - Пароль пользователя сайта релизов 1С +- **ВремяОжиданияОтвета** - Время ожидания ответа от внешнего ресурса (HTTP) в секундах - **ФильтрПриложений** - Фильтр имен приложений - **ФильтрВерсий** - Фильтр номеров версий - **ФильтрВерсийНачинаяСДаты** - Фильтр по начальной дате версии (включая) @@ -242,6 +243,7 @@ yard upload-all --path ".\tmp\tmplts\SSL31\" --cfname "1cv8.cf" --git-path ".\tm - **ИмяПользователя** - Имя пользователя сайта релизов 1С - **ПарольПользователя** - Пароль пользователя сайта релизов 1С +- **ВремяОжиданияОтвета** - Время ожидания ответа от внешнего ресурса (HTTP) в секундах - **ФильтрПриложений** - Фильтр имен приложений - **ФильтрВерсий** - Фильтр номеров версий - **ФильтрВерсийНачинаяСДаты** - Фильтр по начальной дате версии (включая) @@ -380,6 +382,7 @@ yard upload-all --path ".\tmp\tmplts\SSL31\" --cfname "1cv8.cf" --git-path ".\tm "Параметры":{ "ИмяПользователя" : "user", "ПарольПользователя" : "password", + "ВремяОжиданияОтвета" : 30, // Регулярки для фильтра приложений/конфигураций по имени "ФильтрПриложений" : ["Библиотека стандартных подсистем.*3\\.1"], // Регулярки для фильтра версий по номеру 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 994ec8d..7da3f24 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" @@ -18,6 +18,7 @@ Перем ИмяПользователя; // Строка - имя пользователя сайта релизов 1С Перем ПарольПользователя; // Строка - пароль пользователя сайта релизов 1С +Перем ВремяОжиданияОтвета; // Число - время ожидания ответа от внешнего ресурса (HTTP) в секундах Перем ИмяПриложения; // Строка - имя приложения для записи в файл описания @@ -96,37 +97,44 @@ // *Описание - Строка - описание параметра // Функция ОписаниеПараметров() Экспорт - + Параметры = Новый Структура(); - + ДобавитьОписаниеПараметра(Параметры, "ИмяПользователя", "Строка", Истина, "", "Имя пользователя сайта релизов 1С"); - + ДобавитьОписаниеПараметра(Параметры, "ПарольПользователя", "Строка", Истина, "", "Пароль пользователя сайта релизов 1С"); - + + ДобавитьОписаниеПараметра(Параметры, + "ВремяОжиданияОтвета", + "Число", + Ложь, + 20, + "Время ожидания ответа от внешнего ресурса"); + ДобавитьОписаниеПараметра(Параметры, "ИмяПриложения", "Строка", Ложь, "", "Имя приложения для записи в файл описания"); - + ДобавитьОписаниеПараметра(Параметры, "ФильтрПриложений", "Массив", Ложь, "", "Фильтр имен приложений"); - + ДобавитьОписаниеПараметра(Параметры, "ФильтрВерсий", "Массив", @@ -241,7 +249,7 @@ |Ложь - будут оаспакованы только отсутствующие |в каталоге для распаковки дистрибутивы |(проверяются файлы description.json)"); - + ДобавитьОписаниеПараметра(Параметры, "УдалитьПослеРаспаковкиEFD", "Булево", @@ -258,7 +266,7 @@ |в противном случае будут получены только релизные версии"); Возврат Параметры; - + КонецФункции // ОписаниеПараметров() // Функция - Возвращает обработку - менеджер @@ -327,6 +335,7 @@ УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяПользователя" , ПараметрыОбработки); УстановитьПараметрОбработкиДанныхИзСтруктуры("ПарольПользователя" , ПараметрыОбработки); + УстановитьПараметрОбработкиДанныхИзСтруктуры("ВремяОжиданияОтвета" , ПараметрыОбработки); УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяПриложения" , ПараметрыОбработки, ""); УстановитьПараметрОбработкиДанныхИзСтруктуры("ФильтрВерсийНачинаяСДаты" , ПараметрыОбработки); УстановитьПараметрОбработкиДанныхИзСтруктуры("ФильтрВерсийДоДаты" , ПараметрыОбработки); @@ -460,6 +469,7 @@ Если Обозреватель = Неопределено Тогда Обозреватель = Новый ОбозревательСайта1С(ИмяПользователя, ПарольПользователя); + Обозреватель.УстановитьВремяОжиданияОтвета(ВремяОжиданияОтвета); КонецЕсли; ОбработаноВерсий = 0; @@ -678,7 +688,8 @@ УстановитьПараметрОбработкиДанных("ИмяПользователя" , Команда.ЗначениеОпции("user")); УстановитьПараметрОбработкиДанных("ПарольПользователя" , Команда.ЗначениеОпции("password")); - + УстановитьПараметрОбработкиДанных("ВремяОжиданияОтвета" , Команда.ЗначениеОпции("timeout")); + ВремФильтрПриложений = Команда.ЗначениеОпции("app-filter"); Служебный.УбратьКавычки(ВремФильтрПриложений); УстановитьПараметрОбработкиДанных("ФильтрПриложений" , ВремФильтрПриложений); @@ -710,6 +721,7 @@ УстановитьПараметрОбработкиДанных("РаспаковыватьСуществующие" , Команда.ЗначениеОпции("extract-existing")); Обозреватель = Новый ОбозревательСайта1С(ИмяПользователя, ПарольПользователя); + Обозреватель.УстановитьВремяОжиданияОтвета(ВремяОжиданияОтвета); Данные = Обозреватель.ПолучитьСписокПриложений(ФильтрПриложений, ФильтрВерсий, @@ -857,6 +869,7 @@ Если Обозреватель = Неопределено Тогда Обозреватель = Новый ОбозревательСайта1С(ИмяПользователя, ПарольПользователя); + Обозреватель.УстановитьВремяОжиданияОтвета(ВремяОжиданияОтвета); КонецЕсли; Если ЗначениеЗаполнено(ФильтрДистрибутива) Тогда 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 e6b3c79..21890ef 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" @@ -16,16 +16,44 @@ #Область ПеременныеМодуля -Перем Лог; // Объект - объект записи лога приложения +Перем Лог; // Объект - объект записи лога приложения -Перем ИмяПользователя; // Строка - имя пользователя сервиса загрузки релизов -Перем ПарольПользователя; // Строка - пароль пользователя сервиса загрузки релизов -Перем ИдСеанса; // Строка - иддентификатор сеанса сервиса загрузки релизов +Перем ИмяПользователя; // Строка - имя пользователя сервиса загрузки релизов +Перем ПарольПользователя; // Строка - пароль пользователя сервиса загрузки релизов +Перем ИдСеанса; // Строка - идентификатор сеанса сервиса загрузки релизов +Перем ВремяОжиданияОтвета; // Число - время ожидания ответа от внешнего ресурса (HTTP) в секундах #КонецОбласти // ПеременныеМодуля #Область ПрограммныйИнтерфейс +// Функция - возвращает время ожидания ответа от внешнего ресурса (HTTP) в секундах +// Если не установлено, то 20 сек +// +// Возвращаемое значение: +// Число - время ожидания ответа от внешнего ресурса в секундах +// +Функция ВремяОжиданияОтвета() Экспорт + + Если ЗначениеЗаполнено(ВремяОжиданияОтвета) Тогда + Возврат ВремяОжиданияОтвета; + КонецЕсли; + + Возврат 20; + +КонецФункции // ВремяОжиданияОтвета() + +// Процедура - устанавливает время ожидания ответа от внешнего ресурса (HTTP) в секундах +// +// Параметры: +// НовоеЗначение - Число - время ожидания ответа от внешнего ресурса в секундах +// +Процедура УстановитьВремяОжиданияОтвета(Знач НовоеЗначение) Экспорт + + ВремяОжиданияОтвета = НовоеЗначение; + +КонецПроцедуры // УстановитьВремяОжиданияОтвета() + // Функция - получает список версий приложения с сайта 1С // // Параметры: @@ -360,7 +388,7 @@ ИдСеансаЗагрузки = Авторизация(Сервер, ИмяПользователя, ПарольПользователя, СтруктураАдреса.ПутьНаСервере); - Соединение = Новый HTTPСоединение(Сервер, , , , , 20); + Соединение = Новый HTTPСоединение(Сервер, , , , , ВремяОжиданияОтвета()); Соединение.РазрешитьАвтоматическоеПеренаправление = Истина; Запрос = ЗапросКСайту(АдресИсточника); @@ -393,10 +421,10 @@ КодПереадресации = 302; КодОшибкиАвторизации = 401; - СоединениеРегистрации = Новый HTTPСоединение(ПараметрыПриложения.СервисАвторизации(), , , , , 20); + СоединениеРегистрации = Новый HTTPСоединение(ПараметрыПриложения.СервисАвторизации(), , , , , ВремяОжиданияОтвета()); СоединениеРегистрации.РазрешитьАвтоматическоеПеренаправление = Ложь; - СоединениеЦелевое = Новый HTTPСоединение(Сервер, , , , , 20); + СоединениеЦелевое = Новый HTTPСоединение(Сервер, , , , , ВремяОжиданияОтвета()); СоединениеЦелевое.РазрешитьАвтоматическоеПеренаправление = Ложь; // Запрос 1 @@ -512,7 +540,7 @@ // Функция ПолучитьСтраницуСайта(Знач Сервер, Знач АдресРесурса, Знач АвтоматическоеПеренаправление = Ложь) - Соединение = Новый HTTPСоединение(Сервер, , , , , 20); + Соединение = Новый HTTPСоединение(Сервер, , , , , ВремяОжиданияОтвета()); Соединение.РазрешитьАвтоматическоеПеренаправление = АвтоматическоеПеренаправление; Запрос = ЗапросКСайту(АдресРесурса); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\273\320\270\320\267\321\2131\320\241.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\273\320\270\320\267\321\2131\320\241.os" index 754b565..d3914b9 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\273\320\270\320\267\321\2131\320\241.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\273\320\270\320\267\321\2131\320\241.os" @@ -13,10 +13,10 @@ // Команда - КомандаПриложения - объект описание команды // Процедура ОписаниеКоманды(Команда) Экспорт - + Команда.ДобавитьКоманду("list l", "список дистрибутивов на сайте 1С", Новый СписокРелизов1С()); Команда.ДобавитьКоманду("get g" , "загрузка дистрибутивов с сайта 1С", Новый ЗагрузчикРелизов1С()); - + Команда.Опция("u user", "", "имя пользователя") .ТСтрока() .ВОкружении("YARD_RELEASES_USER"); @@ -25,6 +25,10 @@ .ТСтрока() .ВОкружении("YARD_RELEASES_PWD"); + Команда.Опция("t timeout", 20, "время ожидания ответа от внешнего ресурса (HTTP) в секундах") + .ТЧисло() + .ВОкружении("YARD_RELEASES_TIMEOUT"); + КонецПроцедуры // ОписаниеКоманды() // Процедура - запускает выполнение команды устанавливает описание команды 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 79fb713..8fad5b1 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" @@ -14,6 +14,7 @@ Перем ИмяПользователя; // Строка - имя пользователя сайта релизов 1С Перем ПарольПользователя; // Строка - пароль пользователя сайта релизов 1С +Перем ВремяОжиданияОтвета; // Число - время ожидания ответа от внешнего ресурса (HTTP) в секундах Перем ФильтрПриложений; // Массив(Строка) - фильтр имен приложений Перем ФильтрВерсий; // Массив(Строка) - фильтр номеров версий @@ -61,30 +62,37 @@ // *Описание - Строка - описание параметра // Функция ОписаниеПараметров() Экспорт - + Параметры = Новый Структура(); - + ДобавитьОписаниеПараметра(Параметры, "ИмяПользователя", "Строка", Истина, "", "Имя пользователя сайта релизов 1С"); - + ДобавитьОписаниеПараметра(Параметры, "ПарольПользователя", "Строка", Истина, "", "Пароль пользователя сайта релизов 1С"); - + + ДобавитьОписаниеПараметра(Параметры, + "ВремяОжиданияОтвета", + "Число", + Ложь, + 20, + "Время ожидания ответа от внешнего ресурса"); + ДобавитьОписаниеПараметра(Параметры, "ФильтрПриложений", "Массив", Ложь, "", "Фильтр имен приложений"); - + ДобавитьОписаниеПараметра(Параметры, "ФильтрВерсий", "Массив", @@ -122,7 +130,7 @@ "путь к фалу (json) для сохранения списка приложений и версий"); Возврат Параметры; - + КонецФункции // ОписаниеПараметров() // Функция - Возвращает обработку - менеджер @@ -186,11 +194,12 @@ // НовыеПараметры - Структура - значения параметров обработки // Процедура УстановитьПараметрыОбработкиДанных(Знач НовыеПараметры) Экспорт - + ПараметрыОбработки = НовыеПараметры; - + УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяПользователя" , ПараметрыОбработки); УстановитьПараметрОбработкиДанныхИзСтруктуры("ПарольПользователя" , ПараметрыОбработки); + УстановитьПараметрОбработкиДанныхИзСтруктуры("ВремяОжиданияОтвета" , ПараметрыОбработки); УстановитьПараметрОбработкиДанныхИзСтруктуры("ФильтрВерсийНачинаяСДаты", ПараметрыОбработки); УстановитьПараметрОбработкиДанныхИзСтруктуры("ФильтрВерсийДоДаты" , ПараметрыОбработки); УстановитьПараметрОбработкиДанныхИзСтруктуры("ПолучатьБетаВерсии" , ПараметрыОбработки, Ложь); @@ -291,6 +300,7 @@ Процедура ОбработатьДанные() Экспорт Обозреватель = Новый ОбозревательСайта1С(ИмяПользователя, ПарольПользователя); + Обозреватель.УстановитьВремяОжиданияОтвета(ВремяОжиданияОтвета); НакопленныеДанные = Обозреватель.ПолучитьСписокПриложений(ФильтрПриложений, ФильтрВерсий, @@ -423,6 +433,7 @@ УстановитьПараметрОбработкиДанных("ИмяПользователя" , Команда.ЗначениеОпции("user")); УстановитьПараметрОбработкиДанных("ПарольПользователя" , Команда.ЗначениеОпции("password")); + УстановитьПараметрОбработкиДанных("ВремяОжиданияОтвета" , Команда.ЗначениеОпции("timeout")); ВремФильтрПриложений = Команда.ЗначениеОпции("app-filter"); Служебный.УбратьКавычки(ВремФильтрПриложений); From 02cc6438207818b62eb64470b225f73661950cca Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:45 +0300 Subject: [PATCH 13/15] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BA=D0=BE=D0=B4=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8?= =?UTF-8?q?.=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B0=20=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE?= =?UTF-8?q?=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 3 +- ...20\266\320\265\320\275\320\270\321\217.os" | 38 ++++++++++++++++--- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/packagedef b/packagedef index b1a64ce..f87e124 100644 --- a/packagedef +++ b/packagedef @@ -1,5 +1,5 @@ Описание.Имя("yard") - .Версия("1.9.5") + .Версия("1.9.6") .ВерсияСреды("1.6") .ЗависитОт("logos") .ЗависитОт("asserts") @@ -12,6 +12,7 @@ .ЗависитОт("1commands") .РазработкаЗависитОт("1testrunner") .РазработкаЗависитОт("1bdd") + .ВключитьФайл("packagedef") .ВключитьФайл("src") .ВключитьФайл("examples") .ВключитьФайл("lib.config") 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 c291061..1151102 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" @@ -8,6 +8,7 @@ // ---------------------------------------------------------- #Использовать logos +#Использовать opm #Использовать tempfiles #Использовать fs @@ -321,8 +322,8 @@ // Функция ИмяПриложения() Экспорт - Возврат "yard"; - + Возврат ОписаниеПакета().Имя; + КонецФункции // ИмяПриложения() // Функция - возвращает версию приложения @@ -331,11 +332,38 @@ // Строка - версия приложения // Функция Версия() Экспорт - - Возврат "1.9.5"; - + + Возврат ОписаниеПакета().Версия; + КонецФункции // Версия() +// Функция - возвращает описание пакета +// +// Возвращаемое значение: +// Структура - описание пакета +// +Функция ОписаниеПакета() Экспорт + + ФайлМанифеста = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "..", "packagedef"); + ФайлМанифеста = Новый Файл(ФайлМанифеста); + + ОписаниеПакета = Новый ОписаниеПакета(); + + ВнешнийКонтекст = Новый Структура("Описание", ОписаниеПакета); + + ОбработчикСобытий = ЗагрузитьСценарий(ФайлМанифеста.ПолноеИмя, ВнешнийКонтекст); + + Свойства = ОписаниеПакета.Свойства(); + Свойства.Вставить("Классы", ОписаниеПакета.Классы()); + Свойства.Вставить("Модули", ОписаниеПакета.Модули()); + Свойства.Вставить("Зависимости", ОписаниеПакета.Зависимости()); + Свойства.Вставить("ВключаемыеФайлы", ОписаниеПакета.ВключаемыеФайлы()); + Свойства.Вставить("ИсполняемыеФайлы", ОписаниеПакета.ИсполняемыеФайлы()); + + Возврат Свойства; + +КонецФункции // ОписаниеПакета() + #КонецОбласти // СлужебныйПрограммныйИнтерфейс #Область СлужебныеПроцедурыИФункции From 7a5372b728d5efec74d8047188b6c3f5a3fb457a Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Thu, 9 Nov 2023 15:05:46 +0300 Subject: [PATCH 14/15] =?UTF-8?q?fix=20(#42):=20=D0=9F=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE?= =?UTF-8?q?=D0=BD=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20=D0=B0=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D1=81=D0=B0=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=86=D1=8B=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B4=D0=B8=D1=81=D1=82=D1=80=D0=B8=D0=B1=D1=83=D1=82=D0=B8?= =?UTF-8?q?=D0=B2=D0=B0;=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BE=D1=82=D0=BB=D0=B0=D0=B4=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\270\320\267\320\276\320\2621\320\241.os" | 11 +++ ...0\260\320\271\321\202\320\2601\320\241.os" | 67 +++++++++++-------- ...0\270\320\267\320\276\320\2621\320\241.os" | 2 +- ...\266\320\265\320\275\320\270\321\217.json" | 2 +- 4 files changed, 52 insertions(+), 30 deletions(-) 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 7da3f24..8f30672 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" @@ -888,6 +888,17 @@ СписокСсылок = Обозреватель.ПолучитьСсылкиДляЗагрузки(ОписаниеВерсии.Путь, ШаблонСсылки); + Если СписокСсылок.Количество() = 0 Тогда + Лог.Информация("[%1]: По адресу ""%2"" не найдена ссылка для загрузки + |дистрибутива ""%3"" версии %4 по шаблону ""%5"".", + СокрЛП(ЭтотОбъект), + ОписаниеВерсии.Путь, + ОписаниеВерсии.Имя, + ОписаниеВерсии.Версия, + ШаблонСсылки); + Возврат Ложь; + КонецЕсли; + Для Каждого ТекСсылка Из СписокСсылок Цикл ИмяФайлаАрхива = ОбъединитьПути(КаталогДляСохранения, 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 21890ef..8f85360 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" @@ -331,44 +331,55 @@ СтраницаВерсии = ПолучитьСтраницуСайта(ПараметрыПриложения.СервисРелизов(), АдресРесурса); - Совпадения = Служебный.НайтиСовпаденияВТексте(СтраницаВерсии, - ПараметрыПриложения.ШаблонПоискаАдресаСтраницыЗагрузки()); + ШаблонПоискаАдресаСтраницыЗагрузки = ПараметрыПриложения.ШаблонПоискаАдресаСтраницыЗагрузки(); + ШаблонПоискаСсылкиДляЗагрузки = ПараметрыПриложения.ШаблонПоискаСсылкиДляЗагрузки(); + + Совпадения = Служебный.НайтиСовпаденияВТексте(СтраницаВерсии, ШаблонПоискаАдресаСтраницыЗагрузки); СписокСсылок = Новый Массив(); - Если Совпадения.Количество() > 0 Тогда + Если Совпадения.Количество() = 0 Тогда + Лог.Отладка("По адресу ""%1"" не найдено совпадений с шаблоном ""%2"" поиска страницы загрузки.", + АдресРесурса, + ШаблонПоискаАдресаСтраницыЗагрузки); + Возврат СписокСсылок; + КонецЕсли; - Для Каждого ТекСовпадение Из Совпадения Цикл + Для Каждого ТекСовпадение Из Совпадения Цикл - Если ТекСовпадение.Группы.Количество() < 3 Тогда - Продолжить; - КонецЕсли; + Если ТекСовпадение.Группы.Количество() < 3 Тогда + Продолжить; + КонецЕсли; - ТекИмя = ТекСовпадение.Группы[2].Значение; - ТекСсылка = ТекСовпадение.Группы[1].Значение; - ОписаниеФайла = ФайлИзАдреса(ТекСсылка); + ТекИмя = ТекСовпадение.Группы[2].Значение; + ТекСсылка = ТекСовпадение.Группы[1].Значение; + ОписаниеФайла = ФайлИзАдреса(ТекСсылка); - Если НЕ СоответствуетФильтру(ТекИмя, Фильтр) Тогда - Продолжить; - КонецЕсли; + Если НЕ СоответствуетФильтру(ТекИмя, Фильтр) Тогда + Продолжить; + КонецЕсли; - СтраницаЗагрузки = ПолучитьСтраницуСайта(ПараметрыПриложения.СервисРелизов(), ТекСсылка); - - СовпаденияДляЗагрузки = Служебный.НайтиСовпаденияВТексте(СтраницаЗагрузки, - ПараметрыПриложения.ШаблонПоискаСсылкиДляЗагрузки()); + СтраницаЗагрузки = ПолучитьСтраницуСайта(ПараметрыПриложения.СервисРелизов(), ТекСсылка); - Если СовпаденияДляЗагрузки.Количество() = 0 Тогда - Продолжить; - КонецЕсли; + СовпаденияДляЗагрузки = Служебный.НайтиСовпаденияВТексте(СтраницаЗагрузки, ШаблонПоискаСсылкиДляЗагрузки); - ТекВерсия = Новый Структура("Имя, Путь, ПутьДляЗагрузки, ИмяФайла"); - ТекВерсия.Имя = ТекИмя; - ТекВерсия.Путь = ТекСсылка; - ТекВерсия.ПутьДляЗагрузки = СовпаденияДляЗагрузки[0].Группы[2].Значение; - ТекВерсия.ИмяФайла = ОписаниеФайла.Имя; - СписокСсылок.Добавить(ТекВерсия); + Если СовпаденияДляЗагрузки.Количество() = 0 Тогда + Лог.Отладка("По адресу ""%1"" не найдено совпадений с шаблоном ""%2"" ссылки для загрузки.", + ТекСсылка, + ШаблонПоискаСсылкиДляЗагрузки); + Продолжить; + КонецЕсли; - КонецЦикла; - КонецЕсли; + ТекВерсия = Новый Структура("Имя, Путь, ПутьДляЗагрузки, ИмяФайла"); + ТекВерсия.Имя = ТекИмя; + ТекВерсия.Путь = ТекСсылка; + ТекВерсия.ПутьДляЗагрузки = СовпаденияДляЗагрузки[0].Группы[2].Значение; + ТекВерсия.ИмяФайла = ОписаниеФайла.Имя; + СписокСсылок.Добавить(ТекВерсия); + Лог.Отладка("По адресу ""%1"" найдена ссылка для загрузки ""%2"".", + ТекСсылка, + ТекВерсия.ПутьДляЗагрузки); + + КонецЦикла; Возврат СписокСсылок; 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 8fad5b1..363e85c 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" @@ -331,7 +331,7 @@ Обозреватель.ЕстьСсылкаДляЗагрузки(ТекВерсия.Путь, "Полный дистрибутив$")); ТекВерсия.Вставить("ДистрибутивОбновления", Обозреватель.ЕстьСсылкаДляЗагрузки(ТекВерсия.Путь, "Дистрибутив обновления$")); - + ВерсииПриложения.Добавить(ТекВерсия); КонецЦикла; КонецЕсли; diff --git "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" index 3f4ff40..d92b29f 100644 --- "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" +++ "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\321\201\321\203\321\200\321\201\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.json" @@ -12,7 +12,7 @@ "ШаблонПоискаСсылокБетаВерсий" : ".*?<\\/a>", "ШаблонПоискаДатБетаВерсий" : "(\\d\\d\\.\\d\\d\\.\\d\\d)+", "ШаблонПоискаВерсий" : "\\s*\\s*(.*)\\s*<\\/a>(\\s|.)*?\\s*(.*)\\s*<\\/td>(\\s|.)*?(?:\\s*(?:.*)\\s*<\\/td>(?:\\s|.)*?)?\\s*(.*)\\s*<\\/td>", - "ШаблонПоискаАдресаСтраницыЗагрузки" : "