diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" index 41b0ddb..feda711 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" @@ -171,7 +171,7 @@ Ответ = Соединение.ОтправитьДляОбработки(Запрос); ТелоОтвета = Ответ.ПолучитьТелоКакСтроку(); - Если Не КодУспешнойОтправки(Ответ.КодСостояния) Тогда + Если Ответ.КодСостояния <> 200 Тогда ВызватьИсключение ТелоОтвета; КонецЕсли; @@ -179,15 +179,6 @@ КонецПроцедуры -Функция КодУспешнойОтправки(Знач КодСостояния) - - Возврат КодСостояния = 200 // OK - Или КодСостояния = 201 // CREATED - Или КодСостояния = 202 // ACCEPTED - ; - -КонецФункции - Лог = Логирование.ПолучитьЛог("oscript.app.opm"); ДопустимыеИменаКаналов = Новый Структура; diff --git "a/src/cmd/\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\217Opm.os" "b/src/cmd/\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\217Opm.os" index 4d6e0ca..1a441ad 100644 --- "a/src/cmd/\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\217Opm.os" +++ "b/src/cmd/\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\217Opm.os" @@ -18,7 +18,7 @@ Если Не НастройкиПроксиЕсть = Неопределено Тогда - НастройкиПрокси = НастройкиКакСтруктура(НастройкиOpmИзФайлов.Прокси); + НастройкиПрокси = НастройкиOpmИзФайлов.Прокси; Сервер = ПолучитьЗначение(НастройкиПрокси, "Сервер", ""); Порт = Число(ПолучитьЗначение(НастройкиПрокси, "Порт", 80)); @@ -57,16 +57,21 @@ Индекс = 1; Для каждого ТекущийСерверПакетов Из СервераПакетов Цикл - - Попытка - СерверПакетов = СерверыПакетов.ИзНастроек(НастройкиКакСтруктура(ТекущийСерверПакетов), Индекс); - Исключение - Лог.Отладка(ОписаниеОшибки()); - Продолжить; - КонецПопытки; - НастройкиOpm.ДобавитьСерверПакетов(СерверПакетов); - Индекс = Индекс + 1; + Сервер = ПолучитьЗначение(ТекущийСерверПакетов, "Сервер", ""); + Порт = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Порт", 80)); + ПутьНаСервере = ПолучитьЗначение(ТекущийСерверПакетов, "ПутьНаСервере", "/"); + Имя = ПолучитьЗначение(ТекущийСерверПакетов, "Имя", СтрШаблон("ДопСервер_%1", Индекс)); + РесурсПубликацииПакетов = ПолучитьЗначение(ТекущийСерверПакетов, "РесурсПубликацииПакетов", "/"); + Приоритет = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Приоритет", 0)); + + Если ПустаяСтрока(Сервер) Тогда + Лог.Отладка("Для сервера <%1> не задан адрес", Индекс); + Продолжить; + КонецЕсли; + + НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет); + Индекс = Индекс +1; КонецЦикла; @@ -171,7 +176,7 @@ Для каждого НастройкаСервера Из ТекущиеНастройки.СервераПакетов Цикл - МассивСерверовПакетов.Добавить(НастройкаСервера.НастройкаДляВыгрузки()); + МассивСерверовПакетов.Добавить(НастройкаСервера); КонецЦикла; @@ -217,21 +222,11 @@ ЧтениеJSON = Новый ЧтениеJSON(); ЧтениеJSON.УстановитьСтроку(Текст); - НастройкиКакСоответствие = ПрочитатьJSON(ЧтениеJSON, Истина); + Настройки = ПрочитатьJSON(ЧтениеJSON, Ложь); ЧтениеJSON.Закрыть(); - Возврат НастройкиКакСтруктура(НастройкиКакСоответствие); - -КонецФункции - -Функция НастройкиКакСтруктура(Знач НастройкиКакСоответствие) - - Настройки = Новый Структура; - Для Каждого мЭлемент Из НастройкиКакСоответствие Цикл - Настройки.Вставить(мЭлемент.Ключ, мЭлемент.Значение); - КонецЦикла; - Возврат Настройки; + КонецФункции Функция ПрочитатьФайл(Знач Путь) @@ -261,10 +256,8 @@ Функция СформироватьТекстНастроек(Знач Настройки) - НастройкиЗаписи = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Unix, " "); - Json = Новый ЗаписьJSON(); - Json.УстановитьСтроку(НастройкиЗаписи); + Json.УстановитьСтроку(); ЗаписатьJSON(Json, Настройки); diff --git "a/src/core/\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\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\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\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index 13e053c..3f83964 100644 --- "a/src/core/\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\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\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\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -229,7 +229,12 @@ Функция СоздатьСерверПакетовПоНастройке(Знач НастройкаСервера) - Возврат НастройкаСервера; + Возврат Новый СерверПакетов(НастройкаСервера.Имя, + НастройкаСервера.Сервер, + НастройкаСервера.ПутьНаСервере, + НастройкаСервера.РесурсПубликацииПакетов, + НастройкаСервера.Порт, + НастройкаСервера.Приоритет) КонецФункции @@ -252,7 +257,8 @@ Процедура ОбновитьИндексыКешейПакетов() Если Не ЗначениеЗаполнено(ИндексКешаПакетов) - Или Не ЗначениеЗаполнено(ИндексДоступныхПакетов) Тогда + Или Не ЗначениеЗаполнено(ИндексДоступныхПакетов)Тогда + ОбновитьИндексКешаПакетов(); ОбновитьИндексДоступныхПакетов(); КонецЕсли; diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index e52b8db..a940782 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -1,20 +1,16 @@ Перем Лог; -Перем Имя Экспорт; -Перем Сервер Экспорт; -Перем ПутьНаСервере Экспорт; -Перем Порт Экспорт; -Перем Приоритет Экспорт; +Перем Имя; +Перем Сервер; +Перем ПутьНаСервере; +Перем Порт; +Перем Приоритет; Перем Соединение; -Перем РесурсПубликацииПакетов Экспорт; -Перем Авторизация Экспорт; -Перем ДополнительныеЗаголовки Экспорт; +Перем РесурсПубликацииПакетов; Перем ПакетыХаба; -Процедура ПриСозданииОбъекта(Знач ИмяСервера, Знач АдресСервер, Знач ВходящийПутьНаСервере = "", - Знач ВходящийРесурсПубликацииПакетов = "", Знач ВходящийПорт = 80, Знач ВходящийПриоритет = 0, - Знач ВходящаяАвторизация = Неопределено, Знач Заголовки = Неопределено) +Процедура ПриСозданииОбъекта(Знач ИмяСервера, Знач АдресСервер, Знач ВходящийПутьНаСервере = "", Знач ВходящийРесурсПубликацииПакетов = "", Знач ВходящийПорт = 80, Знач ВходящийПриоритет = 0) Имя = ИмяСервера; Сервер = АдресСервер; @@ -22,8 +18,6 @@ Порт = ВходящийПорт; Приоритет = ВходящийПриоритет; РесурсПубликацииПакетов = ВходящийРесурсПубликацииПакетов; - Авторизация = ВходящаяАвторизация; - ДополнительныеЗаголовки = Заголовки; КонецПроцедуры @@ -43,12 +37,11 @@ Порт = ?(Порт = Неопределено, 80, Порт); Настройки = НастройкиOpm.ПолучитьНастройки(); - Таймаут = 60; Если Настройки.ИспользоватьПрокси Тогда НастройкиПрокси = НастройкиOpm.ПолучитьИнтернетПрокси(); - Соединение = Новый HTTPСоединение(Сервер, Порт, , , НастройкиПрокси, Таймаут); + Соединение = Новый HTTPСоединение(Сервер, Порт, , , НастройкиПрокси); Иначе - Соединение = Новый HTTPСоединение(Сервер, Порт, , , , Таймаут); + Соединение = Новый HTTPСоединение(Сервер, Порт); КонецЕсли; Возврат Соединение; @@ -62,7 +55,6 @@ Соединение = ИнициализироватьСоединение(); Ресурс = ПутьНаСервере + ИмяРесурса; Запрос = Новый HTTPЗапрос(Ресурс); - ДобавитьЗаголовки(Запрос); Попытка @@ -140,39 +132,4 @@ КонецФункции -Процедура ДобавитьЗаголовки(Знач Запрос) - - Если ЗначениеЗаполнено(ДополнительныеЗаголовки) Тогда - Для Каждого мЗаголовок Из ДополнительныеЗаголовки Цикл - ДобавитьЗаголовокКЗапросу(Запрос, мЗаголовок.Ключ, мЗаголовок.Значение); - КонецЦикла; - КонецЕсли; - - Если ЗначениеЗаполнено(Авторизация) Тогда - ДобавитьЗаголовокКЗапросу(Запрос, "Authorization", Авторизация); - КонецЕсли; - -КонецПроцедуры - -Процедура ДобавитьЗаголовокКЗапросу(Знач Запрос, Знач Заголовок, Знач Значение) - Запрос.Заголовки.Вставить(Заголовок, Значение); -КонецПроцедуры - -Функция НастройкаДляВыгрузки() Экспорт - - Результат = Новый Структура; - Результат.Вставить("Имя", Имя); - Результат.Вставить("Сервер", Сервер); - Результат.Вставить("ПутьНаСервере", ПутьНаСервере); - Результат.Вставить("РесурсПубликацииПакетов", РесурсПубликацииПакетов); - Результат.Вставить("Порт", Порт); - Результат.Вставить("Авторизация", Авторизация); - Результат.Вставить("Заголовки", ДополнительныеЗаголовки); - Результат.Вставить("Приоритет", Приоритет); - - Возврат Результат; - -КонецФункции // - Лог = Логирование.ПолучитьЛог("oscript.app.opm"); -ДополнительныеЗаголовки = Новый Соответствие; \ No newline at end of file diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" index da71e7c..40f745c 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" @@ -85,8 +85,31 @@ КонецПроцедуры -Процедура ДобавитьСерверПакетов(Знач СерверПакетов) Экспорт - мНастройки.СервераПакетов.Добавить(СерверПакетов); +Функция НастройкиСервераПакетов(Знач Имя, Знач Сервер, Знач ПутьНаСервере, Знач РесурсПубликацииПакетов, Знач Порт, Знач Приоритет) + + Результат = Новый Структура; + Результат.Вставить("Имя", Имя); + Результат.Вставить("Сервер", Сервер); + Результат.Вставить("ПутьНаСервере", ПутьНаСервере); + Результат.Вставить("РесурсПубликацииПакетов", РесурсПубликацииПакетов); + Результат.Вставить("Порт", Порт); + Результат.Вставить("Приоритет", Приоритет); + + Возврат Результат; + +КонецФункции // + +Процедура ДобавитьСерверПакетов(Знач Имя, + Знач Сервер, + Знач ПутьНаСервере = "", + Знач РесурсПубликацииПакетов = "", + Знач Порт = 80, + Знач Приоритет = Неопределено) Экспорт + + мНастройки.СервераПакетов.Добавить(НастройкиСервераПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет)); + Лог.Отладка("Добавлен сервер <%1>, Адрес <%2>, ПутьНаСервере <%3>, РесурсПубликацииПакетов <%4>, Порт <%5>, Приоритет <%6>", + Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет); + КонецПроцедуры @@ -98,8 +121,8 @@ Процедура ИнициализацияСерверовПакетов() // Сервера пакетов по умолчанию - ДобавитьСерверПакетов(СерверыПакетов.ОсновнойСервер()); - ДобавитьСерверПакетов(СерверыПакетов.ЗапаснойСервер()); + ДобавитьСерверПакетов("ОсновнойСерверПакетов", КонстантыOpm.СерверУдаленногоХранилища, КонстантыOpm.ПутьВХранилище, КонстантыOpm.РесурсПубликацииПакетов, 80, 0); + ДобавитьСерверПакетов("ЗапаснойСерверПакетов", КонстантыOpm.СерверЗапасногоХранилища, КонстантыOpm.ПутьВЗапасномХранилище, Неопределено, 80, 1); КонецПроцедуры Процедура Инициализация() diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\265\321\200\320\262\320\265\321\200\321\213\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\265\321\200\320\262\320\265\321\200\321\213\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" deleted file mode 100644 index 45e93c9..0000000 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\265\321\200\320\262\320\265\321\200\321\213\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ /dev/null @@ -1,59 +0,0 @@ - -Функция ИзНастроек(Знач ТекущийСерверПакетов, Знач Индекс) Экспорт - - Сервер = ПолучитьЗначение(ТекущийСерверПакетов, "Сервер", ""); - Порт = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Порт", 80)); - ПутьНаСервере = ПолучитьЗначение(ТекущийСерверПакетов, "ПутьНаСервере", "/"); - Имя = ПолучитьЗначение(ТекущийСерверПакетов, "Имя", СтрШаблон("ДопСервер_%1", Индекс)); - РесурсПубликацииПакетов = ПолучитьЗначение(ТекущийСерверПакетов, "РесурсПубликацииПакетов", "/"); - Приоритет = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Приоритет", 0)); - Авторизация = ПолучитьЗначение(ТекущийСерверПакетов, "Авторизация", ""); - ДополнительныеЗаголовки = ПолучитьЗначение(ТекущийСерверПакетов, "Заголовки", Новый Соответствие); - - Если ПустаяСтрока(Сервер) Тогда - ВызватьИсключение СтрШаблон("Для сервера <%1> не задан адрес", Индекс); - КонецЕсли; - - СерверПакетов = Новый СерверПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, - Порт, Приоритет, Авторизация, ДополнительныеЗаголовки - ); - - Возврат СерверПакетов; - -КонецФункции - -Функция ОсновнойСервер() Экспорт - Возврат Новый СерверПакетов("ОсновнойСерверПакетов", - КонстантыOpm.СерверУдаленногоХранилища, - КонстантыOpm.ПутьВХранилище, - КонстантыOpm.РесурсПубликацииПакетов, - 80, - 0 - ); -КонецФункции - -Функция ЗапаснойСервер() Экспорт - Возврат Новый СерверПакетов("ЗапаснойСерверПакетов", - КонстантыOpm.СерверЗапасногоХранилища, - КонстантыOpm.ПутьВЗапасномХранилище, - Неопределено, - 80, - 1 - ); -КонецФункции - -Функция ПолучитьЗначение(Знач ВходящаяСтруктура, Знач Ключ, Знач ЗначениеПоУмолчанию) - - Перем ЗначениеКлюча; - - Если Не ВходящаяСтруктура.Свойство(Ключ, ЗначениеКлюча) Тогда - Возврат ЗначениеПоУмолчанию; - КонецЕсли; - - Если ЗначениеКлюча = Неопределено Тогда - Возврат ЗначениеПоУмолчанию; - КонецЕсли; - - Возврат ЗначениеКлюча; - -КонецФункции