projects
/
Sone.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7bb75fc
)
Store size properties in linked element
author
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Sun, 9 Apr 2017 20:08:59 +0000
(22:08 +0200)
committer
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Sun, 9 Apr 2017 20:08:59 +0000
(22:08 +0200)
src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt
patch
|
blob
|
history
src/main/kotlin/net/pterodactylus/sone/core/ElementLoader.kt
patch
|
blob
|
history
src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt
patch
|
blob
|
history
diff --git
a/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt
b/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt
index
5758c47
..
67d5538
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt
+++ b/
src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt
@@
-33,11
+33,20
@@
class DefaultElementLoader(private val freenetInterface: FreenetInterface, ticke
ByteArrayInputStream(data).use {
ImageIO.read(it)
}?.let {
ByteArrayInputStream(data).use {
ImageIO.read(it)
}?.let {
- imageCache.get(uri.toString().decode().normalize()) { LinkedElement(uri.toString()) }
+ imageCache.get(uri.toString().decode().normalize()) {
+ LinkedElement(uri.toString(), properties = mapOf("size" to data.size, "sizeHuman" to data.size.human))
+ }
}
removeLoadingLink(uri)
}
}
removeLoadingLink(uri)
}
+ private val Int.human get() = when (this) {
+ in 0..1023 -> "$this B"
+ in 1024..1048575 -> "${this / 1024} KiB"
+ in 1048576..1073741823 -> "${this / 1048576} MiB"
+ else -> "${this / 1073741824} GiB"
+ }
+
override fun failed(uri: FreenetURI) {
failureCache.put(uri.toString().decode().normalize(), true)
removeLoadingLink(uri)
override fun failed(uri: FreenetURI) {
failureCache.put(uri.toString().decode().normalize(), true)
removeLoadingLink(uri)
diff --git
a/src/main/kotlin/net/pterodactylus/sone/core/ElementLoader.kt
b/src/main/kotlin/net/pterodactylus/sone/core/ElementLoader.kt
index
95178ed
..
aec021d
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/sone/core/ElementLoader.kt
+++ b/
src/main/kotlin/net/pterodactylus/sone/core/ElementLoader.kt
@@
-12,4
+12,4
@@
interface ElementLoader {
}
}
-data class LinkedElement(val link: String, val failed: Boolean = false, val loading: Boolean = false)
+data class LinkedElement(val link: String, val failed: Boolean = false, val loading: Boolean = false
, val properties: Map<String, Any?> = emptyMap()
)
diff --git
a/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt
b/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt
index
424aaff
..
03b42c3
100644
(file)
--- a/
src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt
+++ b/
src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt
@@
-95,7
+95,7
@@
class DefaultElementLoaderTest {
verify(freenetInterface).startFetch(eq(FreenetURI(decomposedKey)), callback.capture())
callback.value.loaded(FreenetURI(normalizedKey), "image/png", read("/static/images/unknown-image-0.png"))
val linkedElement = elementLoader.loadElement(decomposedKey)
verify(freenetInterface).startFetch(eq(FreenetURI(decomposedKey)), callback.capture())
callback.value.loaded(FreenetURI(normalizedKey), "image/png", read("/static/images/unknown-image-0.png"))
val linkedElement = elementLoader.loadElement(decomposedKey)
- assertThat(linkedElement, `is`(LinkedElement(normalizedKey)))
+ assertThat(linkedElement, `is`(LinkedElement(normalizedKey
, properties = mapOf("size" to 2451, "sizeHuman" to "2 KiB")
)))
}
@Test
}
@Test