diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2026-10-01 19:50:52 +0200 |
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2026-10-01 19:50:52 +0200 |
| commit | 18c7efebc30ab67e5017a47bd329561f98823e0e (patch) | |
| tree | 619e5b83a43611b0c457423a63daa8a2a46bdbef | |
| parent | f7768419f4fc39f0332066e4654ef026e2c5be9e (diff) | |
| download | fietsboek-18c7efebc30ab67e5017a47bd329561f98823e0e.tar.gz fietsboek-18c7efebc30ab67e5017a47bd329561f98823e0e.tar.bz2 fietsboek-18c7efebc30ab67e5017a47bd329561f98823e0e.zip | |
find climb names in cronjob
| -rw-r--r-- | fietsboek/scripts/fietscron.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/fietsboek/scripts/fietscron.py b/fietsboek/scripts/fietscron.py index ea05f15..da8bf0c 100644 --- a/fietsboek/scripts/fietscron.py +++ b/fietsboek/scripts/fietscron.py @@ -13,7 +13,7 @@ from sqlalchemy.engine import Engine from sqlalchemy.orm import Session from .. import config as mod_config -from .. import hittekaart, models, trackmap +from .. import hittekaart, models, osm, trackmap from ..config import Config from ..data import DataManager from ..models.user import TOKEN_LIFETIME @@ -35,6 +35,7 @@ def cli(config): * Rebuilds the cache for missing tracks. * Builds preview images for tracks. * (optional) Runs ``hittekaart`` to generate heatmaps + * Finds names for climbs not yet named """ logging.config.fileConfig(config) settings = pyramid.paster.get_appsettings(config) @@ -55,6 +56,7 @@ def cli(config): remove_old_tokens(engine) rebuild_cache(engine) build_previews(engine, data_manager, redis, config) + name_climbs(engine) redis = mod_redis.from_url(config.redis_url) if config.hittekaart_autogenerate: @@ -194,4 +196,19 @@ def refill_queue(session: Session, redis: Redis): redis.sadd("hittekaart:queue:low", user.id) +def name_climbs(engine: Engine): + """Attempts to find names for climbs that have no name assigned yet.""" + session = Session(engine) + LOGGER.debug("Naming climbs") + query = select(models.Climb).where(models.Climb.automatic_name.is_(None)) + for climb in session.execute(query).scalars(): + LOGGER.debug("Attempting climb %s", climb.id) + path = climb.path() + name = osm.find_name(path) + if name is not None: + climb.automatic_name = name + session.add(climb) + session.commit() + + __all__ = ["cli"] |
