Skip to content

Commit

Permalink
Merge branch 'release/v.1.2.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
arkuznetsov committed Jun 13, 2022
2 parents 6c7761f + 4d716b8 commit 4281522
Show file tree
Hide file tree
Showing 8 changed files with 265 additions and 22 deletions.
1 change: 1 addition & 0 deletions .github/workflows/qa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ jobs:
SFTP_TEST_ADDRESS: ${{ secrets.SFTP_TEST_ADDRESS }}
SFTP_TEST_USER: ${{ secrets.SFTP_TEST_USER }}
SFTP_TEST_PWD: ${{ secrets.SFTP_TEST_PWD }}
YADISK_TOKEN: ${{ secrets.YADISK_TOKEN }}
LOGOS_CONFIG : "logger.oscript.app.cpdb=INFO"
run: oscript ./tasks/coverage.os

Expand Down
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Описание.Имя("cpdb")
.Версия("1.2.0")
.Версия("1.2.1")
.ВерсияСреды("1.7.0")
.ЗависитОт("logos")
.ЗависитОт("1commands")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@

Команда.Опция("ds delsrc", "", "удалить исходные файлы после получения")
.Флаговый()
.ПоУмолчанию(Ложь)
.ВОкружении("CPDB_YD_GET_DEL_SRC");

КонецПроцедуры // ОписаниеКоманды()
Expand Down Expand Up @@ -75,10 +76,8 @@
ВызватьИсключение "Не задан путь к файлу для получения из Yandex-Диск";
КонецЕсли;

ЯндексДиск = Новый ЯндексДиск;
ЯндексДиск.УстановитьТокенАвторизации(OAuth_Токен);

ПутьКСкачанномуФайлу = РаботаСФайлами.ПолучитьФайлИзЯДиска(ЯндексДиск, ПутьНаДиске, ЦелевойПуть, УдалитьИсточник);
РаботаСЯндексДиск = Новый РаботаСЯндексДиск(OAuth_Токен);
ПутьКСкачанномуФайлу = РаботаСЯндексДиск.ПолучитьФайл(ПутьНаДиске, ЦелевойПуть, УдалитьИсточник);

ФайлИнфо = Новый Файл(ПутьКСкачанномуФайлу);

Expand All @@ -87,8 +86,7 @@
Если ЭтоСписокФайлов Тогда
МассивПолучаемыхФайлов = РаботаСФайлами.ПрочитатьСписокФайлов(ПутьКСкачанномуФайлу);
Для Каждого ПолучаемыйФайл Из МассивПолучаемыхФайлов Цикл
РаботаСФайлами.ПолучитьФайлИзЯДиска(ЯндексДиск,
ОбъединитьПути(КаталогНаДиске, ПолучаемыйФайл),
РаботаСЯндексДиск.ПолучитьФайл(ОбъединитьПути(КаталогНаДиске, ПолучаемыйФайл),
ЦелевойПуть,
УдалитьИсточник);
КонецЦикла;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,16 @@

Команда.Опция("p yp path ya-path", "", "путь к файлу на Yandex-Диск")
.ТСтрока()
.Обязательный()
.ВОкружении("CPDB_YD_PUT_PATH");

Команда.Опция("r replace", "", "перезаписать файл на Яндекс-диске при загрузке")
.Флаговый()
.ПоУмолчанию(Ложь)
.ВОкружении("CPDB_YD_PUT_REPLACE");

Команда.Опция("ds delsrc", "", "удалить исходные файлы после отправки")
.Флаговый()
.ПоУмолчанию(Ложь)
.ВОкружении("CPDB_YD_PUT_DEL_SRC");

КонецПроцедуры // ОписаниеКоманды()
Expand Down Expand Up @@ -80,28 +81,26 @@
КонецЕсли;

МассивОтправляемыхФайлов = Новый Массив;
ФайлИнфо = Новый Файл(ПутьКФайлу);

ЯндексДиск = Новый ЯндексДиск();
ЯндексДиск.УстановитьТокенАвторизации(OAuth_Токен);

РаботаСЯндексДиск = Новый РаботаСЯндексДиск(OAuth_Токен);

// Если целевой путь не указан - тогда используется корень Яндекс-диска
Если ЗначениеЗаполнено(ЦелевойПуть) Тогда
// Определяем наличие каталога
РаботаСФайлами.СоздатьПапкуНаЯДиске(ЯндексДиск, ЦелевойПуть);
РаботаСЯндексДиск.СоздатьКаталог(ЦелевойПуть);
Иначе
ЦелевойПуть = "";
КонецЕсли;

Если ЭтоСписокФайлов Тогда
МассивОтправляемыхФайлов = РаботаСФайлами.ПрочитатьСписокФайлов(ПутьКФайлу, Истина);
Иначе
ФайлИнфо = Новый Файл(ПутьКФайлу);
МассивОтправляемыхФайлов.Добавить(ФайлИнфо.ПолноеИмя);
КонецЕсли;

// Добавляем файл (или файл-список файлов) списка для закачки на Я-Диск
МассивОтправляемыхФайлов.Добавить(ФайлИнфо.ПолноеИмя);

Для Каждого ОтправляемыйФайл Из МассивОтправляемыхФайлов Цикл
РаботаСФайлами.ОтправитьФайлНаЯДиск(ЯндексДиск, ОтправляемыйФайл, ЦелевойПуть, Перезаписывать);
РаботаСЯндексДиск.ОтправитьФайл(ОтправляемыйФайл, ЦелевойПуть, Перезаписывать);

Если УдалитьИсточник Тогда
УдалитьФайлы(ОтправляемыйФайл);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

Команда.ДобавитьКоманду("get g",
"скачать файл с Yandex-диска",
Новый КомандаПоместитьФайлВЯДиск());
Новый КомандаПолучитьФайлИзЯДиска());

Команда.Опция("t yt token ya-token", "", "Token авторизации для Yandex-диска")
.ТСтрока()
Expand Down
21 changes: 18 additions & 3 deletions src/core/Классы/РаботаСЯндексДиск.os
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#Использовать fs

Перем Токен; // - Строка - токен авторизации Yandex-диска
Перем Соединение; // - ЯндексДиск - соединение с сервером NextCloud
Перем Соединение; // - ЯндексДиск - соединение с сервером YandexDisk

Перем Лог; // - Объект - объект записи лога приложения

Expand Down Expand Up @@ -101,7 +101,7 @@
ИмяЗагружаемогоФайла = СтрШаблон("%1/%2", ЦелевойПуть, ИсходныйФайл.Имя);

РазмерФайла = ИсходныйФайл.Размер();

Если СвободноМеста < РазмерФайла Тогда
ТекстОшибки = СтрШаблон("Недостаточно места на Yandex-диск для копирования файла ""%1"": есть %2, надо %3",
ПутьКФайлу,
Expand Down Expand Up @@ -188,7 +188,22 @@
//
Функция Существует(Знач ПутьНаДиске) Экспорт

Возврат Неопределено;
Лог.Информация("Начало проверки существования файла / каталога ""%1""", ПутьНаДиске);

КаталогИлиФайлНайден = Ложь;

Попытка
СвойстваФайлаИлиПапки = Соединение.ПолучитьСвойстваРесурса(ПутьНаДиске);

Если СвойстваФайлаИлиПапки["type"] = "dir" ИЛИ СвойстваФайлаИлиПапки["type"] = "file" Тогда
КаталогИлиФайлНайден = Истина;
Лог.Информация("Файл / каталог существует ""%1""", ПутьНаДиске);
КонецЕсли;
Исключение
Лог.Информация("Файл / каталог не существует ""%1""", ПутьНаДиске);
КонецПопытки;

Возврат КаталогИлиФайлНайден;

КонецФункции // Существует()

Expand Down
2 changes: 1 addition & 1 deletion src/core/Модули/ПараметрыСистемы.os
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,6 @@
//
Функция Версия() Экспорт

Возврат "1.2.0";
Возврат "1.2.1";

КонецФункции // Версия()
Loading

0 comments on commit 4281522

Please sign in to comment.