mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-18 12:31:26 +07:00
[python] PY-79486: Exclude .venv only, do not visit dot dirs.
No need to exclude all dot dirs (`.venv` is enough) but no need to visit them either. GitOrigin-RevId: db5405b659a1da9174f2bc5a01b0a808f4d59668
This commit is contained in:
committed by
intellij-monorepo-bot
parent
957eac5c13
commit
11d0c31d71
@@ -9,6 +9,7 @@ import com.intellij.python.pyproject.model.spi.PyProjectTomlProject
|
||||
import com.intellij.util.concurrency.annotations.RequiresBackgroundThread
|
||||
import com.jetbrains.python.Result
|
||||
import com.jetbrains.python.venvReader.Directory
|
||||
import com.jetbrains.python.venvReader.VirtualEnvReader.Companion.DEFAULT_VIRTUALENV_DIRNAME
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import java.io.IOException
|
||||
@@ -55,13 +56,17 @@ internal suspend fun walkFileSystemNoTomlContent(
|
||||
}
|
||||
return@onVisitFile FileVisitResult.CONTINUE
|
||||
}
|
||||
onPostVisitDirectory { directory, _ ->
|
||||
return@onPostVisitDirectory if (directory.name.startsWith(".")) {
|
||||
excludedDirs.add(directory)
|
||||
FileVisitResult.SKIP_SUBTREE
|
||||
onPreVisitDirectory { directory, _ ->
|
||||
val dirName = directory.name
|
||||
val hidden = dirName.startsWith('.')
|
||||
if (!hidden) {
|
||||
FileVisitResult.CONTINUE
|
||||
}
|
||||
else {
|
||||
FileVisitResult.CONTINUE
|
||||
if (dirName == DEFAULT_VIRTUALENV_DIRNAME) {
|
||||
excludedDirs.add(directory)
|
||||
}
|
||||
FileVisitResult.SKIP_SUBTREE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,9 @@ import com.intellij.python.pyproject.model.internal.pyProjectToml.walkFileSystem
|
||||
import com.intellij.testFramework.common.timeoutRunBlocking
|
||||
import com.intellij.testFramework.utils.io.createDirectory
|
||||
import com.intellij.testFramework.utils.io.createFile
|
||||
import com.intellij.util.io.createDirectories
|
||||
import com.jetbrains.python.Result
|
||||
import com.jetbrains.python.venvReader.VirtualEnvReader.Companion.DEFAULT_VIRTUALENV_DIRNAME
|
||||
import org.hamcrest.MatcherAssert.assertThat
|
||||
import org.hamcrest.Matchers
|
||||
import org.junit.jupiter.api.BeforeAll
|
||||
@@ -29,7 +31,8 @@ class PyWalkFileSystemTest {
|
||||
root.resolve(PY_PROJECT_TOML).createFile(),
|
||||
root.resolve("dir").createDirectory().resolve(PY_PROJECT_TOML).createFile()
|
||||
)
|
||||
expectedExcludedDir = root.resolve(".foo").createDirectory()
|
||||
root.resolve(".abc").createDirectories().resolve(PY_PROJECT_TOML).createFile()
|
||||
expectedExcludedDir = root.resolve(DEFAULT_VIRTUALENV_DIRNAME).createDirectory()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user