archstyle55-backend / scripts /bootstrap_classes.py
kkkaredaw's picture
deploy: backend bundle
5dabf8a verified
from __future__ import annotations
import os
from sqlalchemy import create_engine, text
DATABASE_URL = os.environ.get("DATABASE_URL_SYNC",
"postgresql+psycopg://archstyle:archstyle@postgres:5432/archstyle")
DESCRIPTIONS = {
"Achaemenid architecture": "Монументальная архитектура древнеперсидской империи: ападаны, лестничные рельефы, протобазы из Персеполя.",
"American Foursquare architecture": "Двухэтажный квадратный дом начала XX в. с большим верандным крыльцом и центральным мансардным окном.",
"American craftsman style": "Бунгало рубежа веков с вынесенными стропилами, низкими шатровыми крышами и деревянным декором.",
"Ancient Egyptian architecture": "Монументальные храмы и пилоны с гипостильными залами, плоскими крышами, иероглифической резьбой.",
"Art Deco architecture": "Геометризованные фасады 1920–30-х с зиккуратной композицией и стилизованным орнаментом.",
"Brutalist architecture": "Грубый бетон 1950–70-х: массивные блоки, открытая опалубка, выраженная скульптурность объёмов.",
"High-tech architecture": "Демонстративный показ инженерии: вынесенные коммуникации, металлические фермы, стекло и алюминий.",
"Mid-century modern architecture": "Низкие профили 50-х: открытая планировка, панорамные окна, плоская крыша.",
"Novelty architecture": "«Здания-объекты» в форме предметов и существ — придорожная архитектура XX в.",
"Russian wooden architecture": "Бревенчатые дома и церкви: срубы, кокошники, шатры, прорезной декор.",
"Spanish Colonial Revival architecture": "Белёные штукатуренные стены, черепица миссионерских типов, аркады и патио — США 1900–30-х.",
"Streamline Moderne architecture": "Поздний ар-деко 1930-х: горизонтали, скруглённые углы, иллюминаторы, морская эстетика.",
"Art Nouveau architecture": "Растительный декор, асимметрия, кованый металл и изогнутые линии fin-de-siècle.",
"Baroque architecture": "Динамичные фасады XVII–XVIII вв. с ордером, спиралями, мощным карнизом и волютами.",
"Bauhaus architecture": "Лаконичные функционалистские формы, ленточные окна, плоская крыша, белые стены.",
"Beaux-Arts architecture": "Парадная эклектика рубежа XIX–XX вв. с симметрией, мансардой и обилием скульптуры.",
"Byzantine architecture": "Купольные базилики, мозаики, кладка из плинфы, центрический план.",
"Chicago school architecture": "Стальной каркас, вертикальные ленты «чикагских» окон, рустованный цоколь.",
"Chinese traditional architecture": "Многоярусные крыши с кронштейнами доу-гун, деревянный каркас, симметричные дворы.",
"Colonial architecture": "Симметричные кирпичные/деревянные фасады колониальной эпохи Северной Америки.",
"Constructivist architecture": "Советский авангард: каркас, ленточные окна, динамичные объёмы, без декора.",
"Contemporary architecture": "Современные постройки 2000-х: стекло, диагональные объёмы, перфорированные фасады.",
"Deconstructivism": "Намеренно «разорванная» геометрия, скошенные плоскости, фрагментация (Хадид, Гери).",
"Edwardian architecture": "Британское рубежное домостроение: эркеры, контрастные кирпич+штукатурка, аркады.",
"Federal architecture": "Раннеамериканский неоклассицизм: симметрия, веерные окна, зубчатый карниз.",
"Georgian architecture": "Британский XVIII в.: симметричные кирпичные фасады, рустованные углы, парадная дверь.",
"Gothic architecture": "Стрельчатые арки, контрфорсы, аркбутаны, витражные окна-розы, вертикализм.",
"Gothic Revival architecture": "Романтическая готика XIX в. в гражданских постройках: пинакли, нервюры, декор.",
"Greek Revival architecture": "Полнообъёмные фронтоны и колонные портики дорического/ионического ордера.",
"Industrial architecture": "Кирпичные фабричные корпуса с большими арками, чугунными колоннами, дымовыми трубами.",
"International style": "Глобальный модернизм: стеклянные стены, фокус на объёме, никакого орнамента.",
"Italianate architecture": "Кронштейны под широкими карнизами, башенки-кампанилы, аркады в окнах второго света.",
"Japanese traditional architecture": "Деревянные стоечно-балочные конструкции, вынесенные карнизы, татами и рисовая бумага.",
"Khmer architecture": "Многоярусные башни-прасаты, лотосовые верхушки, барельефы и галереи.",
"Mayan architecture": "Ступенчатые пирамиды-теокалли, грубая кладка, антропоморфный рельеф.",
"Mediterranean Revival architecture": "Тёплые охристые стены, черепичные крыши, аркадные лоджии, плитка.",
"Mid-century modern": "Низкие профили 50-х: открытая планировка, панорамные окна, плоская крыша.",
"Mission Revival architecture": "Криволинейные парапеты, белёные стены, миссионерские башни Калифорнии.",
"Moorish Revival architecture": "Подковообразные арки, стилизованная арабика, многоцветный декор.",
"Moscow Luzhkov style architecture": "Постсоветский московский эклектик 1990-х: башни, стилизация под историзм, цветной декор.",
"Mughal architecture": "Ярко-белый мрамор, луковичные купола, чарбаги, инкрустированный декор.",
"Naryshkin Baroque architecture": "Русское узорочье XVII в.: белый каменный декор по красному кирпичу, гребешки, кокошники.",
"Neo-Byzantine architecture": "Возрождение византийских куполов и аркатурных поясов в XIX–XX вв.",
"Neoclassical architecture": "Чистая ордерная композиция XVIII–XIX вв., портики, треугольные фронтоны.",
"Palladian architecture": "Симметричный план Палладио: центральный портик, боковые ризалиты, ясные пропорции.",
"Postmodern architecture": "Иронические цитаты историзма, цвет, фрагментация, декор «возвращён» (Вентури, Грейвс).",
"Prairie School architecture": "Длинные горизонтали, вынесенные карнизы, открытые планы (Райт).",
"Pueblo Revival architecture": "Глиняные саманные стены, ступенчатые объёмы, выступающие балки-вига.",
"Queen Anne architecture": "Викторианская асимметрия с башенками, эркерами, узорной обшивкой.",
"Renaissance architecture": "Итальянский XV–XVI в.: аркадные дворы, классический ордер, рустованные первые этажи.",
"Rococo architecture": "Лёгкий декоративный «барокко-плюс» XVIII в.: завитки, асимметрия, пастельные стены.",
"Romanesque architecture": "Полуциркульные арки, толстые стены, башни-донжоны, маленькие окна.",
"Romanesque Revival architecture": "Монументальный кирпичный неороманский стиль XIX в.: круглые арки, аркатуры.",
"Russian eclectic architecture": "Эклектический фасад XIX в. с цитатами разных стилей и обильной лепниной.",
"Russian Revival architecture": "Стилизация под допетровскую Русь: кокошники, шатры, узорочье.",
"Second Empire architecture": "Парижский XIX в.: мансарда с люкарнами, ризалиты, скульптурный декор.",
"Soviet modernist architecture": "1960–80-е: бетонные плиты, мозаики, лоджии, типовые ритмы остекления.",
"Spanish Colonial architecture": "Белые штукатуренные стены, черепица, патио и кованые решётки.",
"Stalinist architecture": "Сталинский ампир: ордерный декор, пилястры, скульптуры, шпиль с пятиконечной звездой.",
"Streamline Moderne": "Поздний ар-деко 1930-х: горизонтали, скруглённые углы, иллюминаторы, морская эстетика.",
"Tudor Revival architecture": "Полу-фахверк, кирпично-деревянные стены, остроконечные крыши.",
"Victorian architecture": "Кирпично-деревянная эклектика XIX в.: эркеры, орнамент, многоцветность.",
"Wright Prairie style": "Линии Райта: свес кровли, ленточные окна, перетекание пространства.",
}
def main() -> int:
engine = create_engine(DATABASE_URL, pool_pre_ping=True)
n = 0
with engine.begin() as conn:
for name, desc in DESCRIPTIONS.items():
conn.execute(
text(
"""
UPDATE classes
SET description = :d
WHERE name = :n
"""
),
{"n": name, "d": desc},
)
n += 1
print(f"updated descriptions: {n}")
return 0
if __name__ == "__main__":
raise SystemExit(main())