pull/2339/merge
antigravkids 2024-04-28 07:11:43 -07:00 zatwierdzone przez GitHub
commit 7b39f5aac4
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
3 zmienionych plików z 45 dodań i 0 usunięć

Wyświetl plik

@ -873,6 +873,15 @@ class LoadExtension(click.ParamType):
name = "path:entrypoint?"
def convert(self, value, param, ctx):
#:\ indicates we're on a Windows machine study the argument a bit more
if ":\\" in r"%r" % value:
path_entry = value.split(":", 2)
if len(path_entry) < 3:
return value
# argument contains a Windows/DOS path and an entry point
path = path_entry[0] + ":" + path_entry[1]
entrypoint = path_entry[-1]
return path, entrypoint
if ":" not in value:
return value
path, entrypoint = value.split(":", 1)

Wyświetl plik

@ -70,6 +70,11 @@ Depending on your distribution, you should be able to run Datasette something li
If you are unsure of the location of the module, try running ``locate mod_spatialite`` and see what comes back.
Installing SpatiaLite on Windows
-----------------------------
For Windows, you may find binaries on the `Gaia-SINS <https://www.gaia-gis.it/gaia-sins/>`_ home page.
Spatial indexing latitude/longitude columns
===========================================

Wyświetl plik

@ -0,0 +1,31 @@
from datasette.utils import LoadExtension
def test_dos_path():
path_string = "C:\Windows\System32\mod_spatialite.dll"
le = LoadExtension()
path = le.convert(path_string, None, None)
assert path == "C:\Windows\System32\mod_spatialite.dll"
def test_dos_pathentry():
path_entry = "C:\Windows\System32\mod_spatialite.dll:testentry"
le = LoadExtension()
pathen, entry = le.convert(path_entry, None, None)
assert pathen == "C:\Windows\System32\mod_spatialite.dll"
assert entry == "testentry"
def test_linux_path():
path_string = "/base/test/test2"
le = LoadExtension()
path = le.convert(path_string, None, None)
assert path == path_string
def test_linux_path_entry():
path_string = "/base/test/test2:testentry"
le = LoadExtension()
path, entry = le.convert(path_string, None, None)
assert path == "/base/test/test2"
assert entry == "testentry"