From 223a0fdde39a3fe75533fc2ae615e66c5e13ab0d Mon Sep 17 00:00:00 2001 From: Fabian Schlenz Date: Fri, 20 Apr 2018 06:54:29 +0200 Subject: [PATCH] Added blacklist_extensions to skip some file types completely from being downloaded. --- .../kotlin/de/fabianonline/telegram_backup/DownloadManager.kt | 2 ++ src/main/kotlin/de/fabianonline/telegram_backup/Settings.kt | 1 + src/main/resources/config.sample.ini | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/src/main/kotlin/de/fabianonline/telegram_backup/DownloadManager.kt b/src/main/kotlin/de/fabianonline/telegram_backup/DownloadManager.kt index 422a665..178a4cd 100644 --- a/src/main/kotlin/de/fabianonline/telegram_backup/DownloadManager.kt +++ b/src/main/kotlin/de/fabianonline/telegram_backup/DownloadManager.kt @@ -261,6 +261,8 @@ class DownloadManager(val client: TelegramClient, val prog: DownloadProgressInte prog.onMediaSkipped() } else if (settings.max_file_size>0 && settings.max_file_size*1024*1024 > m.size) { prog.onMediaSkipped() + } else if (settings.blacklist_extensions.contains(m.extension)) { + prog.onMediaSkipped() } else { try { val result = m.download(prog) diff --git a/src/main/kotlin/de/fabianonline/telegram_backup/Settings.kt b/src/main/kotlin/de/fabianonline/telegram_backup/Settings.kt index 1826b6f..0e7b0ee 100644 --- a/src/main/kotlin/de/fabianonline/telegram_backup/Settings.kt +++ b/src/main/kotlin/de/fabianonline/telegram_backup/Settings.kt @@ -29,6 +29,7 @@ class Settings(val file_base: String, val database: Database, val cli_settings: val blacklist_channels = sf.getStringList("blacklist_channels", default=LinkedList()) val max_file_age = sf.getInt("max_file_age", default=-1) val max_file_size = sf.getInt("max_file_size", default=-1) + val blacklist_extensions = sf.getStringList("blacklist_extensions", default=LinkedList()) private fun get_setting_list(name: String): List? { return ini_settings[name] diff --git a/src/main/resources/config.sample.ini b/src/main/resources/config.sample.ini index ca08d31..67f245b 100644 --- a/src/main/resources/config.sample.ini +++ b/src/main/resources/config.sample.ini @@ -26,6 +26,10 @@ ## Leave unset to download media files regardless of their size. # max_file_size = 5 +## Don't download media files having these extensions. +## You can add this line multiple times to blacklist more than one extension. +# blacklist_extensions = jpg +# blacklist_extensions = avi ## Downloads of channels and supergroups ## Here you can specify which channels and supergroups