Skip to content

Commit 248b255

Browse files
committed
1. Настройки логоса вынесены из файла настроек и задаются при старте приложения значением деталек
2. Вся работа с чтением настроек из файла настроек отдана ОСени, ovm теперь только записывает настройки в .ini файл 3. Сам файл настроек переименован ovm.config -> autumn-properties.ini после обновления ovm если были заданы настройки нужно будет переименовать существующий файл в новое имя для корректной работы
1 parent 2a92341 commit 248b255

File tree

6 files changed

+76
-107
lines changed

6 files changed

+76
-107
lines changed

autumn-properties.json

Lines changed: 0 additions & 17 deletions
This file was deleted.

packagedef

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
.ЗависитОт("tempfiles")
1212
.ЗависитОт("strings")
1313
.ЗависитОт("decorator", "1.5.2")
14-
.ЗависитОт("autumn", "3.1.4")
14+
.ЗависитОт("autumn", "3.1.5")
1515
.ЗависитОт("autumn-logos", "1.1.1")
1616
.ЗависитОт("autumn-cli", "1.0.3")
1717
.ИсполняемыйФайл("src/cmd/ovm.os", "ovm")

src/cmd/ovm.os

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,39 @@
55
#Использовать "."
66
#Использовать "../core"
77

8-
УпакованВИсполняемыйФайл = СтрНайти(ТекущийСценарий().Источник, "oscript://") <> 0;
8+
Функция НастройкиЛогоса()
99

10-
Если УпакованВИсполняемыйФайл Тогда
10+
НастройкиЛога = Новый Соответствие;
11+
НастройкиЛога.Вставить("level", "INFO");
12+
НастройкиЛога.Вставить("appenders", "logos");
13+
НастройкиЛога.Вставить("classlayout", "РаскладкаЛогOVM");
1114

12-
// FIXME: Как только появятся варианты задания этих настроек кроме как через файл
13-
ЗаписьТекста = Новый ЗаписьТекста("autumn-properties.json");
14-
15-
ЗаписьТекста.Записать("
16-
|{
17-
| ""logos"": {
18-
| ""logger"": {
19-
| ""oscript.app.ovm"": {
20-
| ""level"": ""INFO"",
21-
| ""appenders"": ""logos"",
22-
| ""classlayout"": ""РаскладкаЛогOVM""
23-
| }
24-
| },
25-
| ""appender"": {
26-
| ""logos"": {
27-
| ""type"": ""АппендерЛогOVM"",
28-
| ""level"": ""INFO""
29-
| }
30-
| }
31-
| }
32-
|}
33-
|"
34-
);
35-
36-
ЗаписьТекста.Закрыть();
15+
НастройкиУровнейЛогов = Новый Соответствие;
16+
НастройкиУровнейЛогов.Вставить("oscript.app.ovm", НастройкиЛога);
3717

38-
КонецЕсли;
18+
НастройкаАппендера = Новый Соответствие;
19+
НастройкаАппендера.Вставить("type", "АппендерЛогOVM");
20+
НастройкаАппендера.Вставить("level", "INFO");
21+
22+
НастройкиАппендеров = Новый Соответствие;
23+
24+
НастройкиАппендеров.Вставить("logos", НастройкаАппендера);
25+
26+
Результат = Новый Соответствие;
3927

40-
Поделка = Новый Поделка();
28+
Результат.Вставить("logos.logger", НастройкиУровнейЛогов);
29+
Результат.Вставить("logos.appender", НастройкиАппендеров);
30+
31+
Возврат Результат;
32+
33+
КонецФункции
34+
35+
СоветДругогоМастера = Новый СоветДругогоМастера;
36+
СоветДругогоМастера.ЗначенияДеталек(НастройкиЛогоса());
37+
38+
Поделка = Новый Поделка(СоветДругогоМастера);
39+
40+
УпакованВИсполняемыйФайл = СтрНайти(ТекущийСценарий().Источник, "oscript://") <> 0;
4141

4242
Если УпакованВИсполняемыйФайл Тогда
4343
Поделка

src/core/Классы/ПараметрыOVM.os

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
Перем СистемнаяИнформация;
44

5-
&Пластилин
6-
Перем ФайлНастроек;
5+
&Деталька(Значение = "oscript.server", ЗначениеПоУмолчанию = "https://oscript.io")
6+
Перем АдресСайтаОСкрипт;
77

88
&Желудь
99
Процедура ПриСозданииОбъекта()
@@ -34,7 +34,7 @@
3434
// Строка - Адрес сайта OneScript
3535
//
3636
Функция АдресСайтаОСкрипт() Экспорт
37-
Возврат ЗначениеНастройки("oscript.server", "https://oscript.io");
37+
Возврат АдресСайтаОСкрипт;
3838
КонецФункции
3939

4040
// Полный адрес к каталогу дистрибутивов OneScript
@@ -64,19 +64,4 @@
6464
Возврат 3;
6565
КонецФункции
6666

67-
//////////////////////////////////////////////////////////////////////
68-
69-
Функция ЗначениеНастройки(Знач Ключ, Знач ЗначениеПоУмолчанию = Неопределено) Экспорт
70-
71-
Опция = ФайлНастроек.Получить(Ключ);
72-
Если Опция = Неопределено Тогда
73-
Возврат ЗначениеПоУмолчанию;
74-
КонецЕсли;
75-
76-
Возврат Опция;
77-
78-
КонецФункции
79-
80-
//////////////////////////////////////////////////////////////////////
81-
8267
СистемнаяИнформация = Новый СистемнаяИнформация;

src/core/Классы/УстановщикOneScript.os

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,24 @@
1414
&Пластилин
1515
Перем ВерсииOneScript;
1616

17+
&Деталька("proxy.use")
18+
Перем ИспользоватьПрокси;
19+
20+
&Деталька("proxy.server")
21+
Перем ПроксиСервер;
22+
23+
&Деталька("proxy.port")
24+
Перем ПроксиПорт;
25+
26+
&Деталька("proxy.user")
27+
Перем ПроксиПользователь;
28+
29+
&Деталька("proxy.password")
30+
Перем ПроксиПароль;
31+
32+
&Деталька("proxy.osAuthentication")
33+
Перем ПроксиАвторизацияОС;
34+
1735
&Желудь
1836
Процедура ПриСозданииОбъекта()
1937
КонецПроцедуры
@@ -81,29 +99,34 @@
8199

82100
АдресСайтаОСкрипт = ПараметрыOVM.АдресСайтаОСкрипт();
83101

84-
СерверПрокси = ПараметрыOVM.ЗначениеНастройки("proxy.server");
85-
ИспользоватьПрокси = ПараметрыOVM.ЗначениеНастройки("proxy.use");
86-
87102
Если ИспользоватьПрокси = "true" Тогда
88-
Если Не ЗначениеЗаполнено(СерверПрокси) Тогда
103+
104+
Если Не ЗначениеЗаполнено(ПроксиСервер) Тогда
105+
89106
Лог.Отладка("Использую системный прокси");
90107
Прокси = Новый ИнтернетПрокси(Истина);
91-
ИначеЕсли ЗначениеЗаполнено(СерверПрокси) Тогда
92-
Лог.Отладка("Использую прокси %1", ПараметрыOVM.ЗначениеНастройки("proxy.server"));
108+
109+
ИначеЕсли ЗначениеЗаполнено(ПроксиСервер) Тогда
110+
111+
Лог.Отладка("Использую прокси %1", ПроксиСервер);
93112
Прокси = Новый ИнтернетПрокси();
113+
94114
Прокси.Установить("http",
95-
ПараметрыOVM.ЗначениеНастройки("proxy.server"),
96-
ПараметрыOVM.ЗначениеНастройки("proxy.port"),
97-
ПараметрыOVM.ЗначениеНастройки("proxy.user"),
98-
ПараметрыOVM.ЗначениеНастройки("proxy.password"),
99-
ПараметрыOVM.ЗначениеНастройки("proxy.osAuthentication"));
115+
ПроксиСервер,
116+
ПроксиПорт,
117+
ПроксиПользователь,
118+
ПроксиПароль,
119+
ПроксиАвторизацияОС
120+
);
100121

101122
Прокси.Установить("https",
102-
ПараметрыOVM.ЗначениеНастройки("proxy.server"),
103-
ПараметрыOVM.ЗначениеНастройки("proxy.port"),
104-
ПараметрыOVM.ЗначениеНастройки("proxy.user"),
105-
ПараметрыOVM.ЗначениеНастройки("proxy.password"),
106-
ПараметрыOVM.ЗначениеНастройки("proxy.osAuthentication"));
123+
ПроксиСервер,
124+
ПроксиПорт,
125+
ПроксиПользователь,
126+
ПроксиПароль,
127+
ПроксиАвторизацияОС
128+
);
129+
107130
КонецЕсли;
108131
Иначе
109132
Лог.Отладка("Прокси не используется");

src/core/Классы/ФайлНастроек.os

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,40 +8,18 @@
88
Перем Лог;
99

1010
&Желудь
11-
Процедура ПриСозданииОбъекта(&ЛогOVM пЛог)
12-
13-
КаталогУстановкиПоУмолчанию = ПолучитьПеременнуюСреды("OVM_INSTALL_PATH");
14-
Если НЕ ЗначениеЗаполнено(КаталогУстановкиПоУмолчанию) Тогда
15-
16-
СистемнаяИнформация = Новый СистемнаяИнформация;
17-
18-
КаталогУстановкиПоУмолчанию = ОбъединитьПути(
19-
СистемнаяИнформация.ПолучитьПутьПапки(СпециальнаяПапка.ЛокальныйКаталогДанныхПриложений),
20-
"ovm"
21-
);
22-
23-
КонецЕсли;
11+
Процедура ПриСозданииОбъекта(&ЛогOVM пЛог, &Пластилин ПараметрыOVM)
2412

2513
Лог = пЛог;
26-
ПутьКФайлу = ОбъединитьПути(КаталогУстановкиПоУмолчанию, "ovm.config");
14+
15+
ПутьКФайлу = ОбъединитьПути(ПараметрыOVM.КаталогУстановкиПоУмолчанию(), "autumn-properties.ini");
2716

2817
ПрочитатьНастройки();
2918

3019
КонецПроцедуры
3120

32-
Функция Получить(Знач Имя) Экспорт
33-
Лог.Отладка("Запрошено значение %1", Имя);
34-
НомерСтроки = Индекс[Имя];
35-
Если НомерСтроки = Неопределено Тогда
36-
Возврат Неопределено;
37-
КонецЕсли;
38-
Значение = ЗначенияНастроек[НомерСтроки].Значение;
39-
Лог.Отладка("Получено значение %1=%2", Имя, Значение);
40-
Возврат Значение;
41-
КонецФункции
42-
4321
Процедура Установить(Знач Имя, Знач Значение) Экспорт
44-
22+
4523
РегулярноеВыражение = Новый РегулярноеВыражение("[A-Za-z0-9\.]+");
4624
РегулярноеВыражение.Многострочный = Ложь;
4725
Если Не РегулярноеВыражение.Совпадает(Имя) Тогда

0 commit comments

Comments
 (0)