Skip to content

Commit

Permalink
Замена запрещенных символов в идентификаторах правил
Browse files Browse the repository at this point in the history
  • Loading branch information
otymko committed Jan 31, 2019
1 parent c3b6d87 commit 431894a
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 9 deletions.
53 changes: 45 additions & 8 deletions src/core/Модули/ОбщийФункционал.os
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
КонецФункции

Функция ПолучитьСтруктуруДереваПравил() Экспорт

Дерево = Новый ДеревоЗначений;
Дерево.Колонки.Добавить("Имя");
Дерево.Колонки.Добавить("Идентификатор");
Expand Down Expand Up @@ -201,13 +201,13 @@
КонецФункции

Процедура СоздатьКаталогРасширенный(ИмяКаталога) Экспорт

Файл = Новый Файл(ИмяКаталога);
Если Файл.Существует() И Файл.ЭтоКаталог() Тогда
УдалитьФайлы(ИмяКаталога);
КонецЕсли;
СоздатьКаталог(ИмяКаталога);

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

Функция ЭтотКаталогСуществует(Путь) Экспорт
Expand All @@ -216,11 +216,11 @@
КонецФункции

Процедура ЗаписатьЗначениеВТекстовыйДокумент(ИмяФайла, Содержимое) Экспорт

ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.УстановитьТекст(Содержимое);
ТекстовыйДокумент.Записать(ИмяФайла, КодировкаТекста.UTF8);

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

Процедура ОчиститьИсходныйКаталог(КаталогФайлов) Экспорт
Expand All @@ -236,22 +236,59 @@
КонецФункции

Функция ПолучитьПолныйПутьККаталогу(Путь) Экспорт

Файл = Новый Файл(Путь);
ПолноеИмяКаталога = Файл.ПолноеИмя;
Если Прав(ПолноеИмяКаталога, 1) = ПолучитьРазделительПути() Тогда
ПолноеИмяКаталога = Лев(ПолноеИмяКаталога, СтрДлина(ПолноеИмяКаталога) - 1);
КонецЕсли;
Возврат ПолноеИмяКаталога;

КонецФункции

Функция ЭтоGitРепозиторий(ТекущийКаталог) Экспорт

КаталогПроекта = Новый Файл(ОбъединитьПути(ТекущийКаталог, ".git"));
Если Не КаталогПроекта.Существует() Тогда
Возврат Ложь;
КонецЕсли;
Возврат Истина;

КонецФункции

Процедура ЗаменитьВСтрокеЗапрещенныеСимволы(ВходящееЗначение) Экспорт

ЗапрещенныеСимволы = ЗапрещенныеСимволыВПути();
Для Каждого ЗапрещенныйСимвол Из ЗапрещенныеСимволы Цикл
ВходящееЗначение = СтрЗаменить(ВходящееЗначение, ЗапрещенныйСимвол, "");
КонецЦикла;

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

Функция ЗапрещенныеСимволыВПути()

// \ — разделитель подкаталогов
// / — разделитель ключей командного интерпретатора
// : — отделяет букву диска или имя альтернативного потока данных
// * — заменяющий символ (маска «любое количество любых символов»)
// ? — заменяющий символ (маска «один любой символ»)
// " — используется для указания путей, содержащих пробелы
// < — перенаправление ввода
// > — перенаправление вывода
// | — обозначает конвейер
// + — (в различных версиях) конкатенация

ЗапрещенныеСимволы = Новый Массив();
ЗапрещенныеСимволы.Добавить("\");
ЗапрещенныеСимволы.Добавить("/");
ЗапрещенныеСимволы.Добавить(":");
ЗапрещенныеСимволы.Добавить("*");
ЗапрещенныеСимволы.Добавить("?");
ЗапрещенныеСимволы.Добавить("""");
ЗапрещенныеСимволы.Добавить(">");
ЗапрещенныеСимволы.Добавить("<");
ЗапрещенныеСимволы.Добавить("|");
ЗапрещенныеСимволы.Добавить("+");
Возврат ЗапрещенныеСимволы;

КонецФункции
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@

МассивРеквизитовТекущегоУзла = Новый Массив;
Идентификатор = ?(Не ПустаяСтрока(ТекущаяСтрока.Идентификатор), ТекущаяСтрока.Идентификатор, ТекущаяСтрока.Имя);
ОбщийФункционал.ЗаменитьВСтрокеЗапрещенныеСимволы(Идентификатор);
ИмяКаталогаСтроки = ОбъединитьПути(ТекущийКаталог, Идентификатор);
СоздатьКаталог(ИмяКаталогаСтроки);
ТекущаяСтрока.Каталог = ИмяКаталогаСтроки;
Expand All @@ -147,6 +148,7 @@
МассивРеквизитовТекущегоУзла = Новый Массив;

Идентификатор = ?(Не ПустаяСтрока(ТекущаяСтрока.Идентификатор), ТекущаяСтрока.Идентификатор, ТекущаяСтрока.Имя);
ОбщийФункционал.ЗаменитьВСтрокеЗапрещенныеСимволы(Идентификатор);
ИмяКаталогаСтроки = ОбъединитьПути(ТекущийКаталог, Идентификатор);
СоздатьКаталог(ИмяКаталогаСтроки);

Expand Down Expand Up @@ -180,7 +182,6 @@

КонецЦикла;


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

Процедура ЗаписатьСобытиеПравилВФайл(ТекущаяСтрока, ИмяЭлементаСтроки, ИмяКаталогаСобытий, Расширение = "bsl")
Expand Down

0 comments on commit 431894a

Please sign in to comment.