Repo created
This commit is contained in:
parent
4af19165ec
commit
68073add76
12458 changed files with 12350765 additions and 2 deletions
0
tools/python/data/__init__.py
Normal file
0
tools/python/data/__init__.py
Normal file
21
tools/python/data/all/setup.py
Executable file
21
tools/python/data/all/setup.py
Executable file
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
|
||||
module_dir = os.path.abspath(os.path.dirname(__file__))
|
||||
sys.path.insert(0, os.path.join(module_dir, "..", ".."))
|
||||
|
||||
from data.base import get_version
|
||||
from data.base import setup
|
||||
|
||||
_V = get_version()
|
||||
|
||||
_D = [
|
||||
"omim-data-borders",
|
||||
"omim-data-essential",
|
||||
"omim-data-files",
|
||||
"omim-data-fonts",
|
||||
"omim-data-styles",
|
||||
]
|
||||
|
||||
setup(__file__, "all", [], install_requires=["{}=={}".format(d, _V) for d in _D])
|
||||
69
tools/python/data/base.py
Normal file
69
tools/python/data/base.py
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
import os
|
||||
import sys
|
||||
from collections import defaultdict
|
||||
|
||||
import setuptools
|
||||
|
||||
module_dir = os.path.abspath(os.path.dirname(__file__))
|
||||
sys.path.insert(0, os.path.join(module_dir, "..", "..", ".."))
|
||||
|
||||
from pyhelpers.setup import chdir
|
||||
from pyhelpers.setup import get_version
|
||||
|
||||
|
||||
DATA_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), "..", "..", "..", "data")
|
||||
)
|
||||
|
||||
|
||||
def get_files_from_dir(abs_root_path, b, data_files):
|
||||
for root, dirs, files in os.walk(abs_root_path):
|
||||
data_files[b].extend(os.path.join(root, f) for f in files)
|
||||
for d in dirs:
|
||||
get_files_from_dir(
|
||||
os.path.join(abs_root_path, d), os.path.join(b, d), data_files
|
||||
)
|
||||
|
||||
|
||||
def get_data_files(relative_data_paths):
|
||||
data_files = defaultdict(lambda: [])
|
||||
for p in relative_data_paths:
|
||||
path = os.path.join(DATA_PATH, p)
|
||||
b = os.path.join("omim-data", path.replace(DATA_PATH + os.path.sep, ""))
|
||||
if os.path.isdir(path):
|
||||
get_files_from_dir(path, b, data_files)
|
||||
else:
|
||||
b = os.path.dirname(b)
|
||||
data_files[b].append(path)
|
||||
return data_files.items()
|
||||
|
||||
|
||||
def setup(
|
||||
source_file,
|
||||
suffix,
|
||||
relative_data_paths,
|
||||
packages=None,
|
||||
package_dir=None,
|
||||
install_requires=None,
|
||||
cmdclass=None,
|
||||
supported_pythons=("2", "2.7", "3", "3.5", "3.6", "3.7", "3.8", "3.9"),
|
||||
):
|
||||
with chdir(os.path.abspath(os.path.dirname(source_file))):
|
||||
setuptools.setup(
|
||||
name="omim-data-{}".format(suffix),
|
||||
version=str(get_version()),
|
||||
author="CoMaps",
|
||||
author_email="info@comaps.app",
|
||||
description="This package contains {} data files.".format(suffix),
|
||||
url="https://codeberg.org/comaps",
|
||||
packages=[] if packages is None else packages,
|
||||
package_dir={} if package_dir is None else package_dir,
|
||||
cmdclass={} if cmdclass is None else cmdclass,
|
||||
classifiers=["License :: OSI Approved :: Apache Software License",]
|
||||
+ [
|
||||
"Programming Language :: Python :: {}".format(supported_python)
|
||||
for supported_python in supported_pythons
|
||||
],
|
||||
install_requires=install_requires or [],
|
||||
data_files=get_data_files(relative_data_paths),
|
||||
)
|
||||
44
tools/python/data/borders/__init__.py
Normal file
44
tools/python/data/borders/__init__.py
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
import logging
|
||||
import os
|
||||
import tarfile
|
||||
|
||||
from six import BytesIO
|
||||
|
||||
from data_files import find_data_files
|
||||
|
||||
try:
|
||||
import lzma
|
||||
except ImportError:
|
||||
from backports import lzma
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def init(borders_path=None):
|
||||
data_path = find_data_files("omim-data")
|
||||
|
||||
if data_path is None:
|
||||
logger.error("omim-data was not found.")
|
||||
return False
|
||||
|
||||
if borders_path is None:
|
||||
borders_path = os.path.join(data_path, "borders")
|
||||
|
||||
if not os.path.exists(borders_path):
|
||||
tar_lzma_path = os.path.join(data_path, "borders.tar.xz")
|
||||
lzma_stream = BytesIO()
|
||||
with open(tar_lzma_path, mode="rb") as f:
|
||||
decompressed = lzma.decompress(f.read())
|
||||
lzma_stream.write(decompressed)
|
||||
|
||||
lzma_stream.seek(0)
|
||||
try:
|
||||
with tarfile.open(fileobj=lzma_stream, mode="r") as tar:
|
||||
tar.extractall(borders_path)
|
||||
except PermissionError as e:
|
||||
logger.error(str(e))
|
||||
return False
|
||||
|
||||
logger.info("{} was created.".format(borders_path))
|
||||
|
||||
return True
|
||||
63
tools/python/data/borders/setup.py
Executable file
63
tools/python/data/borders/setup.py
Executable file
|
|
@ -0,0 +1,63 @@
|
|||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
import tarfile
|
||||
from distutils import log
|
||||
from distutils.command.build import build
|
||||
from distutils.command.clean import clean
|
||||
|
||||
from six import BytesIO
|
||||
|
||||
try:
|
||||
import lzma
|
||||
except ImportError:
|
||||
from backports import lzma
|
||||
|
||||
|
||||
module_dir = os.path.abspath(os.path.dirname(__file__))
|
||||
sys.path.insert(0, os.path.join(module_dir, "..", ".."))
|
||||
|
||||
from data.base import DATA_PATH
|
||||
from data.base import chdir
|
||||
from data.base import get_version
|
||||
from data.base import setup
|
||||
|
||||
|
||||
TAR_LZMA_PATH = os.path.join(DATA_PATH, "borders.tar.xz")
|
||||
|
||||
|
||||
class BuildCmd(build, object):
|
||||
def run(self):
|
||||
log.info("Creating {}".format(TAR_LZMA_PATH))
|
||||
tar_stream = BytesIO()
|
||||
borders_path = os.path.join(DATA_PATH, "borders")
|
||||
with chdir(borders_path):
|
||||
with tarfile.open(fileobj=tar_stream, mode="w") as tar:
|
||||
for f in os.listdir(borders_path):
|
||||
tar.add(f)
|
||||
|
||||
tar_stream.seek(0)
|
||||
with lzma.open(TAR_LZMA_PATH, mode="w") as f:
|
||||
f.write(tar_stream.read())
|
||||
|
||||
super(BuildCmd, self).run()
|
||||
|
||||
|
||||
class CleanCmd(clean, object):
|
||||
def run(self):
|
||||
if os.path.exists(TAR_LZMA_PATH):
|
||||
log.info("Removing {}".format(TAR_LZMA_PATH))
|
||||
os.remove(TAR_LZMA_PATH)
|
||||
|
||||
super(CleanCmd, self).run()
|
||||
|
||||
|
||||
setup(
|
||||
__file__,
|
||||
"borders",
|
||||
["borders.tar.xz", "packed_polygons.bin"],
|
||||
package_dir={"borders": ""},
|
||||
packages=["borders"],
|
||||
cmdclass={"build": BuildCmd, "clean": CleanCmd},
|
||||
install_requires=["omim-data-files=={}".format(get_version())]
|
||||
)
|
||||
44
tools/python/data/essential/setup.py
Executable file
44
tools/python/data/essential/setup.py
Executable file
|
|
@ -0,0 +1,44 @@
|
|||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
|
||||
module_dir = os.path.abspath(os.path.dirname(__file__))
|
||||
sys.path.insert(0, os.path.join(module_dir, "..", ".."))
|
||||
|
||||
from data.base import get_version
|
||||
from data.base import setup
|
||||
|
||||
setup(
|
||||
__file__,
|
||||
"essential",
|
||||
[
|
||||
"borders_vs_osm.csv",
|
||||
"categories_brands.txt",
|
||||
"categories_cuisines.txt",
|
||||
"categories.txt",
|
||||
"classificator.txt",
|
||||
"colors.txt",
|
||||
"countries_meta.txt",
|
||||
"countries_synonyms.csv",
|
||||
"countries.txt",
|
||||
"external_resources.txt",
|
||||
"fonts/blacklist.txt",
|
||||
"fonts/unicode_blocks.txt",
|
||||
"fonts/whitelist.txt",
|
||||
"hierarchy.txt",
|
||||
"mapcss-dynamic.txt",
|
||||
"mapcss-mapping.csv",
|
||||
"mixed_nodes.txt",
|
||||
"mixed_tags.txt",
|
||||
"old_vs_new.csv",
|
||||
"patterns.txt",
|
||||
"replaced_tags.txt",
|
||||
"skipped_elements.json",
|
||||
"synonyms.txt",
|
||||
"transit_colors.txt",
|
||||
"types.txt",
|
||||
"ugc_types.csv",
|
||||
"visibility.txt",
|
||||
],
|
||||
install_requires=["omim-data-files=={}".format(get_version())]
|
||||
)
|
||||
26
tools/python/data/fonts/setup.py
Executable file
26
tools/python/data/fonts/setup.py
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
|
||||
module_dir = os.path.abspath(os.path.dirname(__file__))
|
||||
sys.path.insert(0, os.path.join(module_dir, "..", ".."))
|
||||
|
||||
from data.base import get_version
|
||||
from data.base import setup
|
||||
|
||||
setup(
|
||||
__file__,
|
||||
"fonts",
|
||||
[
|
||||
"00_NotoNaskhArabic-Regular.ttf",
|
||||
"00_NotoSansThai-Regular.ttf",
|
||||
"01_dejavusans.ttf",
|
||||
"02_droidsans-fallback.ttf",
|
||||
"03_jomolhari-id-a3d.ttf",
|
||||
"04_padauk.ttf",
|
||||
"05_khmeros.ttf",
|
||||
"06_code2000.ttf",
|
||||
"07_roboto_medium.ttf",
|
||||
],
|
||||
install_requires=["omim-data-files=={}".format(get_version())]
|
||||
)
|
||||
26
tools/python/data/styles/setup.py
Executable file
26
tools/python/data/styles/setup.py
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
|
||||
module_dir = os.path.abspath(os.path.dirname(__file__))
|
||||
sys.path.insert(0, os.path.join(module_dir, "..", ".."))
|
||||
|
||||
from data.base import get_version
|
||||
from data.base import setup
|
||||
|
||||
setup(
|
||||
__file__,
|
||||
"styles",
|
||||
[
|
||||
"drules_proto.bin",
|
||||
"drules_proto_default_light.bin",
|
||||
"drules_proto_default_light.txt",
|
||||
"drules_proto_default_dark.bin",
|
||||
"drules_proto_default_dark.txt",
|
||||
"drules_proto_vehicle_light.bin",
|
||||
"drules_proto_vehicle_light.txt",
|
||||
"drules_proto_vehicle_dark.bin",
|
||||
"drules_proto_vehicle_dark.txt",
|
||||
],
|
||||
install_requires=["omim-data-files=={}".format(get_version())]
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue