Ceredira / CerediraPackageManagerUI

Магазин портабельных приложений для Windows
GNU General Public License v3.0
0 stars 0 forks source link

Локальный репозиторий - отсутствие файлов #1

Open unixshaman opened 1 month ago

unixshaman commented 1 month ago

В методе LocalPackageManager.GetPackages идет чтение из файлов. Предусмотреть (предложить варианты в комментариях) поведение при отсутствии. Для каких-то вещей можно предусмотреть значения по умолчанию (или пусто или какой-то текст), отсутствие каких-то файлов (продумать) будет являться критичным.

unixshaman commented 1 month ago

Поспешили закрыть задачу. Эта задача про историю, когда в каталоге install есть каталог с версией продукта, но в ней отсутствует файл с определенными метаданными.

PycJIaH commented 1 month ago

"но в ней отсутствует файл с определенными метаданными"

Уточни пожалуйста, что имеется ввиду под этим выражением, что установленный пакет изменён пользователем?

unixshaman commented 1 month ago

Эта история про вот этот кусок кода из проекта: // Все содержимое из файла добавляем в поле сущности пакета Changelog = File.ReadAllText(Path.Combine(dir, "changelog.txt")), Description = File.ReadAllText(Path.Combine(dir, "description.txt")),

Указанных файлов может не быть по какой-то причине - например битый пакет, пакет в состоянии разработки, прервали процесс установки и не хватает части файлов. Если удалишь из каталога install один любой файл - отловишь тут падение. Падать не надо, надо поделить параметры на 2 категории: можно выводить просто пустой текст, и нужно вывести прямо ошибку куда-то, и не отображать такой пакет, или отображать как битый (с этим пока подумаем, просто с красной заливкой его отрисовывать).