mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-12-22 16:47:13 +00:00
filename created
This commit is contained in:
parent
d2228e274c
commit
c91426a910
@ -51,6 +51,9 @@
|
||||
|
||||
### 0.27.11
|
||||
|
||||
* `TelegramBotAPI`:
|
||||
* Extension `String#filenameFromUrl` was created
|
||||
* Extension `PathedFile#filename` was created
|
||||
* `TelegramBotAPI-extensions-utils`:
|
||||
* `Flow<Iterable<T>>.flatMap` extension was added
|
||||
* Extensions for `FlowUpdatesFilter` were added:
|
||||
|
@ -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.fileUniqueIdField
|
||||
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.Serializable
|
||||
|
||||
@ -20,5 +20,7 @@ data class PathedFile(
|
||||
override val fileSize: Long? = null
|
||||
): TelegramMediaFile
|
||||
|
||||
val PathedFile.filename: FileName
|
||||
get() = filePath.filenameFromUrl
|
||||
fun TelegramAPIUrlsKeeper.resolveFileURL(file: PathedFile): String = "$fileBaseUrl/${file.filePath}"
|
||||
fun PathedFile.fullUrl(keeper: TelegramAPIUrlsKeeper): String = keeper.resolveFileURL(this)
|
||||
|
@ -1,6 +1,15 @@
|
||||
package com.github.insanusmokrassar.TelegramBotAPI.utils
|
||||
|
||||
private val filenameRegex = 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
|
||||
get() = extensionRegex.find(this) ?.value ?: ""
|
||||
|
Loading…
Reference in New Issue
Block a user