1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-11-26 03:58:44 +00:00

filename created

This commit is contained in:
InsanusMokrassar 2020-08-14 19:26:51 +06:00
parent d2228e274c
commit c91426a910
3 changed files with 15 additions and 1 deletions

View File

@ -51,6 +51,9 @@
### 0.27.11 ### 0.27.11
* `TelegramBotAPI`:
* Extension `String#filenameFromUrl` was created
* Extension `PathedFile#filename` was created
* `TelegramBotAPI-extensions-utils`: * `TelegramBotAPI-extensions-utils`:
* `Flow<Iterable<T>>.flatMap` extension was added * `Flow<Iterable<T>>.flatMap` extension was added
* Extensions for `FlowUpdatesFilter` were added: * Extensions for `FlowUpdatesFilter` were added:

View File

@ -4,7 +4,7 @@ import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
import com.github.insanusmokrassar.TelegramBotAPI.types.FileUniqueId import com.github.insanusmokrassar.TelegramBotAPI.types.FileUniqueId
import com.github.insanusmokrassar.TelegramBotAPI.types.fileUniqueIdField import com.github.insanusmokrassar.TelegramBotAPI.types.fileUniqueIdField
import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.*
import com.github.insanusmokrassar.TelegramBotAPI.utils.TelegramAPIUrlsKeeper import com.github.insanusmokrassar.TelegramBotAPI.utils.*
import kotlinx.serialization.SerialName import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
@ -20,5 +20,7 @@ data class PathedFile(
override val fileSize: Long? = null override val fileSize: Long? = null
): TelegramMediaFile ): TelegramMediaFile
val PathedFile.filename: FileName
get() = filePath.filenameFromUrl
fun TelegramAPIUrlsKeeper.resolveFileURL(file: PathedFile): String = "$fileBaseUrl/${file.filePath}" fun TelegramAPIUrlsKeeper.resolveFileURL(file: PathedFile): String = "$fileBaseUrl/${file.filePath}"
fun PathedFile.fullUrl(keeper: TelegramAPIUrlsKeeper): String = keeper.resolveFileURL(this) fun PathedFile.fullUrl(keeper: TelegramAPIUrlsKeeper): String = keeper.resolveFileURL(this)

View File

@ -1,6 +1,15 @@
package com.github.insanusmokrassar.TelegramBotAPI.utils package com.github.insanusmokrassar.TelegramBotAPI.utils
private val filenameRegex = Regex("[^/]*$")
private val extensionRegex = Regex("[^.]*$") private val extensionRegex = Regex("[^.]*$")
/**
* File name like hello.jpg
*/
typealias FileName = String
val String.filenameFromUrl: FileName
get() = filenameRegex.find(this) ?.value ?: ""
val String.fileExtension val String.fileExtension
get() = extensionRegex.find(this) ?.value ?: "" get() = extensionRegex.find(this) ?.value ?: ""