|
1 | 1 | #Использовать logos |
2 | 2 | #Использовать tempfiles |
| 3 | +#Использовать fs |
3 | 4 |
|
4 | 5 | Перем ЛогПриложения; |
5 | 6 | Перем ОбщиеПараметры; |
6 | 7 | Перем ОбщийКаталогДанныхПриложения; |
7 | 8 | Перем СохрКаталогПриложения; |
8 | 9 | Перем ЭтоПриложениеEXE; |
| 10 | +Перем КаталогПлагинов; |
| 11 | +Перем ИмяКаталогаПлагинов; |
| 12 | +Перем ИмяКаталогаПриложения; |
| 13 | +Перем ИмяФайлаНастройкиПриложения; |
9 | 14 |
|
10 | 15 | Процедура Инициализация() |
| 16 | + |
11 | 17 | ОбщиеПараметры = Новый Структура(); |
12 | | - |
13 | 18 | ОбщиеПараметры.Вставить("Плагины", Новый Массив); |
14 | 19 | ОбщиеПараметры.Вставить("ВерсияПлатформы", "8.3"); |
15 | 20 | ОбщиеПараметры.Вставить("ПутьКПлатформе", ""); |
16 | 21 | ОбщиеПараметры.Вставить("ДоменПочты", "localhost"); |
17 | 22 | ОбщиеПараметры.Вставить("ПутьКГит", ""); |
18 | 23 |
|
| 24 | + ИмяКаталогаПлагинов = "plugins"; |
| 25 | + ИмяКаталогаПриложения = ".gitsync"; |
| 26 | + ИмяФайлаНастройкиПриложения = "config.json"; |
| 27 | + |
| 28 | + ОпределитьКаталогПлагинов(); |
| 29 | + |
19 | 30 | КонецПроцедуры |
20 | 31 |
|
21 | 32 | Функция ЭтоСборкаEXE() Экспорт |
|
79 | 90 |
|
80 | 91 | КонецФункции |
81 | 92 |
|
82 | | -Функция КаталогПлагинов() Экспорт |
| 93 | +Функция КаталогПлагиновПоУмолчанию() |
83 | 94 | Возврат ОбъединитьПути(ПолучитьЛокальныйКаталогДанныхПриложения(), "plugins"); |
84 | 95 | КонецФункции |
85 | 96 |
|
| 97 | +Функция КаталогПлагинов() Экспорт |
| 98 | + Возврат КаталогПлагинов; |
| 99 | +КонецФункции |
| 100 | + |
| 101 | +Процедура ОпределитьКаталогПлагинов() |
| 102 | + |
| 103 | + КаталогПлагинов = ""; |
| 104 | + |
| 105 | + Если УстановитьКаталогИзПеременныхСреды() Тогда |
| 106 | + |
| 107 | + Возврат; |
| 108 | + |
| 109 | + ИначеЕсли ПроверитьТекущийКаталог() Тогда |
| 110 | + |
| 111 | + Возврат ; |
| 112 | + |
| 113 | + Иначе |
| 114 | + |
| 115 | + КаталогПлагинов = КаталогПлагиновПоУмолчанию(); |
| 116 | + |
| 117 | + КонецЕсли; |
| 118 | + |
| 119 | +КонецПроцедуры |
| 120 | + |
| 121 | +Функция УстановитьКаталогИзПеременныхСреды() |
| 122 | + |
| 123 | + МассивИменПеременныхСреды = "GITSYNC_PLUGINS_PATH GITSYNC_PLUGINS_DIR GITSYNC_PL_DIR"; |
| 124 | + |
| 125 | + МассивПеременныхСреды = СтрРазделить(МассивИменПеременныхСреды, " ", Ложь); |
| 126 | + |
| 127 | + Для каждого ПеременнаяСреды Из МассивПеременныхСреды Цикл |
| 128 | + |
| 129 | + КаталогПлагинов = ПолучитьПеременнуюСреды(ПеременнаяСреды); |
| 130 | + |
| 131 | + Если ЗначениеЗаполнено(КаталогПлагинов) Тогда |
| 132 | + Возврат Истина; |
| 133 | + КонецЕсли; |
| 134 | + |
| 135 | + КонецЦикла; |
| 136 | + |
| 137 | + Возврат Ложь; |
| 138 | + |
| 139 | +КонецФункции |
| 140 | + |
| 141 | +Функция ПроверитьТекущийКаталог() Экспорт |
| 142 | + |
| 143 | + РабочийКаталог = ТекущийКаталог(); |
| 144 | + |
| 145 | + ПутьККаталогуПриложения = ОбъединитьПути(РабочийКаталог, ИмяКаталогаПриложения); |
| 146 | + |
| 147 | + Если НЕ ФС.КаталогСуществует(ПутьККаталогуПриложения) Тогда |
| 148 | + Возврат Ложь; |
| 149 | + КонецЕсли; |
| 150 | + |
| 151 | + ПутьКФайлуНастройки = ОбъединитьПути(ПутьККаталогуПриложения, ИмяФайлаНастройкиПриложения); |
| 152 | + |
| 153 | + Если НЕ ФС.ФайлСуществует(ПутьКФайлуНастройки) Тогда |
| 154 | + |
| 155 | + ПрочитатьНастройкиПриложенияИзФайла(ПутьКФайлуНастройки); |
| 156 | + |
| 157 | + Если ЗначениеЗаполнено(КаталогПлагинов) Тогда |
| 158 | + |
| 159 | + Возврат Истина; // Подумать если не задано что делать |
| 160 | + |
| 161 | + КонецЕсли; |
| 162 | + |
| 163 | + КонецЕсли; |
| 164 | + |
| 165 | + КаталогПлагинов = ОбъединитьПути(ПутьККаталогуПриложения, ИмяКаталогаПлагинов); |
| 166 | + |
| 167 | + Если ФС.КаталогСуществует(КаталогПлагинов) Тогда |
| 168 | + ФС.ОбеспечитьКаталог(КаталогПлагинов); |
| 169 | + КонецЕсли; |
| 170 | + |
| 171 | + Возврат Истина; |
| 172 | + |
| 173 | +КонецФункции |
| 174 | + |
| 175 | +Процедура ПрочитатьНастройкиПриложенияИзФайла(ПутьКФайлуНастройки) |
| 176 | + // TODO Сделать чтение настройки из файла |
| 177 | +КонецПроцедуры |
| 178 | + |
86 | 179 | Функция ФайлВключенныхПлагинов() Экспорт |
87 | | - Возврат ОбъединитьПути(ПолучитьЛокальныйКаталогДанныхПриложения(), "gitsync-plugins.json"); |
| 180 | + Возврат ОбъединитьПути(КаталогПлагинов(), "gitsync-plugins.json"); |
88 | 181 | КонецФункции |
89 | 182 |
|
90 | 183 | Функция ИмяФайлаНастройкиПакетнойСинхронизации() Экспорт |
|
123 | 216 |
|
124 | 217 | ВременныеФайлы.БазовыйКаталог = ФайлБазовыйКаталог.ПолноеИмя; |
125 | 218 |
|
| 219 | + // Это специально для 1С |
| 220 | + УстановитьПеременнуюСреды("TEMP", Каталог); |
| 221 | + УстановитьПеременнуюСреды("Temp", Каталог); |
| 222 | + УстановитьПеременнуюСреды("Tmp", Каталог); |
| 223 | + |
126 | 224 | КонецЕсли; |
127 | 225 |
|
128 | 226 | КонецПроцедуры |
|
0 commit comments