From db6db638362fa978909723750c0fcfb7ed8d1b8f Mon Sep 17 00:00:00 2001 From: Aevann Date: Sun, 1 Jan 2023 07:33:09 +0200 Subject: [PATCH] change event structure --- files/__main__.py | 3 - .../assets/{event => fistmas}/css/banner.css | 2 +- .../{event => fistmas}/css/candycane.css | 0 .../{event => fistmas}/css/fireplace.css | 0 .../blizzard.css => fistmas/css/fistmas.css} | 18 +- .../{event => fistmas}/css/frostbite.css | 0 .../assets/{event => fistmas}/css/lights.css | 2 +- .../{event => fistmas}/css/themes/dark.css | 0 .../{event => fistmas}/css/themes/light.css | 0 .../fonts/Burbank-Small-Medium.eot | Bin .../fonts/Burbank-Small-Medium.ttf | Bin .../fonts/Burbank-Small-Medium.woff2 | Bin .../fonts/GermaniaOne-Regular.woff | Bin .../fonts/Plakat-Fraktur-Black.woff | Bin .../images/awards/gingerbread.webp | Bin .../{event => fistmas}/images/banner_new.webp | Bin .../{event => fistmas}/images/cursor.webp | Bin .../images/icon/marseychristmaself2.webp | Bin .../images/icon/marseypartyxmas.webp | Bin .../images/icon/marseysanta3.webp | Bin .../images/icon/marseysnowman.webp | Bin .../{event => fistmas}/images/lights.webp | Bin .../{event => fistmas}/images/pattern.webp | Bin .../{event => fistmas}/images/pointer.webp | Bin .../{event => fistmas}/images/sidebar/2.webp | Bin .../{event => fistmas}/images/snowcap.webp | Bin .../{event => fistmas}/images/snowflake.webp | Bin .../{event => fistmas}/images/snowman.webp | Bin .../{event => fistmas}/images/text.webp | Bin .../assets/{event => fistmas}/js/darkmode.js | 0 .../assets/{event => fistmas}/js/frostbite.js | 0 files/assets/{event => fistmas}/js/music.js | 0 files/assets/{event => fistmas}/js/snow.js | 0 .../media/music/1670525982272782.mp3 | Bin .../media/music/16706275142759614.mp3 | Bin .../media/music/16716344493886945.mp3 | Bin .../media/music/arianalastxmas.mp3 | Bin .../media/music/avriloholy.mp3 | Bin .../media/music/bandaidxmas.mp3 | Bin .../{event => fistmas}/media/music/bells.mp3 | Bin .../media/music/bingcrosbells.mp3 | Bin .../media/music/bongshit.mp3 | Bin .../{event => fistmas}/media/music/bows.mp3 | Bin .../{event => fistmas}/media/music/buble.mp3 | Bin .../media/music/bubleholly.mp3 | Bin .../{event => fistmas}/media/music/carol.mp3 | Bin .../media/music/charliebrownxmas.mp3 | Bin .../{event => fistmas}/media/music/cold.mp3 | Bin .../media/music/crosbydrummer.mp3 | Bin .../media/music/crosbyrudolf.mp3 | Bin .../{event => fistmas}/media/music/deck.mp3 | Bin .../media/music/deckthehalls.mp3 | Bin .../media/music/deckthetrap.mp3 | Bin .../media/music/dinahsilent.mp3 | Bin .../media/music/earthasantabb.mp3 | Bin .../media/music/elsababy.mp3 | Bin .../{event => fistmas}/media/music/elton.mp3 | Bin .../media/music/elvisbethlehem.mp3 | Bin .../media/music/elviswhite.mp3 | Bin .../media/music/fireplace.mp3 | Bin .../media/music/firstnoelrem.mp3 | Bin .../{event => fistmas}/media/music/frosty.mp3 | Bin .../{event => fistmas}/media/music/grinch.mp3 | Bin .../{event => fistmas}/media/music/hark.mp3 | Bin .../{event => fistmas}/media/music/hark2.mp3 | Bin .../{event => fistmas}/media/music/hark3.mp3 | Bin .../media/music/herecumssanta.mp3 | Bin .../media/music/herecumstrap.mp3 | Bin .../media/music/holiday.mp3 | Bin .../media/music/kissing.mp3 | Bin .../media/music/lindplum.mp3 | Bin .../{event => fistmas}/media/music/low.mp3 | Bin .../media/music/lowxmas.mp3 | Bin .../{event => fistmas}/media/music/mariah.mp3 | Bin .../media/music/marysboykid.mp3 | Bin .../media/music/navidad.mp3 | Bin .../media/music/nightcore.mp3 | Bin .../media/music/nightcore2.mp3 | Bin .../media/music/nightcore3.mp3 | Bin .../media/music/nightmare.mp3 | Bin .../media/music/nkcchestnuts.mp3 | Bin .../{event => fistmas}/media/music/nsync.mp3 | Bin .../media/music/pentatonix.mp3 | Bin .../media/music/perryholy.mp3 | Bin .../{event => fistmas}/media/music/rockin.mp3 | Bin .../media/music/rockintrap.mp3 | Bin .../media/music/rudolph.mp3 | Bin .../media/music/rudolphtrap.mp3 | Bin .../{event => fistmas}/media/music/santa.mp3 | Bin .../media/music/santababy.mp3 | Bin .../media/music/santacumtownn.mp3 | Bin .../{event => fistmas}/media/music/simply.mp3 | Bin .../media/music/simplyhaving.mp3 | Bin .../media/music/sinatra.mp3 | Bin .../media/music/sinatra2.mp3 | Bin .../media/music/sinatramerry.mp3 | Bin .../{event => fistmas}/media/music/steve.mp3 | Bin .../media/music/sugarplum.mp3 | Bin .../media/music/sugartrap.mp3 | Bin .../media/music/taytayxmas.mp3 | Bin .../{event => fistmas}/media/music/trans.mp3 | Bin .../media/music/waitresses.mp3 | Bin .../media/music/waitresseswrapping.mp3 | Bin .../{event => fistmas}/media/music/wham.mp3 | Bin .../media/music/womblexmas.mp3 | Bin .../media/music/wonderland.mp3 | Bin files/classes/submission.py | 7 +- files/classes/user.py | 37 +- files/events/__init__.py | 35 -- files/events/classes/__init__.py | 1 - files/events/classes/eventuser.py | 23 -- files/events/helpers/__init__.py | 3 - files/events/helpers/const.py | 100 ----- files/events/helpers/get.py | 15 - files/events/helpers/jinja.py | 25 -- files/events/routes/__init__.py | 3 - files/events/routes/awards.py | 9 - files/events/routes/jinja.py | 6 - files/events/routes/theme.py | 16 - files/helpers/actions.py | 2 +- files/helpers/assetcache.py | 6 +- files/helpers/config/awards.py | 365 ++++++++++++------ files/helpers/config/const.py | 2 +- files/helpers/const_stateful.py | 4 +- files/routes/awards.py | 10 +- files/routes/jinja2.py | 2 +- files/routes/settings.py | 12 +- files/routes/votes.py | 2 +- files/routes/wrappers.py | 3 - files/templates/default.html | 8 +- files/templates/event/awards.html | 31 -- files/templates/fistmas/awards.html | 31 ++ .../templates/{event => fistmas}/banner.html | 10 +- files/templates/{event => fistmas}/banner.svg | 0 .../{event => fistmas}/banner_rDrama.svg | 0 files/templates/{event => fistmas}/music.html | 4 +- files/templates/header.html | 26 +- files/templates/root.html | 2 +- files/templates/settings/advanced.html | 2 +- files/templates/settings/common.html | 2 +- files/templates/sidebar_WPD.html | 6 +- files/templates/sidebar_rDrama.html | 10 +- files/templates/submission.html | 4 +- files/templates/userpage/userpage.html | 2 +- files/templates/util/html_head.html | 13 +- .../20230101-change-event-structure.sql | 3 + 146 files changed, 396 insertions(+), 471 deletions(-) rename files/assets/{event => fistmas}/css/banner.css (90%) rename files/assets/{event => fistmas}/css/candycane.css (100%) rename files/assets/{event => fistmas}/css/fireplace.css (100%) rename files/assets/{event/css/blizzard.css => fistmas/css/fistmas.css} (92%) rename files/assets/{event => fistmas}/css/frostbite.css (100%) rename files/assets/{event => fistmas}/css/lights.css (75%) rename files/assets/{event => fistmas}/css/themes/dark.css (100%) rename files/assets/{event => fistmas}/css/themes/light.css (100%) rename files/assets/{event => fistmas}/fonts/Burbank-Small-Medium.eot (100%) rename files/assets/{event => fistmas}/fonts/Burbank-Small-Medium.ttf (100%) rename files/assets/{event => fistmas}/fonts/Burbank-Small-Medium.woff2 (100%) rename files/assets/{event => fistmas}/fonts/GermaniaOne-Regular.woff (100%) rename files/assets/{event => fistmas}/fonts/Plakat-Fraktur-Black.woff (100%) rename files/assets/{event => fistmas}/images/awards/gingerbread.webp (100%) rename files/assets/{event => fistmas}/images/banner_new.webp (100%) rename files/assets/{event => fistmas}/images/cursor.webp (100%) rename files/assets/{event => fistmas}/images/icon/marseychristmaself2.webp (100%) rename files/assets/{event => fistmas}/images/icon/marseypartyxmas.webp (100%) rename files/assets/{event => fistmas}/images/icon/marseysanta3.webp (100%) rename files/assets/{event => fistmas}/images/icon/marseysnowman.webp (100%) rename files/assets/{event => fistmas}/images/lights.webp (100%) rename files/assets/{event => fistmas}/images/pattern.webp (100%) rename files/assets/{event => fistmas}/images/pointer.webp (100%) rename files/assets/{event => fistmas}/images/sidebar/2.webp (100%) rename files/assets/{event => fistmas}/images/snowcap.webp (100%) rename files/assets/{event => fistmas}/images/snowflake.webp (100%) rename files/assets/{event => fistmas}/images/snowman.webp (100%) rename files/assets/{event => fistmas}/images/text.webp (100%) rename files/assets/{event => fistmas}/js/darkmode.js (100%) rename files/assets/{event => fistmas}/js/frostbite.js (100%) rename files/assets/{event => fistmas}/js/music.js (100%) rename files/assets/{event => fistmas}/js/snow.js (100%) rename files/assets/{event => fistmas}/media/music/1670525982272782.mp3 (100%) rename files/assets/{event => fistmas}/media/music/16706275142759614.mp3 (100%) rename files/assets/{event => fistmas}/media/music/16716344493886945.mp3 (100%) rename files/assets/{event => fistmas}/media/music/arianalastxmas.mp3 (100%) rename files/assets/{event => fistmas}/media/music/avriloholy.mp3 (100%) rename files/assets/{event => fistmas}/media/music/bandaidxmas.mp3 (100%) rename files/assets/{event => fistmas}/media/music/bells.mp3 (100%) rename files/assets/{event => fistmas}/media/music/bingcrosbells.mp3 (100%) rename files/assets/{event => fistmas}/media/music/bongshit.mp3 (100%) rename files/assets/{event => fistmas}/media/music/bows.mp3 (100%) rename files/assets/{event => fistmas}/media/music/buble.mp3 (100%) rename files/assets/{event => fistmas}/media/music/bubleholly.mp3 (100%) rename files/assets/{event => fistmas}/media/music/carol.mp3 (100%) rename files/assets/{event => fistmas}/media/music/charliebrownxmas.mp3 (100%) rename files/assets/{event => fistmas}/media/music/cold.mp3 (100%) rename files/assets/{event => fistmas}/media/music/crosbydrummer.mp3 (100%) rename files/assets/{event => fistmas}/media/music/crosbyrudolf.mp3 (100%) rename files/assets/{event => fistmas}/media/music/deck.mp3 (100%) rename files/assets/{event => fistmas}/media/music/deckthehalls.mp3 (100%) rename files/assets/{event => fistmas}/media/music/deckthetrap.mp3 (100%) rename files/assets/{event => fistmas}/media/music/dinahsilent.mp3 (100%) rename files/assets/{event => fistmas}/media/music/earthasantabb.mp3 (100%) rename files/assets/{event => fistmas}/media/music/elsababy.mp3 (100%) rename files/assets/{event => fistmas}/media/music/elton.mp3 (100%) rename files/assets/{event => fistmas}/media/music/elvisbethlehem.mp3 (100%) rename files/assets/{event => fistmas}/media/music/elviswhite.mp3 (100%) rename files/assets/{event => fistmas}/media/music/fireplace.mp3 (100%) rename files/assets/{event => fistmas}/media/music/firstnoelrem.mp3 (100%) rename files/assets/{event => fistmas}/media/music/frosty.mp3 (100%) rename files/assets/{event => fistmas}/media/music/grinch.mp3 (100%) rename files/assets/{event => fistmas}/media/music/hark.mp3 (100%) rename files/assets/{event => fistmas}/media/music/hark2.mp3 (100%) rename files/assets/{event => fistmas}/media/music/hark3.mp3 (100%) rename files/assets/{event => fistmas}/media/music/herecumssanta.mp3 (100%) rename files/assets/{event => fistmas}/media/music/herecumstrap.mp3 (100%) rename files/assets/{event => fistmas}/media/music/holiday.mp3 (100%) rename files/assets/{event => fistmas}/media/music/kissing.mp3 (100%) rename files/assets/{event => fistmas}/media/music/lindplum.mp3 (100%) rename files/assets/{event => fistmas}/media/music/low.mp3 (100%) rename files/assets/{event => fistmas}/media/music/lowxmas.mp3 (100%) rename files/assets/{event => fistmas}/media/music/mariah.mp3 (100%) rename files/assets/{event => fistmas}/media/music/marysboykid.mp3 (100%) rename files/assets/{event => fistmas}/media/music/navidad.mp3 (100%) rename files/assets/{event => fistmas}/media/music/nightcore.mp3 (100%) rename files/assets/{event => fistmas}/media/music/nightcore2.mp3 (100%) rename files/assets/{event => fistmas}/media/music/nightcore3.mp3 (100%) rename files/assets/{event => fistmas}/media/music/nightmare.mp3 (100%) rename files/assets/{event => fistmas}/media/music/nkcchestnuts.mp3 (100%) rename files/assets/{event => fistmas}/media/music/nsync.mp3 (100%) rename files/assets/{event => fistmas}/media/music/pentatonix.mp3 (100%) rename files/assets/{event => fistmas}/media/music/perryholy.mp3 (100%) rename files/assets/{event => fistmas}/media/music/rockin.mp3 (100%) rename files/assets/{event => fistmas}/media/music/rockintrap.mp3 (100%) rename files/assets/{event => fistmas}/media/music/rudolph.mp3 (100%) rename files/assets/{event => fistmas}/media/music/rudolphtrap.mp3 (100%) rename files/assets/{event => fistmas}/media/music/santa.mp3 (100%) rename files/assets/{event => fistmas}/media/music/santababy.mp3 (100%) rename files/assets/{event => fistmas}/media/music/santacumtownn.mp3 (100%) rename files/assets/{event => fistmas}/media/music/simply.mp3 (100%) rename files/assets/{event => fistmas}/media/music/simplyhaving.mp3 (100%) rename files/assets/{event => fistmas}/media/music/sinatra.mp3 (100%) rename files/assets/{event => fistmas}/media/music/sinatra2.mp3 (100%) rename files/assets/{event => fistmas}/media/music/sinatramerry.mp3 (100%) rename files/assets/{event => fistmas}/media/music/steve.mp3 (100%) rename files/assets/{event => fistmas}/media/music/sugarplum.mp3 (100%) rename files/assets/{event => fistmas}/media/music/sugartrap.mp3 (100%) rename files/assets/{event => fistmas}/media/music/taytayxmas.mp3 (100%) rename files/assets/{event => fistmas}/media/music/trans.mp3 (100%) rename files/assets/{event => fistmas}/media/music/waitresses.mp3 (100%) rename files/assets/{event => fistmas}/media/music/waitresseswrapping.mp3 (100%) rename files/assets/{event => fistmas}/media/music/wham.mp3 (100%) rename files/assets/{event => fistmas}/media/music/womblexmas.mp3 (100%) rename files/assets/{event => fistmas}/media/music/wonderland.mp3 (100%) delete mode 100644 files/events/__init__.py delete mode 100644 files/events/classes/__init__.py delete mode 100644 files/events/classes/eventuser.py delete mode 100644 files/events/helpers/__init__.py delete mode 100644 files/events/helpers/const.py delete mode 100644 files/events/helpers/get.py delete mode 100644 files/events/helpers/jinja.py delete mode 100644 files/events/routes/__init__.py delete mode 100644 files/events/routes/awards.py delete mode 100644 files/events/routes/jinja.py delete mode 100644 files/events/routes/theme.py delete mode 100644 files/templates/event/awards.html create mode 100644 files/templates/fistmas/awards.html rename files/templates/{event => fistmas}/banner.html (53%) rename files/templates/{event => fistmas}/banner.svg (100%) rename files/templates/{event => fistmas}/banner_rDrama.svg (100%) rename files/templates/{event => fistmas}/music.html (73%) create mode 100644 migrations/20230101-change-event-structure.sql diff --git a/files/__main__.py b/files/__main__.py index 438c94c4e..bdd5476e9 100644 --- a/files/__main__.py +++ b/files/__main__.py @@ -87,9 +87,6 @@ from files.routes.allroutes import * if app.config['SERVICE'] == Service.RDRAMA: from files.routes import * - if HOLIDAY_EVENT(): - from files.events import * - event_init() elif app.config['SERVICE'] == Service.CHAT: from files.routes.chat import * diff --git a/files/assets/event/css/banner.css b/files/assets/fistmas/css/banner.css similarity index 90% rename from files/assets/event/css/banner.css rename to files/assets/fistmas/css/banner.css index 168e6ca1f..fd8cd3761 100644 --- a/files/assets/event/css/banner.css +++ b/files/assets/fistmas/css/banner.css @@ -1,7 +1,7 @@ /* text */ @font-face{ font-family: "Plakat-Fraktur"; - src: url("/assets/event/fonts/Plakat-Fraktur-Black.woff") format("woff"); + src: url("/assets/fistmas/fonts/Plakat-Fraktur-Black.woff") format("woff"); } @media (max-width: 767.98px) { diff --git a/files/assets/event/css/candycane.css b/files/assets/fistmas/css/candycane.css similarity index 100% rename from files/assets/event/css/candycane.css rename to files/assets/fistmas/css/candycane.css diff --git a/files/assets/event/css/fireplace.css b/files/assets/fistmas/css/fireplace.css similarity index 100% rename from files/assets/event/css/fireplace.css rename to files/assets/fistmas/css/fireplace.css diff --git a/files/assets/event/css/blizzard.css b/files/assets/fistmas/css/fistmas.css similarity index 92% rename from files/assets/event/css/blizzard.css rename to files/assets/fistmas/css/fistmas.css index 78690a5af..9bf9a8b51 100644 --- a/files/assets/event/css/blizzard.css +++ b/files/assets/fistmas/css/fistmas.css @@ -3,9 +3,9 @@ /* Fonts */ @font-face { font-family: "Burbank Small Medium"; - src: url("/assets/event/fonts/Burbank-Small-Medium.woff2") format("woff2"), - url("/assets/event/fonts/Burbank-Small-Medium.woff") format("woff"), - url("/assets/event/fonts/Burbank-Small-Medium.ttf") format("truetype"); + src: url("/assets/fistmas/fonts/Burbank-Small-Medium.woff2") format("woff2"), + url("/assets/fistmas/fonts/Burbank-Small-Medium.woff") format("woff"), + url("/assets/fistmas/fonts/Burbank-Small-Medium.ttf") format("truetype"); } :root { @@ -34,7 +34,7 @@ body { font-family: 'Burbank Small Medium', sans-serif; background-color: rgb(var(--background)) !important; - background-image: url('/assets/event/images/pattern.webp') !important; + background-image: url('/assets/fistmas/images/pattern.webp') !important; overflow-x: hidden; } @@ -136,15 +136,15 @@ color: #7a7a7a !important; } body { - cursor: url(/assets/event/images/cursor.webp?v=1), auto !important; + cursor: url(/assets/fistmas/images/cursor.webp?v=1), auto !important; } textarea, input[type=textbox], input[type=search] { - cursor: url(/assets/event/images/text.webp?v=1) 9 14, auto !important; + cursor: url(/assets/fistmas/images/text.webp?v=1) 9 14, auto !important; } .btn, input[type=button], button, a { - cursor: url(/assets/event/images/pointer.webp?v=1), auto !important; + cursor: url(/assets/fistmas/images/pointer.webp?v=1), auto !important; } .fa-moon-over-sun:before{content:"\f74a"} @@ -171,7 +171,7 @@ textarea, input[type=textbox], input[type=search] { left: 0; height: 57px; width: 100%; - background: url('/assets/event/images/lights.webp?v=1'); + background: url('/assets/fistmas/images/lights.webp?v=1'); animation: lights 1s infinite steps(2); pointer-events: none; } @@ -196,7 +196,7 @@ textarea, input[type=textbox], input[type=search] { .btn::after, .snow-cap::after { content: ''; pointer-events: none; - background: url("/assets/event/images/snowcap.webp?v=1") repeat-x; + background: url("/assets/fistmas/images/snowcap.webp?v=1") repeat-x; background-size: contain; position: absolute; bottom: -18px; diff --git a/files/assets/event/css/frostbite.css b/files/assets/fistmas/css/frostbite.css similarity index 100% rename from files/assets/event/css/frostbite.css rename to files/assets/fistmas/css/frostbite.css diff --git a/files/assets/event/css/lights.css b/files/assets/fistmas/css/lights.css similarity index 75% rename from files/assets/event/css/lights.css rename to files/assets/fistmas/css/lights.css index a2da98aca..e672672f1 100644 --- a/files/assets/event/css/lights.css +++ b/files/assets/fistmas/css/lights.css @@ -5,7 +5,7 @@ left: 0; height: 57px; width: 100%; - background: url('/assets/event/images/lights.webp?v=1'); + background: url('/assets/fistmas/images/lights.webp?v=1'); animation: lights 1s infinite steps(2); pointer-events: none; z-index: 1; diff --git a/files/assets/event/css/themes/dark.css b/files/assets/fistmas/css/themes/dark.css similarity index 100% rename from files/assets/event/css/themes/dark.css rename to files/assets/fistmas/css/themes/dark.css diff --git a/files/assets/event/css/themes/light.css b/files/assets/fistmas/css/themes/light.css similarity index 100% rename from files/assets/event/css/themes/light.css rename to files/assets/fistmas/css/themes/light.css diff --git a/files/assets/event/fonts/Burbank-Small-Medium.eot b/files/assets/fistmas/fonts/Burbank-Small-Medium.eot similarity index 100% rename from files/assets/event/fonts/Burbank-Small-Medium.eot rename to files/assets/fistmas/fonts/Burbank-Small-Medium.eot diff --git a/files/assets/event/fonts/Burbank-Small-Medium.ttf b/files/assets/fistmas/fonts/Burbank-Small-Medium.ttf similarity index 100% rename from files/assets/event/fonts/Burbank-Small-Medium.ttf rename to files/assets/fistmas/fonts/Burbank-Small-Medium.ttf diff --git a/files/assets/event/fonts/Burbank-Small-Medium.woff2 b/files/assets/fistmas/fonts/Burbank-Small-Medium.woff2 similarity index 100% rename from files/assets/event/fonts/Burbank-Small-Medium.woff2 rename to files/assets/fistmas/fonts/Burbank-Small-Medium.woff2 diff --git a/files/assets/event/fonts/GermaniaOne-Regular.woff b/files/assets/fistmas/fonts/GermaniaOne-Regular.woff similarity index 100% rename from files/assets/event/fonts/GermaniaOne-Regular.woff rename to files/assets/fistmas/fonts/GermaniaOne-Regular.woff diff --git a/files/assets/event/fonts/Plakat-Fraktur-Black.woff b/files/assets/fistmas/fonts/Plakat-Fraktur-Black.woff similarity index 100% rename from files/assets/event/fonts/Plakat-Fraktur-Black.woff rename to files/assets/fistmas/fonts/Plakat-Fraktur-Black.woff diff --git a/files/assets/event/images/awards/gingerbread.webp b/files/assets/fistmas/images/awards/gingerbread.webp similarity index 100% rename from files/assets/event/images/awards/gingerbread.webp rename to files/assets/fistmas/images/awards/gingerbread.webp diff --git a/files/assets/event/images/banner_new.webp b/files/assets/fistmas/images/banner_new.webp similarity index 100% rename from files/assets/event/images/banner_new.webp rename to files/assets/fistmas/images/banner_new.webp diff --git a/files/assets/event/images/cursor.webp b/files/assets/fistmas/images/cursor.webp similarity index 100% rename from files/assets/event/images/cursor.webp rename to files/assets/fistmas/images/cursor.webp diff --git a/files/assets/event/images/icon/marseychristmaself2.webp b/files/assets/fistmas/images/icon/marseychristmaself2.webp similarity index 100% rename from files/assets/event/images/icon/marseychristmaself2.webp rename to files/assets/fistmas/images/icon/marseychristmaself2.webp diff --git a/files/assets/event/images/icon/marseypartyxmas.webp b/files/assets/fistmas/images/icon/marseypartyxmas.webp similarity index 100% rename from files/assets/event/images/icon/marseypartyxmas.webp rename to files/assets/fistmas/images/icon/marseypartyxmas.webp diff --git a/files/assets/event/images/icon/marseysanta3.webp b/files/assets/fistmas/images/icon/marseysanta3.webp similarity index 100% rename from files/assets/event/images/icon/marseysanta3.webp rename to files/assets/fistmas/images/icon/marseysanta3.webp diff --git a/files/assets/event/images/icon/marseysnowman.webp b/files/assets/fistmas/images/icon/marseysnowman.webp similarity index 100% rename from files/assets/event/images/icon/marseysnowman.webp rename to files/assets/fistmas/images/icon/marseysnowman.webp diff --git a/files/assets/event/images/lights.webp b/files/assets/fistmas/images/lights.webp similarity index 100% rename from files/assets/event/images/lights.webp rename to files/assets/fistmas/images/lights.webp diff --git a/files/assets/event/images/pattern.webp b/files/assets/fistmas/images/pattern.webp similarity index 100% rename from files/assets/event/images/pattern.webp rename to files/assets/fistmas/images/pattern.webp diff --git a/files/assets/event/images/pointer.webp b/files/assets/fistmas/images/pointer.webp similarity index 100% rename from files/assets/event/images/pointer.webp rename to files/assets/fistmas/images/pointer.webp diff --git a/files/assets/event/images/sidebar/2.webp b/files/assets/fistmas/images/sidebar/2.webp similarity index 100% rename from files/assets/event/images/sidebar/2.webp rename to files/assets/fistmas/images/sidebar/2.webp diff --git a/files/assets/event/images/snowcap.webp b/files/assets/fistmas/images/snowcap.webp similarity index 100% rename from files/assets/event/images/snowcap.webp rename to files/assets/fistmas/images/snowcap.webp diff --git a/files/assets/event/images/snowflake.webp b/files/assets/fistmas/images/snowflake.webp similarity index 100% rename from files/assets/event/images/snowflake.webp rename to files/assets/fistmas/images/snowflake.webp diff --git a/files/assets/event/images/snowman.webp b/files/assets/fistmas/images/snowman.webp similarity index 100% rename from files/assets/event/images/snowman.webp rename to files/assets/fistmas/images/snowman.webp diff --git a/files/assets/event/images/text.webp b/files/assets/fistmas/images/text.webp similarity index 100% rename from files/assets/event/images/text.webp rename to files/assets/fistmas/images/text.webp diff --git a/files/assets/event/js/darkmode.js b/files/assets/fistmas/js/darkmode.js similarity index 100% rename from files/assets/event/js/darkmode.js rename to files/assets/fistmas/js/darkmode.js diff --git a/files/assets/event/js/frostbite.js b/files/assets/fistmas/js/frostbite.js similarity index 100% rename from files/assets/event/js/frostbite.js rename to files/assets/fistmas/js/frostbite.js diff --git a/files/assets/event/js/music.js b/files/assets/fistmas/js/music.js similarity index 100% rename from files/assets/event/js/music.js rename to files/assets/fistmas/js/music.js diff --git a/files/assets/event/js/snow.js b/files/assets/fistmas/js/snow.js similarity index 100% rename from files/assets/event/js/snow.js rename to files/assets/fistmas/js/snow.js diff --git a/files/assets/event/media/music/1670525982272782.mp3 b/files/assets/fistmas/media/music/1670525982272782.mp3 similarity index 100% rename from files/assets/event/media/music/1670525982272782.mp3 rename to files/assets/fistmas/media/music/1670525982272782.mp3 diff --git a/files/assets/event/media/music/16706275142759614.mp3 b/files/assets/fistmas/media/music/16706275142759614.mp3 similarity index 100% rename from files/assets/event/media/music/16706275142759614.mp3 rename to files/assets/fistmas/media/music/16706275142759614.mp3 diff --git a/files/assets/event/media/music/16716344493886945.mp3 b/files/assets/fistmas/media/music/16716344493886945.mp3 similarity index 100% rename from files/assets/event/media/music/16716344493886945.mp3 rename to files/assets/fistmas/media/music/16716344493886945.mp3 diff --git a/files/assets/event/media/music/arianalastxmas.mp3 b/files/assets/fistmas/media/music/arianalastxmas.mp3 similarity index 100% rename from files/assets/event/media/music/arianalastxmas.mp3 rename to files/assets/fistmas/media/music/arianalastxmas.mp3 diff --git a/files/assets/event/media/music/avriloholy.mp3 b/files/assets/fistmas/media/music/avriloholy.mp3 similarity index 100% rename from files/assets/event/media/music/avriloholy.mp3 rename to files/assets/fistmas/media/music/avriloholy.mp3 diff --git a/files/assets/event/media/music/bandaidxmas.mp3 b/files/assets/fistmas/media/music/bandaidxmas.mp3 similarity index 100% rename from files/assets/event/media/music/bandaidxmas.mp3 rename to files/assets/fistmas/media/music/bandaidxmas.mp3 diff --git a/files/assets/event/media/music/bells.mp3 b/files/assets/fistmas/media/music/bells.mp3 similarity index 100% rename from files/assets/event/media/music/bells.mp3 rename to files/assets/fistmas/media/music/bells.mp3 diff --git a/files/assets/event/media/music/bingcrosbells.mp3 b/files/assets/fistmas/media/music/bingcrosbells.mp3 similarity index 100% rename from files/assets/event/media/music/bingcrosbells.mp3 rename to files/assets/fistmas/media/music/bingcrosbells.mp3 diff --git a/files/assets/event/media/music/bongshit.mp3 b/files/assets/fistmas/media/music/bongshit.mp3 similarity index 100% rename from files/assets/event/media/music/bongshit.mp3 rename to files/assets/fistmas/media/music/bongshit.mp3 diff --git a/files/assets/event/media/music/bows.mp3 b/files/assets/fistmas/media/music/bows.mp3 similarity index 100% rename from files/assets/event/media/music/bows.mp3 rename to files/assets/fistmas/media/music/bows.mp3 diff --git a/files/assets/event/media/music/buble.mp3 b/files/assets/fistmas/media/music/buble.mp3 similarity index 100% rename from files/assets/event/media/music/buble.mp3 rename to files/assets/fistmas/media/music/buble.mp3 diff --git a/files/assets/event/media/music/bubleholly.mp3 b/files/assets/fistmas/media/music/bubleholly.mp3 similarity index 100% rename from files/assets/event/media/music/bubleholly.mp3 rename to files/assets/fistmas/media/music/bubleholly.mp3 diff --git a/files/assets/event/media/music/carol.mp3 b/files/assets/fistmas/media/music/carol.mp3 similarity index 100% rename from files/assets/event/media/music/carol.mp3 rename to files/assets/fistmas/media/music/carol.mp3 diff --git a/files/assets/event/media/music/charliebrownxmas.mp3 b/files/assets/fistmas/media/music/charliebrownxmas.mp3 similarity index 100% rename from files/assets/event/media/music/charliebrownxmas.mp3 rename to files/assets/fistmas/media/music/charliebrownxmas.mp3 diff --git a/files/assets/event/media/music/cold.mp3 b/files/assets/fistmas/media/music/cold.mp3 similarity index 100% rename from files/assets/event/media/music/cold.mp3 rename to files/assets/fistmas/media/music/cold.mp3 diff --git a/files/assets/event/media/music/crosbydrummer.mp3 b/files/assets/fistmas/media/music/crosbydrummer.mp3 similarity index 100% rename from files/assets/event/media/music/crosbydrummer.mp3 rename to files/assets/fistmas/media/music/crosbydrummer.mp3 diff --git a/files/assets/event/media/music/crosbyrudolf.mp3 b/files/assets/fistmas/media/music/crosbyrudolf.mp3 similarity index 100% rename from files/assets/event/media/music/crosbyrudolf.mp3 rename to files/assets/fistmas/media/music/crosbyrudolf.mp3 diff --git a/files/assets/event/media/music/deck.mp3 b/files/assets/fistmas/media/music/deck.mp3 similarity index 100% rename from files/assets/event/media/music/deck.mp3 rename to files/assets/fistmas/media/music/deck.mp3 diff --git a/files/assets/event/media/music/deckthehalls.mp3 b/files/assets/fistmas/media/music/deckthehalls.mp3 similarity index 100% rename from files/assets/event/media/music/deckthehalls.mp3 rename to files/assets/fistmas/media/music/deckthehalls.mp3 diff --git a/files/assets/event/media/music/deckthetrap.mp3 b/files/assets/fistmas/media/music/deckthetrap.mp3 similarity index 100% rename from files/assets/event/media/music/deckthetrap.mp3 rename to files/assets/fistmas/media/music/deckthetrap.mp3 diff --git a/files/assets/event/media/music/dinahsilent.mp3 b/files/assets/fistmas/media/music/dinahsilent.mp3 similarity index 100% rename from files/assets/event/media/music/dinahsilent.mp3 rename to files/assets/fistmas/media/music/dinahsilent.mp3 diff --git a/files/assets/event/media/music/earthasantabb.mp3 b/files/assets/fistmas/media/music/earthasantabb.mp3 similarity index 100% rename from files/assets/event/media/music/earthasantabb.mp3 rename to files/assets/fistmas/media/music/earthasantabb.mp3 diff --git a/files/assets/event/media/music/elsababy.mp3 b/files/assets/fistmas/media/music/elsababy.mp3 similarity index 100% rename from files/assets/event/media/music/elsababy.mp3 rename to files/assets/fistmas/media/music/elsababy.mp3 diff --git a/files/assets/event/media/music/elton.mp3 b/files/assets/fistmas/media/music/elton.mp3 similarity index 100% rename from files/assets/event/media/music/elton.mp3 rename to files/assets/fistmas/media/music/elton.mp3 diff --git a/files/assets/event/media/music/elvisbethlehem.mp3 b/files/assets/fistmas/media/music/elvisbethlehem.mp3 similarity index 100% rename from files/assets/event/media/music/elvisbethlehem.mp3 rename to files/assets/fistmas/media/music/elvisbethlehem.mp3 diff --git a/files/assets/event/media/music/elviswhite.mp3 b/files/assets/fistmas/media/music/elviswhite.mp3 similarity index 100% rename from files/assets/event/media/music/elviswhite.mp3 rename to files/assets/fistmas/media/music/elviswhite.mp3 diff --git a/files/assets/event/media/music/fireplace.mp3 b/files/assets/fistmas/media/music/fireplace.mp3 similarity index 100% rename from files/assets/event/media/music/fireplace.mp3 rename to files/assets/fistmas/media/music/fireplace.mp3 diff --git a/files/assets/event/media/music/firstnoelrem.mp3 b/files/assets/fistmas/media/music/firstnoelrem.mp3 similarity index 100% rename from files/assets/event/media/music/firstnoelrem.mp3 rename to files/assets/fistmas/media/music/firstnoelrem.mp3 diff --git a/files/assets/event/media/music/frosty.mp3 b/files/assets/fistmas/media/music/frosty.mp3 similarity index 100% rename from files/assets/event/media/music/frosty.mp3 rename to files/assets/fistmas/media/music/frosty.mp3 diff --git a/files/assets/event/media/music/grinch.mp3 b/files/assets/fistmas/media/music/grinch.mp3 similarity index 100% rename from files/assets/event/media/music/grinch.mp3 rename to files/assets/fistmas/media/music/grinch.mp3 diff --git a/files/assets/event/media/music/hark.mp3 b/files/assets/fistmas/media/music/hark.mp3 similarity index 100% rename from files/assets/event/media/music/hark.mp3 rename to files/assets/fistmas/media/music/hark.mp3 diff --git a/files/assets/event/media/music/hark2.mp3 b/files/assets/fistmas/media/music/hark2.mp3 similarity index 100% rename from files/assets/event/media/music/hark2.mp3 rename to files/assets/fistmas/media/music/hark2.mp3 diff --git a/files/assets/event/media/music/hark3.mp3 b/files/assets/fistmas/media/music/hark3.mp3 similarity index 100% rename from files/assets/event/media/music/hark3.mp3 rename to files/assets/fistmas/media/music/hark3.mp3 diff --git a/files/assets/event/media/music/herecumssanta.mp3 b/files/assets/fistmas/media/music/herecumssanta.mp3 similarity index 100% rename from files/assets/event/media/music/herecumssanta.mp3 rename to files/assets/fistmas/media/music/herecumssanta.mp3 diff --git a/files/assets/event/media/music/herecumstrap.mp3 b/files/assets/fistmas/media/music/herecumstrap.mp3 similarity index 100% rename from files/assets/event/media/music/herecumstrap.mp3 rename to files/assets/fistmas/media/music/herecumstrap.mp3 diff --git a/files/assets/event/media/music/holiday.mp3 b/files/assets/fistmas/media/music/holiday.mp3 similarity index 100% rename from files/assets/event/media/music/holiday.mp3 rename to files/assets/fistmas/media/music/holiday.mp3 diff --git a/files/assets/event/media/music/kissing.mp3 b/files/assets/fistmas/media/music/kissing.mp3 similarity index 100% rename from files/assets/event/media/music/kissing.mp3 rename to files/assets/fistmas/media/music/kissing.mp3 diff --git a/files/assets/event/media/music/lindplum.mp3 b/files/assets/fistmas/media/music/lindplum.mp3 similarity index 100% rename from files/assets/event/media/music/lindplum.mp3 rename to files/assets/fistmas/media/music/lindplum.mp3 diff --git a/files/assets/event/media/music/low.mp3 b/files/assets/fistmas/media/music/low.mp3 similarity index 100% rename from files/assets/event/media/music/low.mp3 rename to files/assets/fistmas/media/music/low.mp3 diff --git a/files/assets/event/media/music/lowxmas.mp3 b/files/assets/fistmas/media/music/lowxmas.mp3 similarity index 100% rename from files/assets/event/media/music/lowxmas.mp3 rename to files/assets/fistmas/media/music/lowxmas.mp3 diff --git a/files/assets/event/media/music/mariah.mp3 b/files/assets/fistmas/media/music/mariah.mp3 similarity index 100% rename from files/assets/event/media/music/mariah.mp3 rename to files/assets/fistmas/media/music/mariah.mp3 diff --git a/files/assets/event/media/music/marysboykid.mp3 b/files/assets/fistmas/media/music/marysboykid.mp3 similarity index 100% rename from files/assets/event/media/music/marysboykid.mp3 rename to files/assets/fistmas/media/music/marysboykid.mp3 diff --git a/files/assets/event/media/music/navidad.mp3 b/files/assets/fistmas/media/music/navidad.mp3 similarity index 100% rename from files/assets/event/media/music/navidad.mp3 rename to files/assets/fistmas/media/music/navidad.mp3 diff --git a/files/assets/event/media/music/nightcore.mp3 b/files/assets/fistmas/media/music/nightcore.mp3 similarity index 100% rename from files/assets/event/media/music/nightcore.mp3 rename to files/assets/fistmas/media/music/nightcore.mp3 diff --git a/files/assets/event/media/music/nightcore2.mp3 b/files/assets/fistmas/media/music/nightcore2.mp3 similarity index 100% rename from files/assets/event/media/music/nightcore2.mp3 rename to files/assets/fistmas/media/music/nightcore2.mp3 diff --git a/files/assets/event/media/music/nightcore3.mp3 b/files/assets/fistmas/media/music/nightcore3.mp3 similarity index 100% rename from files/assets/event/media/music/nightcore3.mp3 rename to files/assets/fistmas/media/music/nightcore3.mp3 diff --git a/files/assets/event/media/music/nightmare.mp3 b/files/assets/fistmas/media/music/nightmare.mp3 similarity index 100% rename from files/assets/event/media/music/nightmare.mp3 rename to files/assets/fistmas/media/music/nightmare.mp3 diff --git a/files/assets/event/media/music/nkcchestnuts.mp3 b/files/assets/fistmas/media/music/nkcchestnuts.mp3 similarity index 100% rename from files/assets/event/media/music/nkcchestnuts.mp3 rename to files/assets/fistmas/media/music/nkcchestnuts.mp3 diff --git a/files/assets/event/media/music/nsync.mp3 b/files/assets/fistmas/media/music/nsync.mp3 similarity index 100% rename from files/assets/event/media/music/nsync.mp3 rename to files/assets/fistmas/media/music/nsync.mp3 diff --git a/files/assets/event/media/music/pentatonix.mp3 b/files/assets/fistmas/media/music/pentatonix.mp3 similarity index 100% rename from files/assets/event/media/music/pentatonix.mp3 rename to files/assets/fistmas/media/music/pentatonix.mp3 diff --git a/files/assets/event/media/music/perryholy.mp3 b/files/assets/fistmas/media/music/perryholy.mp3 similarity index 100% rename from files/assets/event/media/music/perryholy.mp3 rename to files/assets/fistmas/media/music/perryholy.mp3 diff --git a/files/assets/event/media/music/rockin.mp3 b/files/assets/fistmas/media/music/rockin.mp3 similarity index 100% rename from files/assets/event/media/music/rockin.mp3 rename to files/assets/fistmas/media/music/rockin.mp3 diff --git a/files/assets/event/media/music/rockintrap.mp3 b/files/assets/fistmas/media/music/rockintrap.mp3 similarity index 100% rename from files/assets/event/media/music/rockintrap.mp3 rename to files/assets/fistmas/media/music/rockintrap.mp3 diff --git a/files/assets/event/media/music/rudolph.mp3 b/files/assets/fistmas/media/music/rudolph.mp3 similarity index 100% rename from files/assets/event/media/music/rudolph.mp3 rename to files/assets/fistmas/media/music/rudolph.mp3 diff --git a/files/assets/event/media/music/rudolphtrap.mp3 b/files/assets/fistmas/media/music/rudolphtrap.mp3 similarity index 100% rename from files/assets/event/media/music/rudolphtrap.mp3 rename to files/assets/fistmas/media/music/rudolphtrap.mp3 diff --git a/files/assets/event/media/music/santa.mp3 b/files/assets/fistmas/media/music/santa.mp3 similarity index 100% rename from files/assets/event/media/music/santa.mp3 rename to files/assets/fistmas/media/music/santa.mp3 diff --git a/files/assets/event/media/music/santababy.mp3 b/files/assets/fistmas/media/music/santababy.mp3 similarity index 100% rename from files/assets/event/media/music/santababy.mp3 rename to files/assets/fistmas/media/music/santababy.mp3 diff --git a/files/assets/event/media/music/santacumtownn.mp3 b/files/assets/fistmas/media/music/santacumtownn.mp3 similarity index 100% rename from files/assets/event/media/music/santacumtownn.mp3 rename to files/assets/fistmas/media/music/santacumtownn.mp3 diff --git a/files/assets/event/media/music/simply.mp3 b/files/assets/fistmas/media/music/simply.mp3 similarity index 100% rename from files/assets/event/media/music/simply.mp3 rename to files/assets/fistmas/media/music/simply.mp3 diff --git a/files/assets/event/media/music/simplyhaving.mp3 b/files/assets/fistmas/media/music/simplyhaving.mp3 similarity index 100% rename from files/assets/event/media/music/simplyhaving.mp3 rename to files/assets/fistmas/media/music/simplyhaving.mp3 diff --git a/files/assets/event/media/music/sinatra.mp3 b/files/assets/fistmas/media/music/sinatra.mp3 similarity index 100% rename from files/assets/event/media/music/sinatra.mp3 rename to files/assets/fistmas/media/music/sinatra.mp3 diff --git a/files/assets/event/media/music/sinatra2.mp3 b/files/assets/fistmas/media/music/sinatra2.mp3 similarity index 100% rename from files/assets/event/media/music/sinatra2.mp3 rename to files/assets/fistmas/media/music/sinatra2.mp3 diff --git a/files/assets/event/media/music/sinatramerry.mp3 b/files/assets/fistmas/media/music/sinatramerry.mp3 similarity index 100% rename from files/assets/event/media/music/sinatramerry.mp3 rename to files/assets/fistmas/media/music/sinatramerry.mp3 diff --git a/files/assets/event/media/music/steve.mp3 b/files/assets/fistmas/media/music/steve.mp3 similarity index 100% rename from files/assets/event/media/music/steve.mp3 rename to files/assets/fistmas/media/music/steve.mp3 diff --git a/files/assets/event/media/music/sugarplum.mp3 b/files/assets/fistmas/media/music/sugarplum.mp3 similarity index 100% rename from files/assets/event/media/music/sugarplum.mp3 rename to files/assets/fistmas/media/music/sugarplum.mp3 diff --git a/files/assets/event/media/music/sugartrap.mp3 b/files/assets/fistmas/media/music/sugartrap.mp3 similarity index 100% rename from files/assets/event/media/music/sugartrap.mp3 rename to files/assets/fistmas/media/music/sugartrap.mp3 diff --git a/files/assets/event/media/music/taytayxmas.mp3 b/files/assets/fistmas/media/music/taytayxmas.mp3 similarity index 100% rename from files/assets/event/media/music/taytayxmas.mp3 rename to files/assets/fistmas/media/music/taytayxmas.mp3 diff --git a/files/assets/event/media/music/trans.mp3 b/files/assets/fistmas/media/music/trans.mp3 similarity index 100% rename from files/assets/event/media/music/trans.mp3 rename to files/assets/fistmas/media/music/trans.mp3 diff --git a/files/assets/event/media/music/waitresses.mp3 b/files/assets/fistmas/media/music/waitresses.mp3 similarity index 100% rename from files/assets/event/media/music/waitresses.mp3 rename to files/assets/fistmas/media/music/waitresses.mp3 diff --git a/files/assets/event/media/music/waitresseswrapping.mp3 b/files/assets/fistmas/media/music/waitresseswrapping.mp3 similarity index 100% rename from files/assets/event/media/music/waitresseswrapping.mp3 rename to files/assets/fistmas/media/music/waitresseswrapping.mp3 diff --git a/files/assets/event/media/music/wham.mp3 b/files/assets/fistmas/media/music/wham.mp3 similarity index 100% rename from files/assets/event/media/music/wham.mp3 rename to files/assets/fistmas/media/music/wham.mp3 diff --git a/files/assets/event/media/music/womblexmas.mp3 b/files/assets/fistmas/media/music/womblexmas.mp3 similarity index 100% rename from files/assets/event/media/music/womblexmas.mp3 rename to files/assets/fistmas/media/music/womblexmas.mp3 diff --git a/files/assets/event/media/music/wonderland.mp3 b/files/assets/fistmas/media/music/wonderland.mp3 similarity index 100% rename from files/assets/event/media/music/wonderland.mp3 rename to files/assets/fistmas/media/music/wonderland.mp3 diff --git a/files/classes/submission.py b/files/classes/submission.py index 5ff1ee71e..9f8281cae 100644 --- a/files/classes/submission.py +++ b/files/classes/submission.py @@ -112,12 +112,13 @@ class Submission(Base): link = f"/post/{self.id}" if self.sub: link = f"/h/{self.sub}{link}" - if self.sub and self.sub not in {'chudrama', 'countryclub', 'masterbaiters'}: + if self.sub and self.sub in {'chudrama', 'countryclub', 'masterbaiters'}: + output = '-' + else: output = title_regex.sub('', self.title.lower()) output = output.split()[:6] output = '-'.join(output) - - if not output: output = '-' + if not output: output = '-' return f"{link}/{output}" diff --git a/files/classes/user.py b/files/classes/user.py index bdd8bcfef..6ce3591c3 100644 --- a/files/classes/user.py +++ b/files/classes/user.py @@ -43,8 +43,21 @@ else: DEFAULT_COINS = 0 DEFAULT_MARSEYBUX = 0 -if SITE_NAME == 'rDrama': default_event_music = True -else: default_event_music = False +if IS_FISTMAS(): + if SITE_NAME == 'rDrama': + default_event_music = True + default_darkmode = False + else: + default_event_music = False + default_darkmode = True + + +class EventUser(Base): + __tablename__ = "event_users" + id = Column(Integer, ForeignKey("users.id"), primary_key=True) + user = relationship("User", primaryjoin="EventUser.id == User.id") + + # start event specific columns class User(Base): __tablename__ = "users" @@ -146,7 +159,10 @@ class User(Base): marsify = Column(Integer, default=0) rainbow = Column(Integer) spider = Column(Integer, default=0) - event_music = Column(Boolean, default=default_event_music, nullable=False) + + if IS_FISTMAS(): + event_music = Column(Boolean, default=default_event_music, nullable=False) + event_darkmode = Column(Boolean, default=default_darkmode, nullable=False) badges = relationship("Badge", order_by="Badge.created_utc", back_populates="user") subscriptions = relationship("Subscription", back_populates="user") @@ -265,13 +281,12 @@ class User(Base): @lazy def hat_active(self, v): if FEATURES['HATS']: - if HOLIDAY_EVENT(): - from files.events.helpers.const import EVENT_FORCED_HATS - if EVENT_FORCED_HATS: - if SITE_NAME == 'rDrama': - return (random.choice(EVENT_FORCED_HATS), 'Merry Fistmas!') - else: - return (random.choice(EVENT_FORCED_HATS), 'Merry Christmas!') + if IS_FISTMAS(): + hat = random.choice(('Santa Hat III', 'Winter Cap', 'Present Bow')) + if SITE_NAME == 'rDrama': + return (f'/i/hats/{hat}.webp', 'Merry Fistmas!') + else: + return (f'/i/hats/{hat}.webp', 'Merry Christmas!') if self.is_cakeday: return ('/i/hats/Cakeday.webp', "I've spent another year rotting my brain with dramaposting, please ridicule me 🤓") @@ -1080,7 +1095,7 @@ class User(Base): def shadowbanner(self): return g.db.query(User.username).filter_by(id=self.shadowbanned).one()[0] - if HOLIDAY_EVENT(): + if IS_FISTMAS(): @property @lazy def can_toggle_event_music(self): diff --git a/files/events/__init__.py b/files/events/__init__.py deleted file mode 100644 index debde1b8b..000000000 --- a/files/events/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -from sqlalchemy import inspect - -from files.helpers.config.awards import AWARDS, AWARDS_ENABLED, AWARDS_DISABLED -from files.helpers.config.const import SITE_NAME -from files.__main__ import engine - -from files.events.classes import * -from files.events.helpers import * -from files.events.routes import * - -def _build_table(): - if not inspect(engine).has_table(EventUser.__table__.name, schema="public"): - print("[EVENT] Building event table...") - EventUser.__table__.create(bind=engine, checkfirst=True) - -def _populate_awards(): - temp = {x: AWARDS_ENABLED[x] for x in AWARDS_ENABLED if x not in EVENT_AWARDS} - AWARDS_ENABLED.clear() - AWARDS_ENABLED.update(EVENT_AWARDS) - AWARDS_ENABLED.update(temp) - - for award in EVENT_AWARDS: - EVENT_AWARDS[award]['ghost'] = EVENT_AWARDS[award]['cosmetic'] - if award in AWARDS_DISABLED: - AWARDS_DISABLED.remove(award) - - AWARDS.update(EVENT_AWARDS) - - if SITE_NAME != 'rDrama': - del AWARDS_ENABLED['grinch'] - -def event_init(): - _build_table() - -_populate_awards() diff --git a/files/events/classes/__init__.py b/files/events/classes/__init__.py deleted file mode 100644 index b8bfb0664..000000000 --- a/files/events/classes/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .eventuser import EventUser diff --git a/files/events/classes/eventuser.py b/files/events/classes/eventuser.py deleted file mode 100644 index 6f0efd827..000000000 --- a/files/events/classes/eventuser.py +++ /dev/null @@ -1,23 +0,0 @@ -from sqlalchemy import * -from sqlalchemy.orm import relationship - -from files.classes import Base -from files.helpers.config.const import * - -if SITE_NAME == 'WPD': default_darkmode = True -else: default_darkmode = False - -class EventUser(Base): - __tablename__ = "event_users" - id = Column(Integer, ForeignKey("users.id"), primary_key=True) - user = relationship("User", primaryjoin="EventUser.id == User.id") - - # start event specific columns - event_darkmode = Column(Boolean, default=default_darkmode, nullable=False) - # end event specific columns - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - - def __repr__(self): - return f"<{self.__class__.__name__}(id={self.id})>" diff --git a/files/events/helpers/__init__.py b/files/events/helpers/__init__.py deleted file mode 100644 index f278f91f7..000000000 --- a/files/events/helpers/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from .const import * -from .jinja import * -from .get import * diff --git a/files/events/helpers/const.py b/files/events/helpers/const.py deleted file mode 100644 index 889b99af2..000000000 --- a/files/events/helpers/const.py +++ /dev/null @@ -1,100 +0,0 @@ -EVENT_AWARDS = { - "lootbox": { - "kind": "lootbox", - "title": "Lootbox", - "description": "", - "icon": "fas fa-box-open", - "color": "text-blue", - "price": 1000, - "deflectable": True, - "cosmetic": False - }, - "snow": { - "kind": "snow", - "title": "Snow", - "description": "", - "icon": "fas fa-snowflake", - "color": "text-lightblue", - "price": 300, - "deflectable": False, - "cosmetic": True - }, - "gingerbread": { - "kind": "gingerbread", - "title": "Gingerbread", - "description": "", - "icon": "fas fa-gingerbread-man", - "color": "text-brown", - "price": 300, - "deflectable": False, - "cosmetic": True - }, - "lights": { - "kind": "lights", - "title": "Lights", - "description": "", - "icon": "fas fa-lights-holiday", - "color": "text-success", - "price": 300, - "deflectable": False, - "cosmetic": True - }, - "candycane": { - "kind": "candycane", - "title": "Candy Cane", - "description": "", - "icon": "fas fa-candy-cane", - "color": "text-danger", - "price": 400, - "deflectable": False, - "cosmetic": True - }, - "fireplace": { - "kind": "fireplace", - "title": "Fireplace", - "description": "", - "icon": "fas fa-fireplace", - "color": "text-orange", - "price": 600, - "deflectable": False, - "cosmetic": True - }, - "frostbite": { - "kind": "frostbite", - "title": "Frostbite", - "description": "", - "icon": "fas fa-temperature-snow", - "color": "text-blue", - "price": 300, - "deflectable": False, - "cosmetic": True - }, - "grinch": { - "kind": "grinch", - "title": "Grinch", - "description": "", - "icon": "fas fa-angry", - "color": "text-green-500", - "price": 1000, - "deflectable": True, - "cosmetic": False - }, -} - -""" - "snowed-in": { - "kind": "snowed-in", - "title": "Snowed In", - "description": "", - "icon": "fas fa-temperature-snow", - "color": "text-blue", - "price": 600, - "deflectable": False, - "cosmetic": True - }, - -""" - -EVENT_FORCED_HATS = ['/i/hats/Santa Hat III.webp', \ - '/i/hats/Winter Cap.webp', \ - '/i/hats/Present Bow.webp'] diff --git a/files/events/helpers/get.py b/files/events/helpers/get.py deleted file mode 100644 index f9f6e7385..000000000 --- a/files/events/helpers/get.py +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Optional, Union -from sqlalchemy.orm import scoped_session - -from files.events.classes.eventuser import EventUser -from files.classes.user import User - -def get_or_create_event_user(target:Union[int, User], db:scoped_session) -> Optional[EventUser]: - if target is None: return None - if isinstance(target, User): target = target.id # type: ignore - user = db.get(EventUser, target) - if not user: - user = EventUser(id=target) - db.add(user) - db.flush() - return user diff --git a/files/events/helpers/jinja.py b/files/events/helpers/jinja.py deleted file mode 100644 index a8687220b..000000000 --- a/files/events/helpers/jinja.py +++ /dev/null @@ -1,25 +0,0 @@ -import random -from datetime import date -from .get import get_or_create_event_user - -def user_event_darkmode(target, db): - user = get_or_create_event_user(target, db) - return user.event_darkmode - -EVENT_JINJA_CONST = { - "EVENT_ICONS": True, - "EVENT_STYLES": "blizzard.css", - "EVENT_AWARDS": True, - "EVENT_VISITORS_HERE_FLAVOR": [ - ' santa enjoyers kissing under a misletoe', - ' bringing up family drama at Christmas dinner', - ' homoerotic dramanauts stroking their candy canes', - " dramanauts jingling each other's balls", - " Santa deniers getting reamed by Rudolph", - " naughty listers getting coal for fistmas", - " plus-sized dramanauts eating Santa's cookies", - " dramatards having their chimneys stuffed by Santa", - ], - "random": random, - "user_event_darkmode": user_event_darkmode, -} diff --git a/files/events/routes/__init__.py b/files/events/routes/__init__.py deleted file mode 100644 index 3e97f7861..000000000 --- a/files/events/routes/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from .awards import * -from .jinja import * -from .theme import * diff --git a/files/events/routes/awards.py b/files/events/routes/awards.py deleted file mode 100644 index c04400702..000000000 --- a/files/events/routes/awards.py +++ /dev/null @@ -1,9 +0,0 @@ -from flask import g - -from files.events.helpers.get import get_or_create_event_user - -def award_thing_event(v, kind, author): - event_author = get_or_create_event_user(author, g.db) - event_v = get_or_create_event_user(v, g.db) - - g.db.add(event_author) diff --git a/files/events/routes/jinja.py b/files/events/routes/jinja.py deleted file mode 100644 index f8c89a7a5..000000000 --- a/files/events/routes/jinja.py +++ /dev/null @@ -1,6 +0,0 @@ -from files.__main__ import app -from files.events import EVENT_JINJA_CONST - -@app.context_processor -def event_constants(): - return EVENT_JINJA_CONST diff --git a/files/events/routes/theme.py b/files/events/routes/theme.py deleted file mode 100644 index 1b120ca5b..000000000 --- a/files/events/routes/theme.py +++ /dev/null @@ -1,16 +0,0 @@ -from files.events.helpers import get_or_create_event_user -from files.__main__ import g, app -from files.routes.wrappers import auth_required - -@app.post("/events/fistmas2022/darkmode") -@auth_required -def event_darkmode(v): - user = get_or_create_event_user(v, g.db) - if user.event_darkmode: - user.event_darkmode = False - else: - user.event_darkmode = True - - g.db.add(user) - - return {"message": "Dark mode toggled successfully!"} diff --git a/files/helpers/actions.py b/files/helpers/actions.py index 82df97106..2c10e2ad5 100644 --- a/files/helpers/actions.py +++ b/files/helpers/actions.py @@ -62,7 +62,7 @@ def execute_snappy(post:Submission, v:User): body = "Can you people come up with any ideas that don't involve committing federal crimes" else: if SNAPPY_MARSEYS and SNAPPY_QUOTES: - if HOLIDAY_EVENT() or random.random() > 0.5: + if IS_FISTMAS() or random.random() > 0.5: SNAPPY_CHOICES = SNAPPY_QUOTES else: SNAPPY_CHOICES = SNAPPY_MARSEYS diff --git a/files/helpers/assetcache.py b/files/helpers/assetcache.py index 50e9f0c64..b71ba5953 100644 --- a/files/helpers/assetcache.py +++ b/files/helpers/assetcache.py @@ -5,15 +5,15 @@ from collections import defaultdict import gevent import gevent_inotifyx as inotify -from files.helpers.config.const import HOLIDAY_EVENT +from files.helpers.config.const import IS_FISTMAS ASSET_DIR = 'files/assets' ASSET_SUBDIRS = ['/css', '/js', '/js/vendor'] ASSET_URL = '/assets/' ASSET_CACHE = defaultdict(lambda: None) -if HOLIDAY_EVENT(): - ASSET_SUBDIRS.extend(['/event/css', '/event/css/themes', '/event/js']) +if IS_FISTMAS(): + ASSET_SUBDIRS.extend(['/fistmas/css', '/fistmas/css/themes', '/fistmas/js']) def assetcache_build(asset_dir, subdirs): for subdir in subdirs: diff --git a/files/helpers/config/awards.py b/files/helpers/config/awards.py index c2444ff65..7db24b047 100644 --- a/files/helpers/config/awards.py +++ b/files/helpers/config/awards.py @@ -1,6 +1,6 @@ from copy import deepcopy -from files.helpers.config.const import FEATURES, SITE_NAME, patron, HOLIDAY_EVENT +from files.helpers.config.const import FEATURES, SITE_NAME, patron, IS_FISTMAS, IS_HOMOWEEN AWARDS = { "fallback": { @@ -11,8 +11,11 @@ AWARDS = { "color": "text-white", "price": 0, "deflectable": False, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": False, }, + ### Deprecated "ghost": { "kind": "ghost", @@ -22,7 +25,9 @@ AWARDS = { "color": "text-white", "price": 3000, "deflectable": False, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": False, }, "nword": { "kind": "nword", @@ -32,60 +37,110 @@ AWARDS = { "color": "text-success", "price": 10000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": False, }, - ### Fistmas 2021 - "snow": { + + ### Fistmas + "lootbox": { + "kind": "lootbox", + "title": "Lootbox", + "description": "", + "icon": "fas fa-box-open", + "color": "text-blue", + "price": 1000, + "deflectable": True, + "cosmetic": False, + "ghost": False, + "enabled": IS_FISTMAS(), + }, + "snow": { "kind": "snow", "title": "Snow", "description": "", "icon": "fas fa-snowflake", - "color": "text-blue-200", + "color": "text-lightblue", "price": 300, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_FISTMAS(), }, "gingerbread": { "kind": "gingerbread", "title": "Gingerbread", "description": "", "icon": "fas fa-gingerbread-man", - "color": "", + "color": "text-brown", "price": 300, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_FISTMAS(), }, "lights": { "kind": "lights", "title": "Lights", "description": "", "icon": "fas fa-lights-holiday", - "color": "", + "color": "text-success", "price": 300, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_FISTMAS(), }, "candycane": { "kind": "candycane", "title": "Candy Cane", "description": "", "icon": "fas fa-candy-cane", - "color": "", + "color": "text-danger", "price": 400, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_FISTMAS(), }, "fireplace": { "kind": "fireplace", "title": "Fireplace", "description": "", "icon": "fas fa-fireplace", - "color": "", + "color": "text-orange", "price": 600, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_FISTMAS(), }, - ### Homoween 2021 & 2022 + "frostbite": { + "kind": "frostbite", + "title": "Frostbite", + "description": "", + "icon": "fas fa-temperature-snow", + "color": "text-blue", + "price": 300, + "deflectable": False, + "cosmetic": True, + "ghost": True, + "enabled": IS_FISTMAS(), + }, + "grinch": { + "kind": "grinch", + "title": "Grinch", + "description": "", + "icon": "fas fa-angry", + "color": "text-green-500", + "price": 1000, + "deflectable": True, + "cosmetic": False, + "ghost": False, + "enabled": IS_FISTMAS(), + }, + + ### Homoween "haunt": { "kind": "haunt", "title": "Haunt", @@ -94,7 +149,9 @@ AWARDS = { "color": "text-warning", "price": 500, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, "upsidedown": { "kind": "upsidedown", @@ -104,7 +161,9 @@ AWARDS = { "color": "", "price": 400, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, "stab": { "kind": "stab", @@ -114,7 +173,9 @@ AWARDS = { "color": "text-danger", "price": 300, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, "spiders": { "kind": "spiders", @@ -124,7 +185,9 @@ AWARDS = { "color": "text-black", "price": 200, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, "fog": { "kind": "fog", @@ -134,9 +197,10 @@ AWARDS = { "color": "text-gray", "price": 200, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, - ### Homoween 2022 "jumpscare": { "kind": "jumpscare", "title": "Jumpscare", @@ -145,7 +209,9 @@ AWARDS = { "color": "text-purple", "price": 600, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": IS_HOMOWEEN(), }, "hw-bite": { "kind": "hw-bite", @@ -155,7 +221,9 @@ AWARDS = { "color": "text-danger", "price": 500, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": IS_HOMOWEEN(), }, "hw-vax": { "kind": "hw-vax", @@ -165,7 +233,9 @@ AWARDS = { "color": "text-blue", "price": 500, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": IS_HOMOWEEN(), }, "hw-grinch": { "kind": "hw-grinch", @@ -175,7 +245,9 @@ AWARDS = { "color": "text-orange", "price": 1000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": IS_HOMOWEEN(), }, "flashlight": { "kind": "flashlight", @@ -185,7 +257,9 @@ AWARDS = { "color": "text-black", "price": 400, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, "candy-corn": { "kind": "candy-corn", @@ -195,7 +269,9 @@ AWARDS = { "color": "text-orange", "price": 400, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, "ectoplasm": { "kind": "ectoplasm", @@ -205,7 +281,9 @@ AWARDS = { "color": "text-success", "price": 400, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, "bones": { "kind": "bones", @@ -215,7 +293,9 @@ AWARDS = { "color": "text-white", "price": 200, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, "pumpkin": { "kind": "pumpkin", @@ -225,8 +305,11 @@ AWARDS = { "color": "text-orange", "price": 200, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": IS_HOMOWEEN(), }, + ### Standard "marsify": { "kind": "marsify", @@ -236,7 +319,9 @@ AWARDS = { "color": "text-white", "price": 150, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "shit": { "kind": "shit", @@ -246,7 +331,9 @@ AWARDS = { "color": "text-black-50", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "fireflies": { "kind": "fireflies", @@ -256,7 +343,9 @@ AWARDS = { "color": "text-warning", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "train": { "kind": "train", @@ -266,7 +355,9 @@ AWARDS = { "color": "text-pink", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "scooter": { "kind": "scooter", @@ -276,7 +367,9 @@ AWARDS = { "color": "text-muted", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "wholesome": { "kind": "wholesome", @@ -286,7 +379,9 @@ AWARDS = { "color": "text-yellow", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "firework": { "kind": "firework", @@ -296,7 +391,9 @@ AWARDS = { "color": "text-danger", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "confetti": { "kind": "confetti", @@ -306,7 +403,9 @@ AWARDS = { "color": "text-yellow", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "ricardo": { "kind": "ricardo", @@ -316,7 +415,9 @@ AWARDS = { "color": "text-pink", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "tilt": { "kind": "tilt", @@ -326,7 +427,9 @@ AWARDS = { "color": "text-blue", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "glowie": { "kind": "glowie", @@ -336,7 +439,9 @@ AWARDS = { "color": "text-green", "price": 150, "deflectable": False, - "cosmetic": True + "cosmetic": True, + "ghost": True, + "enabled": True, }, "rehab": { "kind": "rehab", @@ -346,7 +451,9 @@ AWARDS = { "color": "text-black", "price": 777, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "agendaposter": { "kind": "agendaposter", @@ -356,7 +463,9 @@ AWARDS = { "color": "text-purple", "price": 1000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "offsitementions": { "kind": "offsitementions", @@ -366,7 +475,9 @@ AWARDS = { "color": "text-orange", "price": 1000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "beano": { "kind": "beano", @@ -376,7 +487,9 @@ AWARDS = { "color": "text-green", "price": 1000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "unpin": { "kind": "unpin", @@ -386,7 +499,9 @@ AWARDS = { "color": "text-black", "price": 1000, "deflectable": False, - "cosmetic": False + "cosmetic": False, + "ghost": True, + "enabled": True, }, "flairlock": { "kind": "flairlock", @@ -396,7 +511,9 @@ AWARDS = { "color": "text-black", "price": 1250, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "pin": { "kind": "pin", @@ -406,7 +523,9 @@ AWARDS = { "color": "text-warning", "price": 1500, "deflectable": False, - "cosmetic": False + "cosmetic": False, + "ghost": True, + "enabled": True, }, "progressivestack": { "kind": "progressivestack", @@ -416,7 +535,9 @@ AWARDS = { "color": "text-danger", "price": 1500, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": SITE_NAME == 'rDrama', }, "pizzashill": { "kind": "pizzashill", @@ -426,7 +547,9 @@ AWARDS = { "color": "text-orange", "price": 1500, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "bird": { "kind": "bird", @@ -436,7 +559,9 @@ AWARDS = { "color": "text-blue", "price": 1500, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "spider": { "kind": "spider", @@ -446,7 +571,9 @@ AWARDS = { "color": "text-brown", "price": 2000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "deflector": { "kind": "deflector", @@ -456,7 +583,9 @@ AWARDS = { "color": "text-pink", "price": 2750, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "marsey": { "kind": "marsey", @@ -466,7 +595,9 @@ AWARDS = { "color": "text-orange", "price": 3000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "ban": { "kind": "ban", @@ -476,7 +607,9 @@ AWARDS = { "color": "text-danger", "price": 3000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "unban": { "kind": "unban", @@ -486,7 +619,9 @@ AWARDS = { "color": "text-success", "price": 3500, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "benefactor": { "kind": "benefactor", @@ -496,7 +631,9 @@ AWARDS = { "color": "text-blue", "price": 4000, "deflectable": False, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": FEATURES['MARSEYBUX'], }, "eye": { "kind": "eye", @@ -506,7 +643,9 @@ AWARDS = { "color": "text-silver", "price": 5000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "grass": { "kind": "grass", @@ -516,7 +655,9 @@ AWARDS = { "color": "text-success", "price": 10000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "unblockable": { "kind": "unblockable", @@ -526,7 +667,9 @@ AWARDS = { "color": "text-lightgreen", "price": 20000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "fish": { "kind": "fish", @@ -536,7 +679,9 @@ AWARDS = { "color": "text-lightblue", "price": 20000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "pause": { "kind": "pause", @@ -546,7 +691,9 @@ AWARDS = { "color": "text-danger", "price": 20000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "unpausable": { "kind": "unpausable", @@ -556,7 +703,9 @@ AWARDS = { "color": "text-success", "price": 40000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "alt": { "kind": "alt", @@ -566,7 +715,9 @@ AWARDS = { "color": "text-gold", "price": 50000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, }, "checkmark": { "kind": "checkmark", @@ -576,54 +727,46 @@ AWARDS = { "color": "checkmark", "price": 50000, "deflectable": True, - "cosmetic": False + "cosmetic": False, + "ghost": False, + "enabled": True, + }, + + #for non-rdrama sites + "owoify": { + "kind": "owoify", + "title": "OwOify", + "description": "OwOifies the recipient's comments for 6 hours.", + "icon": "fas fa-paw-simple", + "color": "text-purple", + "price": 400, + "deflectable": True, + "cosmetic": False, + "ghost": False, + "enabled": SITE_NAME != 'rDrama', + }, + "rainbow": { + "kind": "rainbow", + "title": "Rainbow", + "description": "Makes the recipient's comments and posts in rainbow text for 24 hours.", + "icon": "fas fa-cloud-rainbow", + "color": "text-pink", + "price": 400, + "deflectable": True, + "cosmetic": False, + "ghost": False, + "enabled": SITE_NAME != 'rDrama', }, } -if SITE_NAME != 'rDrama': - EXTRA_AWARDS = { - "owoify": { - "kind": "owoify", - "title": "OwOify", - "description": "OwOifies the recipient's comments for 6 hours.", - "icon": "fas fa-paw-simple", - "color": "text-purple", - "price": 400, - "deflectable": True, - "cosmetic": False - }, - "rainbow": { - "kind": "rainbow", - "title": "Rainbow", - "description": "Makes the recipient's comments and posts in rainbow text for 24 hours.", - "icon": "fas fa-cloud-rainbow", - "color": "text-pink", - "price": 400, - "deflectable": True, - "cosmetic": False - }, - } - AWARDS.update(EXTRA_AWARDS) - -# Permit only cosmetics and pin/unpin on ghosted things. -for award in AWARDS: - AWARDS[award]['ghost'] = AWARDS[award]['cosmetic'] -AWARDS['pin']['ghost'] = True -AWARDS['unpin']['ghost'] = True - -# Disable unused awards, and site-specific award inclusion/exclusion. -AWARDS_DISABLED = [ - 'fallback', 'ghost', 'nword', 'lootbox', # Generic - 'snow', 'gingerbread', 'lights', 'candycane', 'fireplace', 'grinch', # Fistmas - 'haunt', 'upsidedown', 'stab', 'spiders', 'fog', # Homoween '21 - 'jumpscare', 'hw-bite', 'hw-vax', 'hw-grinch', 'flashlight', # Homoween '22 - 'candy-corn', 'ectoplasm', 'bones', 'pumpkin', # Homoween '22 (cont'd) -] +AWARDS_ENABLED = {} +for k, val in AWARDS.items(): + if val["enabled"]: + AWARDS_ENABLED[k] = val LOOTBOX_ITEM_COUNT = 5 LOOTBOX_CONTENTS = ["snow", "gingerbread", "lights", "candycane", "fireplace", "frostbite"] - HOUSE_AWARDS = { "Furry": { "kind": "Furry", @@ -676,11 +819,3 @@ for k, val in temp: HOUSE_AWARDS[f'{k} Founder'] = val HOUSE_AWARDS[f'{k} Founder']['kind'] += ' Founder' HOUSE_AWARDS[f'{k} Founder']['price'] = int(HOUSE_AWARDS[f'{k} Founder']['price'] * 0.75) - -if SITE_NAME != 'rDrama': - AWARDS_DISABLED.append('progressivestack') - -if not FEATURES['MARSEYBUX']: - AWARDS_DISABLED.append('benefactor') - -AWARDS_ENABLED = {x: AWARDS[x] for x in AWARDS if x not in AWARDS_DISABLED} diff --git a/files/helpers/config/const.py b/files/helpers/config/const.py index a2524dc2d..01e9f0dfa 100644 --- a/files/helpers/config/const.py +++ b/files/helpers/config/const.py @@ -8,7 +8,7 @@ t = datetime.datetime.now() fistmas_begin = datetime.datetime.strptime(f'1/12/{t.year}', '%d/%m/%Y') fistmas_end = datetime.datetime.strptime(f'30/12/{t.year}', '%d/%m/%Y') -def HOLIDAY_EVENT(): +def IS_FISTMAS(): return fistmas_begin < datetime.datetime.now() < fistmas_end homoween_begin = datetime.datetime.strptime(f'1/10/{t.year}', '%d/%m/%Y') diff --git a/files/helpers/const_stateful.py b/files/helpers/const_stateful.py index 6d5e9b074..4b8a5f74e 100644 --- a/files/helpers/const_stateful.py +++ b/files/helpers/const_stateful.py @@ -3,7 +3,7 @@ from os import path from sqlalchemy.orm import scoped_session from files.classes import Marsey -from files.helpers.config.const import HOLIDAY_EVENT, SITE_NAME +from files.helpers.config.const import IS_FISTMAS, SITE_NAME marseys_const = [] marseys_const2 = [] @@ -32,7 +32,7 @@ def _initialize_snappy_marseys_and_quotes(): SNAPPY_MARSEYS = [f':#{x}:' for x in marseys_const2] filename = f"snappy_{SITE_NAME}.txt" - if HOLIDAY_EVENT(): filename = f"snappy_event_{SITE_NAME}.txt" + if IS_FISTMAS(): filename = f"snappy_event_{SITE_NAME}.txt" try: with open(filename, "r", encoding="utf-8") as f: diff --git a/files/routes/awards.py b/files/routes/awards.py index 31935dc83..ab20e325b 100644 --- a/files/routes/awards.py +++ b/files/routes/awards.py @@ -406,13 +406,9 @@ def award_thing(v, thing_type, id): if author.spider: author.spider += 86400 else: author.spider = int(time.time()) + 86400 badge_grant(user=author, badge_id=179, notify=False) - elif HOLIDAY_EVENT(): - from files.events import EVENT_AWARDS, award_thing_event - if kind in EVENT_AWARDS: - award_thing_event(v, kind, author) - if kind == "grinch": - badge_grant(badge_id=91, user=author) - author.event_music = False + if kind == "grinch": + badge_grant(badge_id=91, user=author) + author.event_music = False if author.received_award_count: author.received_award_count += 1 diff --git a/files/routes/jinja2.py b/files/routes/jinja2.py index 7a6d564a5..d8c27e568 100644 --- a/files/routes/jinja2.py +++ b/files/routes/jinja2.py @@ -99,5 +99,5 @@ def inject_constants(): "HOUSE_JOIN_COST":HOUSE_JOIN_COST, "HOUSE_SWITCH_COST":HOUSE_SWITCH_COST, "IMAGE_FORMATS":','.join(IMAGE_FORMATS), "PAGE_SIZES":PAGE_SIZES, "THEMES":THEMES, "COMMENT_SORTS":COMMENT_SORTS, "SORTS":SORTS, "TIME_FILTERS":TIME_FILTERS, "HOUSES":HOUSES, "TIERS_ID_TO_NAME":TIERS_ID_TO_NAME, - "DEFAULT_CONFIG_VALUE":DEFAULT_CONFIG_VALUE, "IS_LOCALHOST":IS_LOCALHOST, "BACKGROUND_CATEGORIES":BACKGROUND_CATEGORIES, "PAGE_SIZE":PAGE_SIZE, "TAGLINES":TAGLINES, "HOLIDAY_EVENT":HOLIDAY_EVENT, "get_alt_graph":get_alt_graph, "current_registered_users":current_registered_users + "DEFAULT_CONFIG_VALUE":DEFAULT_CONFIG_VALUE, "IS_LOCALHOST":IS_LOCALHOST, "BACKGROUND_CATEGORIES":BACKGROUND_CATEGORIES, "PAGE_SIZE":PAGE_SIZE, "TAGLINES":TAGLINES, "IS_FISTMAS":IS_FISTMAS, "get_alt_graph":get_alt_graph, "current_registered_users":current_registered_users } diff --git a/files/routes/settings.py b/files/routes/settings.py index f83f7ee63..435658246 100644 --- a/files/routes/settings.py +++ b/files/routes/settings.py @@ -194,9 +194,11 @@ def settings_personal_post(v): else: badge = v.has_badge(179) if badge: g.db.delete(badge) - elif not updated and request.values.get("event_music", v.event_music) != v.event_music and v.can_toggle_event_music: + + elif IS_FISTMAS and not updated and request.values.get("event_music", v.event_music) != v.event_music and v.can_toggle_event_music: updated = True v.event_music = not v.event_music + elif not updated and request.values.get("bio") == "" and not request.files.get('file'): v.bio = None v.bio_html = None @@ -894,3 +896,11 @@ def settings_checkmark_text(v): v.verified = new_name g.db.add(v) return render_template("settings/personal.html", v=v, msg="Checkmark Text successfully updated!") + +if IS_FISTMAS(): + @app.post("/events/fistmas2022/darkmode") + @auth_required + def event_darkmode(v): + v.event_darkmode = not v.event_darkmode + g.db.add(v) + return {"message": "Dark mode toggled successfully!"} diff --git a/files/routes/votes.py b/files/routes/votes.py index e480f0233..9725d2062 100644 --- a/files/routes/votes.py +++ b/files/routes/votes.py @@ -88,7 +88,7 @@ def vote_post_comment(target_id, new, v, cls, vote_cls): abort(400) existing = existing.one_or_none() - if HOLIDAY_EVENT(): + if IS_FISTMAS(): coin_mult = 2 coin_value = coin_delta * coin_mult diff --git a/files/routes/wrappers.py b/files/routes/wrappers.py index fac434068..37f923b03 100644 --- a/files/routes/wrappers.py +++ b/files/routes/wrappers.py @@ -47,9 +47,6 @@ def get_logged_in_user(): abort(403) g.v = v - if HOLIDAY_EVENT(): - from files.events.helpers.get import get_or_create_event_user - g.event_v = get_or_create_event_user(v, g.db) if v: v.poor = session.get('poor') diff --git a/files/templates/default.html b/files/templates/default.html index 602c2479c..b3401291b 100644 --- a/files/templates/default.html +++ b/files/templates/default.html @@ -4,8 +4,8 @@ {% block banner %} {% include "modals/expanded_image.html" %} {% if err or '@' not in request.path %} - {% if HOLIDAY_EVENT() and not sub %} - {% include 'event/banner.html' %} + {% if IS_FISTMAS() and not sub %} + {% include 'fistmas/banner.html' %} {% else %} {% if err and SITE_NAME == 'rDrama' %} {% set src = "banner_error.webp" | asset_siteimg %} @@ -79,8 +79,8 @@ {% endif %} -{% if HOLIDAY_EVENT() %} - {% include "event/music.html" %} +{% if IS_FISTMAS() %} + {% include "fistmas/music.html" %} {% endif %} {% endblock %} diff --git a/files/templates/event/awards.html b/files/templates/event/awards.html deleted file mode 100644 index 53512a180..000000000 --- a/files/templates/event/awards.html +++ /dev/null @@ -1,31 +0,0 @@ -
- {% set gingerbread_count = p.award_count("gingerbread", v) * 2 if p.award_count("gingerbread", v) <= 10 else 20 %} - {% for i in range(gingerbread_count) %} -
- animate marsey gingerbread icon -
- {% endfor %} - - {# idk why snow isn't working vvvvvvvvvv #} - {% if p.award_count("snow", v) %} - - {% endif %} - - {% if p.award_count("frostbite", v) %} -
- - - {% endif %} -
- -{% if p.award_count("lights", v) %} - -{% endif %} - -{% if p.award_count("candycane", v) %} - -{% endif %} - -{% if p.award_count("fireplace", v) %} - -{% endif %} diff --git a/files/templates/fistmas/awards.html b/files/templates/fistmas/awards.html new file mode 100644 index 000000000..950dda3e4 --- /dev/null +++ b/files/templates/fistmas/awards.html @@ -0,0 +1,31 @@ +
+ {% set gingerbread_count = p.award_count("gingerbread", v) * 2 if p.award_count("gingerbread", v) <= 10 else 20 %} + {% for i in range(gingerbread_count) %} +
+ animate marsey gingerbread icon +
+ {% endfor %} + + {# idk why snow isn't working vvvvvvvvvv #} + {% if p.award_count("snow", v) %} + + {% endif %} + + {% if p.award_count("frostbite", v) %} +
+ + + {% endif %} +
+ +{% if p.award_count("lights", v) %} + +{% endif %} + +{% if p.award_count("candycane", v) %} + +{% endif %} + +{% if p.award_count("fireplace", v) %} + +{% endif %} diff --git a/files/templates/event/banner.html b/files/templates/fistmas/banner.html similarity index 53% rename from files/templates/event/banner.html rename to files/templates/fistmas/banner.html index 115334bda..4720a5f69 100644 --- a/files/templates/event/banner.html +++ b/files/templates/fistmas/banner.html @@ -1,16 +1,16 @@ {% if request.path == '/' %} - + {% endif %} {% if SITE_NAME == 'rDrama' and range(1, 20)|random() == 1 %} - + {% else %} - + {% if SITE_NAME == 'rDrama' %} - {% include "event/banner_rDrama.svg" %} + {% include "fistmas/banner_rDrama.svg" %} {% else %} - {% include "event/banner.svg" %} + {% include "fistmas/banner.svg" %} {% endif %} {% endif %} diff --git a/files/templates/event/banner.svg b/files/templates/fistmas/banner.svg similarity index 100% rename from files/templates/event/banner.svg rename to files/templates/fistmas/banner.svg diff --git a/files/templates/event/banner_rDrama.svg b/files/templates/fistmas/banner_rDrama.svg similarity index 100% rename from files/templates/event/banner_rDrama.svg rename to files/templates/fistmas/banner_rDrama.svg diff --git a/files/templates/event/music.html b/files/templates/fistmas/music.html similarity index 73% rename from files/templates/event/music.html rename to files/templates/fistmas/music.html index dfbeedc15..a0a050c9a 100644 --- a/files/templates/event/music.html +++ b/files/templates/fistmas/music.html @@ -1,8 +1,8 @@ {% if not (SITE_NAME == 'WPD' and not v) and not (v and v.poor) and (not v or v.event_music) and not (sub and sub.name == 'music') %} {% if not song %} - {% set path = "assets/event/media/music" %} + {% set path = "assets/fistmas/media/music" %} {% set song = "/" ~ path ~ "/" ~ listdir('files/' ~ path)|random() ~ '?v=45' %} {% endif %} - + {% endif %} diff --git a/files/templates/header.html b/files/templates/header.html index e2247df57..d08f9fd51 100644 --- a/files/templates/header.html +++ b/files/templates/header.html @@ -10,8 +10,17 @@ {% if range(1,5) | random == 1 %} {% include "journoid_banner.html" %} {% else %} - {% if EVENT_VISITORS_HERE_FLAVOR %} - {%- set VISITORS_HERE_FLAVOR = EVENT_VISITORS_HERE_FLAVOR -%} + {% if IS_FISTMAS() %} + {%- set VISITORS_HERE_FLAVOR = [ + ' santa enjoyers kissing under a misletoe', + ' bringing up family drama at Christmas dinner', + ' homoerotic dramanauts stroking their candy canes', + " dramanauts jingling each other's balls", + " Santa deniers getting reamed by Rudolph", + " naughty listers getting coal for fistmas", + " plus-sized dramanauts eating Santa's cookies", + " dramatards having their chimneys stuffed by Santa", + ] -%} {% else %} {%- set VISITORS_HERE_FLAVOR = [ ' incels currently stalking roasties', @@ -31,8 +40,7 @@ ' bacons currently narwhaling', ' well-behaved rule-following goodthinkers', ' throwing shade right now', - ] - -%} + ] -%} {% endif %} {{loggedin_counter+loggedout_counter}} {{VISITORS_HERE_FLAVOR|random|safe}} ({{loggedin_counter}} logged in) {% endif %} @@ -47,9 +55,9 @@
-{% if HOLIDAY_EVENT() %} - +{% if IS_FISTMAS() %} + {% endif %} diff --git a/files/templates/sidebar_rDrama.html b/files/templates/sidebar_rDrama.html index aa8ae49cc..37b6b1622 100644 --- a/files/templates/sidebar_rDrama.html +++ b/files/templates/sidebar_rDrama.html @@ -2,8 +2,8 @@ {% if sub %} {% set image=sub.sidebar_url %} - {% elif HOLIDAY_EVENT() %} - {% set image = macros.random_image("assets/event/images/sidebar") %} + {% elif IS_FISTMAS() %} + {% set image = macros.random_image("assets/fistmas/images/sidebar") %} {% else %} {% set image = macros.random_image("assets/images/" ~ SITE_NAME ~ "/sidebar") %} {% endif %} @@ -40,7 +40,7 @@ - {% if HOLIDAY_EVENT() %} + {% if IS_FISTMAS() %} {% endif %}

@@ -78,6 +78,6 @@ {% endif %} -{% if HOLIDAY_EVENT() %} - +{% if IS_FISTMAS() %} + {% endif %} diff --git a/files/templates/submission.html b/files/templates/submission.html index 2bf4a4653..b6a35e881 100644 --- a/files/templates/submission.html +++ b/files/templates/submission.html @@ -12,8 +12,8 @@ {% include "awards.html" %} {# DO NOT REMOVE THIS #} -{% if EVENT_AWARDS %} - {% include "event/awards.html" %} +{% if IS_FISTMAS() %} + {% include "fistmas/awards.html" %} {% endif %} {# ^^ DO NOT REMOVE THIS ^^ #} diff --git a/files/templates/userpage/userpage.html b/files/templates/userpage/userpage.html index de8f38979..a686b3c50 100644 --- a/files/templates/userpage/userpage.html +++ b/files/templates/userpage/userpage.html @@ -28,7 +28,7 @@
{{u.username}}
{% endif %} -{% if not HOLIDAY_EVENT() or SITE_NAME == 'WPD' %} +{% if not IS_FISTMAS() or SITE_NAME == 'WPD' %} {% endif %} {% endblock %} diff --git a/files/templates/util/html_head.html b/files/templates/util/html_head.html index 0ad182afa..2fb6de173 100644 --- a/files/templates/util/html_head.html +++ b/files/templates/util/html_head.html @@ -101,7 +101,7 @@ {% if v.agendaposter %} {% endif %} - {% if include_user_css and not EVENT_STYLES %} + {% if include_user_css and not IS_FISTMAS() %} {% if v.theme == 'classic_dark' %} {% endif %} @@ -125,14 +125,13 @@ {% endif %} - {% if EVENT_STYLES %} - {% set EVENT_STYLES = 'event/css/'+EVENT_STYLES %} - + {% if IS_FISTMAS() %} + - {% if v and user_event_darkmode(v, g.db)%} - + {% if v and v.event_darkmode %} + {% else %} - + {% endif %} {% endif %} diff --git a/migrations/20230101-change-event-structure.sql b/migrations/20230101-change-event-structure.sql new file mode 100644 index 000000000..71c9c1edf --- /dev/null +++ b/migrations/20230101-change-event-structure.sql @@ -0,0 +1,3 @@ +drop table event_users; +alter table users add column event_darkmode bool; +alter table users alter column event_music drop NOT NULL;