mirror of
https://github.com/task-17-lct/backend.git
synced 2025-02-17 13:30:33 +03:00
added shops
This commit is contained in:
parent
cbce253ab0
commit
95be8a34be
3067934
data/osm/shops.json
Normal file
3067934
data/osm/shops.json
Normal file
File diff suppressed because it is too large
Load Diff
40
parsers/osm/artwork.py
Normal file
40
parsers/osm/artwork.py
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
import json
|
||||||
|
|
||||||
|
with open("data/osm/artwork.json") as f:
|
||||||
|
data = json.load(f)
|
||||||
|
|
||||||
|
|
||||||
|
ress = []
|
||||||
|
|
||||||
|
for el in data["elements"]:
|
||||||
|
if "tags" in el and "name" in el["tags"] and "lat" in el and "lon" in el:
|
||||||
|
info = el["tags"]
|
||||||
|
if "tourism" in info:
|
||||||
|
del info["tourism"]
|
||||||
|
res = {
|
||||||
|
"title": info["name:ru"] if "name:ru" in info else info["name"],
|
||||||
|
"type": "artwork",
|
||||||
|
"parser_source": "openstreetmap.org",
|
||||||
|
"lat": el["lat"],
|
||||||
|
"lon": el["lon"],
|
||||||
|
"extra_kwargs": info,
|
||||||
|
}
|
||||||
|
if "addr:full" in info:
|
||||||
|
res["address"] = info["addr:full"]
|
||||||
|
else:
|
||||||
|
res = []
|
||||||
|
|
||||||
|
if "description" in info:
|
||||||
|
res["description"] = info["description"]
|
||||||
|
|
||||||
|
if "email" in info:
|
||||||
|
res["email"] = info["email"]
|
||||||
|
|
||||||
|
ress.append(res)
|
||||||
|
|
||||||
|
|
||||||
|
def get_artwork():
|
||||||
|
return ress
|
||||||
|
|
||||||
|
|
||||||
|
print([x for x in ress if "address" in x][:10])
|
|
@ -0,0 +1,54 @@
|
||||||
|
# Generated by Django 4.2.1 on 2023-05-25 22:50
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("events", "0021_alter_hotel_type"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="restaurant",
|
||||||
|
name="type",
|
||||||
|
field=models.CharField(
|
||||||
|
choices=[("restaurant", "ресторан"), ("bar", "бар"), ("cafe", "кафе")],
|
||||||
|
db_index=True,
|
||||||
|
default="restaurant",
|
||||||
|
max_length=10,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="event",
|
||||||
|
name="type",
|
||||||
|
field=models.CharField(
|
||||||
|
choices=[
|
||||||
|
("fair", "ярмарка"),
|
||||||
|
("boulevard", "бульвар"),
|
||||||
|
("attraction", "достопримечательность"),
|
||||||
|
("excursion", "экскурсия"),
|
||||||
|
("theatre", "театр"),
|
||||||
|
("museum", "музей"),
|
||||||
|
("movie", "кино"),
|
||||||
|
("concert", "концерт"),
|
||||||
|
("plays", "спектакли"),
|
||||||
|
("artwork", "произведение искусства"),
|
||||||
|
("shop", "торговый центр"),
|
||||||
|
("gallery", "галерея"),
|
||||||
|
("theme_park", "тематический парк"),
|
||||||
|
("viewpoint", "обзорная точка"),
|
||||||
|
("zoo", "зоопарк"),
|
||||||
|
("other", "другое"),
|
||||||
|
],
|
||||||
|
db_index=True,
|
||||||
|
max_length=10,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="restaurant",
|
||||||
|
name="address",
|
||||||
|
field=models.CharField(blank=True, max_length=250, null=True),
|
||||||
|
),
|
||||||
|
]
|
|
@ -156,6 +156,13 @@ class EventType(models.TextChoices):
|
||||||
kino = "movie", "кино"
|
kino = "movie", "кино"
|
||||||
concert = "concert", "концерт"
|
concert = "concert", "концерт"
|
||||||
spektatli = "plays", "спектакли"
|
spektatli = "plays", "спектакли"
|
||||||
|
artwork = "artwork", "произведение искусства"
|
||||||
|
shop = "shop", "торговый центр"
|
||||||
|
gallery = "gallery", "галерея"
|
||||||
|
theme_park = "theme_park", "тематический парк"
|
||||||
|
viewpoint = "viewpoint", "обзорная точка"
|
||||||
|
zoo = "zoo", "зоопарк"
|
||||||
|
other = "other", "другое"
|
||||||
|
|
||||||
address = models.CharField(max_length=250, null=True)
|
address = models.CharField(max_length=250, null=True)
|
||||||
payment_method = models.CharField(max_length=250, null=True, blank=True)
|
payment_method = models.CharField(max_length=250, null=True, blank=True)
|
||||||
|
@ -206,7 +213,18 @@ class HotelPhone(models.Model):
|
||||||
|
|
||||||
|
|
||||||
class Restaurant(BasePoint):
|
class Restaurant(BasePoint):
|
||||||
address = models.CharField(max_length=250)
|
class RestaurantType(models.TextChoices):
|
||||||
|
restaurant = "restaurant", "ресторан"
|
||||||
|
bar = "bar", "бар"
|
||||||
|
cafe = "cafe", "кафе"
|
||||||
|
|
||||||
|
type = models.CharField(
|
||||||
|
db_index=True,
|
||||||
|
default=RestaurantType.restaurant,
|
||||||
|
choices=RestaurantType.choices,
|
||||||
|
max_length=count_max_length(RestaurantType),
|
||||||
|
)
|
||||||
|
address = models.CharField(max_length=250, blank=True, null=True)
|
||||||
bill = models.IntegerField(null=True)
|
bill = models.IntegerField(null=True)
|
||||||
can_reserve = models.BooleanField(default=True)
|
can_reserve = models.BooleanField(default=True)
|
||||||
avg_time_visit = models.IntegerField(null=True)
|
avg_time_visit = models.IntegerField(null=True)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user