-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
248 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
testdata/ | ||
.vscode/ | ||
.sonarlint/ | ||
.sonarlint/ | ||
*.ospx |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<package-def> | ||
<class name="Тест" file="Классы/КомандаТест.os"/> | ||
<class name="МенеджерОбработкиДанных" file="Классы/МенеджерОбработкиДанных.os"/> | ||
<class name="ЧтениеКаталога" file="Классы/ЧтениеКаталога.os"/> | ||
<class name="ЧтениеСкобкоФайла" file="Классы/ЧтениеСкобкоФайла.os"/> | ||
<class name="ЧтениеЖР" file="Классы/ЧтениеЖР.os"/> | ||
<class name="ЧтениеСловаряЖР" file="Классы/ЧтениеСловаряЖР.os"/> | ||
<class name="ЧтениеСпискаИБ" file="Классы/ЧтениеСпискаИБ.os"/> | ||
<class name="ЧтениеЗамераПроизводительности" file="Классы/ЧтениеЗамераПроизводительности.os"/> | ||
<class name="ЧтениеОтчетаПоВерсиямХранилища" file="Классы/ЧтениеОтчетаПоВерсиямХранилища.os"/> | ||
<class name="ВыводДанныхВКонсоль" file="Классы/ВыводДанныхВКонсоль.os"/> | ||
<class name="ВыводДанныхВФайлJSON" file="Классы/ВыводДанныхВФайлJSON.os"/> | ||
<class name="ВыводДанныхВЭластик" file="Классы/ВыводДанныхВЭластик.os"/> | ||
<module name="ПараметрыПриложения" file="Модули/ПараметрыПриложения.os"/> | ||
</package-def> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
//---------------------------------------------------------- | ||
//This Source Code Form is subject to the terms of the | ||
//Mozilla Public License, v.2.0. If a copy of the MPL | ||
//was not distributed with this file, You can obtain one | ||
//at http://mozilla.org/MPL/2.0/. | ||
//---------------------------------------------------------- | ||
//Codebase: https://github.com/ArKuznetsov/yabr.os/ | ||
//---------------------------------------------------------- | ||
|
||
Процедура ОписаниеКоманды(Команда) Экспорт | ||
|
||
Команда.Опция("s start-row", 1, "начальная строка для чтения") | ||
.ТЧисло() | ||
.ПоУмолчанию(1); | ||
|
||
Команда.Опция("r mesure-rate", "", "частота замера скорости выполнения") | ||
.ТЧисло() | ||
.ПоУмолчанию(100); | ||
КонецПроцедуры | ||
|
||
Процедура ВыполнитьКоманду(Знач Команда) Экспорт | ||
|
||
Лог = ПараметрыПриложения.Лог(); | ||
|
||
Данные = Команда.ЗначениеАргумента("PATH"); | ||
НачальнаяСтрока = Команда.ЗначениеОпции("start-row"); | ||
ЧастотаЗамера = Команда.ЗначениеОпции("mesure-rate"); | ||
|
||
ПараметрыОбработки = Новый Структура(); | ||
ПараметрыОбработки.Вставить("НачальнаяСтрока" , НачальнаяСтрока); | ||
ПараметрыОбработки.Вставить("ЧастотаЗамераСкоростиВыполнения", ЧастотаЗамера); | ||
|
||
Чтение = Новый ЧтениеСкобкоФайла(); | ||
|
||
Чтение.УстановитьПараметрыОбработкиДанных(ПараметрыОбработки); | ||
|
||
Чтение.УстановитьДанные(Данные); | ||
|
||
Чтение.ОбработатьДанные(); | ||
|
||
РезультатОбработки = Чтение.РезультатОбработки(); | ||
|
||
УдалитьДанныеНеСовместимыеСJSON(РезультатОбработки); | ||
|
||
Сообщить(ЗаписатьДанныеВJSON(РезультатОбработки)); | ||
|
||
Если ЧастотаЗамера > 0 Тогда | ||
Сообщить(Символы.ПС + ЗаписатьДанныеВJSON(Чтение.ЗамерСкоростиВыполнения())); | ||
КонецЕсли; | ||
|
||
КонецПроцедуры // ВыполнитьКоманду | ||
|
||
#Область СлужебныеПроцедурыИФункции | ||
|
||
// Процедура - удаляет из состава структуры циклические ссылки и соответствия номеров строк | ||
// | ||
// Параметры: | ||
// Данные - Структура - даныые для обработки | ||
// | ||
Процедура УдалитьДанныеНесовместимыеСJSON(Данные) | ||
|
||
Если НЕ ТипЗнч(Данные) = Тип("Структура") Тогда | ||
Возврат; | ||
КонецЕсли; | ||
|
||
Если Данные.Свойство("Родитель") Тогда | ||
Данные.Удалить("Родитель"); | ||
КонецЕсли; | ||
|
||
Если Данные.Свойство("НомераСтрок") Тогда | ||
Данные.Удалить("НомераСтрок"); | ||
КонецЕсли; | ||
|
||
Если Данные.Свойство("Значения") И ТипЗнч(Данные.Значения) = Тип("Массив") Тогда | ||
Для Каждого ТекЭлемент Из Данные.Значения Цикл | ||
УдалитьДанныеНесовместимыеСJSON(ТекЭлемент); | ||
КонецЦикла; | ||
КонецЕсли; | ||
|
||
КонецПроцедуры // УдалитьДанныеНесовместимыеСJSON() | ||
|
||
// Функция - возвращает представление данных в текстовом формате JSON | ||
// | ||
// Параметры: | ||
// Данные - Структура, Массив(Структура) - данные для преобразования | ||
// | ||
// Возвращаемое значение: | ||
// Строка - представление данных в текстовом формате JSON | ||
// | ||
Функция ЗаписатьДанныеВJSON(Знач Данные) | ||
|
||
Запись = Новый ЗаписьJSON(); | ||
Запись.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Unix, Символы.Таб)); | ||
|
||
Попытка | ||
ЗаписатьJSON(Запись, Данные); | ||
Исключение | ||
ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); | ||
ВызватьИсключение ТекстОшибки; | ||
КонецПопытки; | ||
|
||
Возврат Запись.Закрыть(); | ||
|
||
КонецФункции // ЗаписатьДанныеВJSON() | ||
|
||
#КонецОбласти // СлужебныеПроцедурыИФункции |
Oops, something went wrong.