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"); Служебный.УбратьКавычки(ВремФильтрПриложений);