Skip to content

Commit 6488b9d

Browse files
committed
fix linter and control output writing with env variable
1 parent e2921ef commit 6488b9d

File tree

14 files changed

+66
-42
lines changed

14 files changed

+66
-42
lines changed

core/build.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ val customTest = tasks.register<Test>("customTest") {
8787
}
8888
}
8989

90+
environment("DATAFRAME_SAVE_OUTPUTS", "")
91+
9092
filter {
9193
includeTestsMatching("org.jetbrains.kotlinx.dataframe.samples.api.*")
9294
}
@@ -252,7 +254,7 @@ kotlinter {
252254
"filename",
253255
"comment-spacing",
254256
"curly-spacing",
255-
"import-ordering"
257+
"experimental:annotation-spacing"
256258
)
257259
}
258260

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/jupyter/Integration.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ internal fun convertToDataFrame(dataframeLike: Any): AnyFrame =
266266
is PivotGroupBy<*> -> dataframeLike.frames()
267267
is ReducedPivotGroupBy<*> -> dataframeLike.values()
268268
is SplitWithTransform<*, *, *> -> dataframeLike.into()
269+
is Split<*, *> -> dataframeLike.toDataFrame()
269270
is Merge<*, *, *> -> dataframeLike.into("merged")
270271
is Gather<*, *, *, *> -> dataframeLike.into("key", "value")
271272
is Update<*, *> -> dataframeLike.df

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/explainer/PluginCallback.kt

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
package org.jetbrains.kotlinx.dataframe.explainer
22

33
import com.beust.klaxon.JsonObject
4-
import org.jetbrains.kotlinx.dataframe.AnyFrame
5-
import org.jetbrains.kotlinx.dataframe.api.print
6-
import java.io.File
7-
import java.util.concurrent.atomic.AtomicInteger
84
import org.jetbrains.kotlinx.dataframe.AnyCol
5+
import org.jetbrains.kotlinx.dataframe.AnyFrame
96
import org.jetbrains.kotlinx.dataframe.DataFrame
107
import org.jetbrains.kotlinx.dataframe.DataRow
118
import org.jetbrains.kotlinx.dataframe.RowValueFilter
@@ -19,11 +16,13 @@ import org.jetbrains.kotlinx.dataframe.api.Pivot
1916
import org.jetbrains.kotlinx.dataframe.api.PivotGroupBy
2017
import org.jetbrains.kotlinx.dataframe.api.ReducedPivot
2118
import org.jetbrains.kotlinx.dataframe.api.ReducedPivotGroupBy
19+
import org.jetbrains.kotlinx.dataframe.api.Split
2220
import org.jetbrains.kotlinx.dataframe.api.SplitWithTransform
2321
import org.jetbrains.kotlinx.dataframe.api.Update
2422
import org.jetbrains.kotlinx.dataframe.api.format
2523
import org.jetbrains.kotlinx.dataframe.api.frames
2624
import org.jetbrains.kotlinx.dataframe.api.into
25+
import org.jetbrains.kotlinx.dataframe.api.print
2726
import org.jetbrains.kotlinx.dataframe.api.toDataFrame
2827
import org.jetbrains.kotlinx.dataframe.api.values
2928
import org.jetbrains.kotlinx.dataframe.api.where
@@ -34,6 +33,7 @@ import org.jetbrains.kotlinx.dataframe.io.DisplayConfiguration
3433
import org.jetbrains.kotlinx.dataframe.io.sessionId
3534
import org.jetbrains.kotlinx.dataframe.io.tableInSessionId
3635
import org.jetbrains.kotlinx.dataframe.io.toHTML
36+
import java.io.File
3737

3838
private fun convertToHTML(dataframeLike: Any): DataFrameHtmlData {
3939
fun DataFrame<*>.toHTML() = toHTML(DisplayConfiguration(), getFooter = { "" })
@@ -44,7 +44,7 @@ private fun convertToHTML(dataframeLike: Any): DataFrameHtmlData {
4444
is ReducedPivot<*> -> dataframeLike.values().toDataFrame().toHTML()
4545
is PivotGroupBy<*> -> dataframeLike.frames().toHTML()
4646
is ReducedPivotGroupBy<*> -> dataframeLike.values().toHTML()
47-
is SplitWithTransform<*, *, *> -> DataFrameHtmlData(body = "<p>${dataframeLike::class}</p>")
47+
is SplitWithTransform<*, *, *> -> dataframeLike.into().toHTML()
4848
is Merge<*, *, *> -> dataframeLike.into("merged").toHTML()
4949
is Gather<*, *, *, *> -> dataframeLike.into("key", "value").toHTML()
5050
// is Update<*, *> -> DataFrameHtmlData(body = "<p>${dataframeLike::class}</p>")
@@ -64,6 +64,13 @@ private fun convertToHTML(dataframeLike: Any): DataFrameHtmlData {
6464
is AnyFrame -> dataframeLike.toHTML()
6565
is AnyCol -> dataframeLike.toDataFrame().toHTML()
6666
is DataRow<*> -> dataframeLike.toDataFrame().toHTML()
67+
is Split<*, *> -> dataframeLike.toDataFrame().toHTML()
68+
// is MoveClause<*, *>-> null
69+
// is RenameClause<*, *> -> null
70+
// is ReplaceClause<*, *> -> null
71+
// is GroupClause<*, *> -> null
72+
// is InsertClause<*> -> null
73+
// is FormatClause<*, *> -> null
6774
else -> throw IllegalArgumentException("Unsupported type: ${dataframeLike::class}")
6875
}
6976
}
@@ -76,6 +83,13 @@ private fun convertToDescription(dataframeLike: Any): String {
7683
is PivotGroupBy<*> -> "PivotGroupBy"
7784
is ReducedPivotGroupBy<*> -> "ReducedPivotGroupBy"
7885
is SplitWithTransform<*, *, *> -> "SplitWithTransform"
86+
is Split<*, *> -> "Split"
87+
// is MoveClause<*, *> -> "Move"
88+
// is RenameClause<*, *> -> "Rename"
89+
// is ReplaceClause<*, *> -> "Replace"
90+
// is GroupClause<*, *> -> "Group"
91+
// is InsertClause<*> -> "Insert"
92+
// is FormatClause<*, *> -> "Format"
7993
is Merge<*, *, *> -> "Merge"
8094
is Gather<*, *, *, *> -> "Gather"
8195
is Update<*, *> -> "Update"
@@ -110,11 +124,7 @@ fun main() {
110124
}
111125

112126
object PluginCallback {
113-
// val strings = mutableListOf<String>()
114-
// val names = mutableListOf<String>()
115-
// val dfs = mutableListOf<String>()
116-
117-
var i = AtomicInteger(0)
127+
// var i = AtomicInteger(0)
118128
val names = mutableMapOf<String, List<String>>()
119129
val expressionsByStatement = mutableMapOf<Int, List<Expression>>()
120130

@@ -130,7 +140,7 @@ object PluginCallback {
130140
}
131141

132142
fun save() {
133-
if (i.get() == 0) return
143+
// if (i.get() == 0) return
134144
sessionId = 0
135145
tableInSessionId = 0
136146
var output = DataFrameHtmlData.tableDefinitions() + DataFrameHtmlData(
@@ -176,7 +186,7 @@ object PluginCallback {
176186
<details>
177187
<summary>${expressions.joinToString(".") { it.source }
178188
.also {
179-
if (it.length > 88) TODO("expression is too long. better to split sample in multiple snippets")
189+
if (it.length > 95) TODO("expression is too long ${it.length}. better to split sample in multiple snippets")
180190
}
181191
.escapeHTML()}</summary>
182192
${details.body}
@@ -252,7 +262,7 @@ object PluginCallback {
252262

253263
var action: (String, String, Any, String, String?, String?, String?, Int) -> Unit =
254264
{ source, name, df, id, receiverId, containingClassFqName, containingFunName, statementIndex ->
255-
i.incrementAndGet()
265+
// i.incrementAndGet()
256266
expressionsByStatement.compute(statementIndex) { _, list ->
257267
val element = Expression(source, containingClassFqName, containingFunName, df)
258268
list?.plus(element) ?: listOf(element)
@@ -318,9 +328,12 @@ internal fun String.escapeHTML(): String {
318328
append(c.code)
319329
append(';')
320330
}
321-
c == '<' -> append("&lt;")
322-
c == '>' -> append("&gt;")
331+
// c == '<' -> append("&lt;")
332+
// c == '>' -> append("&gt;")
323333
c == '"' -> append("&quot;")
334+
c == '<' -> append("&amp;lt;")
335+
c == '>' -> append("&amp;gt;")
336+
// c == '"' -> append("&amp;quot;")
324337
c == '&' -> append("&amp;")
325338
else -> {
326339
append(c)

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Analyze.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ import org.jetbrains.kotlinx.dataframe.api.sumFor
5151
import org.jetbrains.kotlinx.dataframe.api.sumOf
5252
import org.jetbrains.kotlinx.dataframe.api.valueCounts
5353
import org.jetbrains.kotlinx.dataframe.api.values
54+
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
5455
import org.junit.Test
5556
import kotlin.math.ln
56-
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
5757

5858
class Analyze : TestBase() {
5959

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Create.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ import org.jetbrains.kotlinx.dataframe.api.toDataFrame
2323
import org.jetbrains.kotlinx.dataframe.api.value
2424
import org.jetbrains.kotlinx.dataframe.api.withValues
2525
import org.jetbrains.kotlinx.dataframe.columns.ColumnKind
26+
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
2627
import org.jetbrains.kotlinx.dataframe.kind
2728
import org.jetbrains.kotlinx.dataframe.type
2829
import org.junit.Test
2930
import kotlin.reflect.typeOf
30-
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
3131

3232
class Create : TestBase() {
3333

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Modify.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,18 +97,18 @@ import org.jetbrains.kotlinx.dataframe.api.with
9797
import org.jetbrains.kotlinx.dataframe.api.withNull
9898
import org.jetbrains.kotlinx.dataframe.api.withValue
9999
import org.jetbrains.kotlinx.dataframe.api.withZero
100+
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
100101
import org.jetbrains.kotlinx.dataframe.impl.api.mapNotNullValues
101102
import org.jetbrains.kotlinx.dataframe.io.readJsonStr
102103
import org.jetbrains.kotlinx.dataframe.io.renderToString
103104
import org.jetbrains.kotlinx.dataframe.testResource
104105
import org.jetbrains.kotlinx.dataframe.types.UtilTests
106+
import org.junit.Ignore
105107
import org.junit.Test
106108
import java.net.URL
107109
import java.time.format.DateTimeFormatter
108-
import java.util.Locale
110+
import java.util.*
109111
import kotlin.streams.toList
110-
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
111-
import org.junit.Ignore
112112

113113
class Modify : TestBase() {
114114

@@ -1198,7 +1198,7 @@ class Modify : TestBase() {
11981198
}
11991199

12001200
@Test
1201-
@TransformDataFrameExpressions
1201+
// @TransformDataFrameExpressions
12021202
fun multiCallOperations() {
12031203
// SampleStart
12041204
df.update { age }.where { city == "Paris" }.with { it - 5 }

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Render.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package org.jetbrains.kotlinx.dataframe.samples.api
33
import org.jetbrains.kotlinx.dataframe.api.reorderColumnsByName
44
import org.jetbrains.kotlinx.dataframe.api.sortBy
55
import org.jetbrains.kotlinx.dataframe.api.sortByDesc
6+
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
67
import org.jetbrains.kotlinx.dataframe.io.DataFrameHtmlData
78
import org.jetbrains.kotlinx.dataframe.io.DisplayConfiguration
89
import org.jetbrains.kotlinx.dataframe.io.toHTML
@@ -11,7 +12,6 @@ import org.junit.Ignore
1112
import org.junit.Test
1213
import java.io.File
1314
import kotlin.io.path.Path
14-
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
1515

1616
class Render : TestBase() {
1717
@Test

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/TestBase.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,22 @@ import org.junit.Before
1313

1414
public open class TestBase {
1515

16+
companion object {
17+
internal const val OUTPUTS = "DATAFRAME_SAVE_OUTPUTS"
18+
}
19+
1620
@Before
1721
fun start() {
18-
PluginCallback.start()
22+
if (System.getenv(OUTPUTS) != null) {
23+
PluginCallback.start()
24+
}
1925
}
2026

2127
@After
2228
fun save() {
23-
PluginCallback.save()
29+
if (System.getenv(OUTPUTS) != null) {
30+
PluginCallback.save()
31+
}
2432
}
2533

2634
val df = dataFrameOf("firstName", "lastName", "age", "city", "weight", "isHappy")(

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/explainer/PluginCallback.kt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package org.jetbrains.kotlinx.dataframe.explainer
22

33
import com.beust.klaxon.JsonObject
4-
import java.io.File
5-
import java.util.concurrent.atomic.AtomicInteger
64
import org.jetbrains.kotlinx.dataframe.AnyCol
75
import org.jetbrains.kotlinx.dataframe.AnyFrame
86
import org.jetbrains.kotlinx.dataframe.DataFrame
@@ -35,6 +33,7 @@ import org.jetbrains.kotlinx.dataframe.io.DisplayConfiguration
3533
import org.jetbrains.kotlinx.dataframe.io.sessionId
3634
import org.jetbrains.kotlinx.dataframe.io.tableInSessionId
3735
import org.jetbrains.kotlinx.dataframe.io.toHTML
36+
import java.io.File
3837

3938
private fun convertToHTML(dataframeLike: Any): DataFrameHtmlData {
4039
fun DataFrame<*>.toHTML() = toHTML(DisplayConfiguration(), getFooter = { "" })
@@ -125,11 +124,6 @@ fun main() {
125124
}
126125

127126
object PluginCallback {
128-
// val strings = mutableListOf<String>()
129-
// val names = mutableListOf<String>()
130-
// val dfs = mutableListOf<String>()
131-
132-
var i = AtomicInteger(0)
133127
val names = mutableMapOf<String, List<String>>()
134128
val expressionsByStatement = mutableMapOf<Int, List<Expression>>()
135129

@@ -145,7 +139,6 @@ object PluginCallback {
145139
}
146140

147141
fun save() {
148-
if (i.get() == 0) return
149142
sessionId = 0
150143
tableInSessionId = 0
151144
var output = DataFrameHtmlData.tableDefinitions() + DataFrameHtmlData(
@@ -267,7 +260,6 @@ object PluginCallback {
267260

268261
var action: (String, String, Any, String, String?, String?, String?, Int) -> Unit =
269262
{ source, name, df, id, receiverId, containingClassFqName, containingFunName, statementIndex ->
270-
i.incrementAndGet()
271263
expressionsByStatement.compute(statementIndex) { _, list ->
272264
val element = Expression(source, containingClassFqName, containingFunName, df)
273265
list?.plus(element) ?: listOf(element)

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Analyze.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ import org.jetbrains.kotlinx.dataframe.api.sumFor
5151
import org.jetbrains.kotlinx.dataframe.api.sumOf
5252
import org.jetbrains.kotlinx.dataframe.api.valueCounts
5353
import org.jetbrains.kotlinx.dataframe.api.values
54+
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
5455
import org.junit.Test
5556
import kotlin.math.ln
56-
import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
5757

5858
class Analyze : TestBase() {
5959

0 commit comments

Comments
 (0)