Merge branch 'refs/heads/main' into spis-2025-raport-p

# Conflicts:
#	census/analyse.py
This commit is contained in:
Andrea Vos 2025-06-21 15:31:03 +02:00
commit a044224789
28 changed files with 292 additions and 283 deletions

View File

@ -37,21 +37,11 @@ check:
apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev -y apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev -y
fi fi
script: script:
- start_section "Install Dependencies" - start_section "Install Dependencies & Setup Environment"
# temporarily replace FontAwesomePro dependency with its fake version as the CI cant access it - echo "https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com" > ~/.git-credentials
# the name needs to be changed in both package.json and pnpm-lock.yaml - git config --global credential.helper store
- 'sed -i "s/git+ssh:\/\/git@gitlab.com:Avris\/FontAwesomePro.git/git+https:\/\/gitlab.com\/Avris\/FakeFontAwesomePro.git/" package.json pnpm-lock.yaml'
# the referenced SHA needs to be additionally changed in pnpm-lock.yaml
- 'sed -i "s/git@gitlab.com+Avris\/FontAwesomePro\/f00db606f659dca78b143b7bcab5671b2cb459a8/gitlab.com\/Avris\/FakeFontAwesomePro\/0d322c775cbe9bf99da261700be30251291b51a8/" pnpm-lock.yaml'
- 'sed -i "s/resolution: {commit: f00db606f659dca78b143b7bcab5671b2cb459a8, repo: git@gitlab.com:Avris\/FontAwesomePro.git, type: git}/resolution: { tarball: https:\/\/gitlab.com\/api\/v4\/projects\/Avris%2FFakeFontAwesomePro\/repository\/archive.tar.gz?sha=0d322c775cbe9bf99da261700be30251291b51a8 }/" pnpm-lock.yaml'
- corepack enable pnpm - corepack enable pnpm
- pnpm install || record_failure
- end_section
- start_section "Setup environment"
- make install || record_failure - make install || record_failure
# revert the changes for the FontAwesomePro dependency only now because `make install` calls `pnpm install`
- git restore package.json pnpm-lock.yaml
- end_section - end_section
- start_section "Type checking" - start_section "Type checking"
@ -59,8 +49,7 @@ check:
- end_section - end_section
- start_section "Unit Tests" - start_section "Unit Tests"
- > - pnpm vitest --reporter=default --reporter=junit --outputFile=junit.xml --coverage || record_failure
pnpm vitest --reporter=default --reporter=junit --outputFile=junit.xml --coverage || record_failure
- end_section - end_section
- start_section "Check linting rules" - start_section "Check linting rules"
@ -214,7 +203,15 @@ deploy test/purple:
ENVIRONMENT_INSTANCE: 'purple' ENVIRONMENT_INSTANCE: 'purple'
ENVIRONMENT_DOMAIN: 'test-purple.pronouns.page' ENVIRONMENT_DOMAIN: 'test-purple.pronouns.page'
# include: include:
# - template: Security/Dependency-Scanning.gitlab-ci.yml - template: Jobs/Secret-Detection.gitlab-ci.yml
# # - template: Jobs/Container-Scanning.gitlab-ci.yml --- TODO: Configure Images
# Pending resolution of: https://gitlab.com/PronounsPage/PronounsPage/-/merge_requests/453#note_1911466136 - template: Jobs/Dependency-Scanning.gitlab-ci.yml
- template: Jobs/SAST.gitlab-ci.yml
- template: Jobs/SAST-IaC.gitlab-ci.yml
variables:
AST_ENABLE_MR_PIPELINES: true
DS_EXCLUDED_ANALYZERS: gemnasium-python
DS_MAX_DEPTH: 4
CS_QUIET: true

View File

@ -15,7 +15,7 @@ We're using FontAwesome Pro, so to set up a local copy without having a FA licen
open `package.json` and replace open `package.json` and replace
``` ```
"@fortawesome/fontawesome-pro": "git+ssh://git@gitlab.com:Avris/FontAwesomePro.git", "@fortawesome/fontawesome-pro": "https://gitlab.com/Avris/FontAwesomePro",
``` ```
with with
@ -26,7 +26,7 @@ with
or, for Git via HTTPS: or, for Git via HTTPS:
``` ```
"@fortawesome/fontawesome-pro": "git+https://git@gitlab.com/Avris/FakeFontAwesomePro.git", "@fortawesome/fontawesome-pro": "https://gitlab.com/Avris/FakeFontAwesomePro",
``` ```
Do not commit that change! Do not commit that change!

View File

@ -215,6 +215,7 @@ def analyse(group: str, df: pd.DataFrame, full_df: pd.DataFrame, echo: bool = Fa
df_neuter = df[df['7_rodzaj neutralny'] == 1] df_neuter = df[df['7_rodzaj neutralny'] == 1]
df_transition = df[df['24_'] == 'tak'] df_transition = df[df['24_'] == 'tak']
df_english = df[df['19_nie znam / nie używam angielskiego'] != 1].drop('19_nie znam / nie używam angielskiego', axis=1) df_english = df[df['19_nie znam / nie używam angielskiego'] != 1].drop('19_nie znam / nie używam angielskiego', axis=1)
df_attraction_split = df[df['19_'] == 'tak']
stats = { stats = {
'size': len(df), 'size': len(df),
@ -263,7 +264,7 @@ def analyse(group: str, df: pd.DataFrame, full_df: pd.DataFrame, echo: bool = Fa
'labelsGender': extract_question(df, 20, include_aggregates=True, remove_underscores=False), 'labelsGender': extract_question(df, 20, include_aggregates=True, remove_underscores=False),
'labelsAttractionSplit': extract_question_single(df, 21), 'labelsAttractionSplit': extract_question_single(df, 21),
'labelsSexuality': extract_question(df, 22, include_aggregates=True, remove_underscores=False), 'labelsSexuality': extract_question(df, 22, include_aggregates=True, remove_underscores=False),
'labelsRomantic': extract_question(df, 23, include_aggregates=True, remove_underscores=False), 'labelsRomantic': extract_question(df_attraction_split, 23, include_aggregates=True, remove_underscores=False),
'transtionAnswered': extract_question_single(df, 24), 'transtionAnswered': extract_question_single(df, 24),
'transitionSocial': extract_question_single(df_transition, 25), 'transitionSocial': extract_question_single(df_transition, 25),
'transitionSocialSentiment': extract_question_single_sentiment(df_transition, 25, sentiment_map=transition_sentiment), 'transitionSocialSentiment': extract_question_single_sentiment(df_transition, 25, sentiment_map=transition_sentiment),

View File

@ -16,8 +16,10 @@ onUnmounted(() => {
document.removeEventListener('click', documentClicked); document.removeEventListener('click', documentClicked);
}); });
const documentClicked = () => { const documentClicked = (e: MouseEvent) => {
if (e.target && !(e.target as Element).closest('.dropdown') && shown.value) {
shown.value = false; shown.value = false;
}
}; };
</script> </script>

View File

@ -53,13 +53,8 @@ home:
mission: mission:
header: 'Okkara endamál' header: 'Okkara endamál'
summary: 'Vit stríða fyri frælsi, virðing og inklusjón í máli.' summary: 'Vit stríða fyri frælsi, virðing og inklusjón í máli.'
freedom: > freedom: '<strong>Frælsi</strong> so at øll <em>sjálv kunnu gera av</em> hvørji fornøvn tey føla lýsir tey best.'
<strong>Frælsi</strong> respect: '<strong>Virðing</strong> so at fornøvnini hjá <em>ørðum</em> eru vird.'
so at øll <em>sjálv kunnu gera av</em>
hvørji fornøvn tey føla lýsir teimum best.
respect: >
<strong>Virðing</strong>
so at fornøvnini hjá <em>onnur</em> eru vird.
inclusivity: > inclusivity: >
<strong>Inklusjón</strong> <strong>Inklusjón</strong>
so at tá vit tosa um ein annan persón vit ikki kenna, so at tá vit tosa um ein annan persón vit ikki kenna,
@ -1041,7 +1036,7 @@ profile:
duplicateDescription: 'Lýsingin má vera øðrvísi enn arðar' duplicateDescription: 'Lýsingin má vera øðrvísi enn arðar'
invalidOpinion: 'Valdað ímyndin var ikki at finna í frágreiðingini omanfyri' invalidOpinion: 'Valdað ímyndin var ikki at finna í frágreiðingini omanfyri'
kys: 'Okkara tænastutreytir banna at eggja til sjálvskaða og/ella sjálvmorð. ' kys: 'Okkara tænastutreytir banna at eggja til sjálvskaða og/ella sjálvmorð. '
custom: 'Sergjørd, lagt afturat av:' custom: 'Sergjørd, lagt afturat av brúkarinum:'
expendableList: expendableList:
more: '… og %count% fleiri lutir' more: '… og %count% fleiri lutir'
show: '(trýst fyri at vísa)' show: '(trýst fyri at vísa)'
@ -1499,7 +1494,7 @@ mode:
automatic: 'Sjálvvirkandi' automatic: 'Sjálvvirkandi'
dark: 'Myrkt tema' dark: 'Myrkt tema'
accessibility: 'Atkomuligheitsinnstillingar' accessibility: 'Atkomuligheitsinnstillingar'
reducedColours: 'Minkaðir litir' reducedColours: 'Kámari litir'
reducedItems: 'Minkað tal av vístum lutum' reducedItems: 'Minkað tal av vístum lutum'
ban: ban:
@ -2009,7 +2004,7 @@ calendar:
11: '%day%. novembur' 11: '%day%. novembur'
12: '%day%. desembur' 12: '%day%. desembur'
events: events:
pride_month: 'Pride-mánaður' pride_month: 'Heimspride-mánaður'
trans_month: 'Altjóða mánað fyri tvørkynd tilvitan' trans_month: 'Altjóða mánað fyri tvørkynd tilvitan'
zaimki_birthday: 'Føðingardagurin hjá Pronouns.page' zaimki_birthday: 'Føðingardagurin hjá Pronouns.page'
agender_day: 'Agender pride-dagur' agender_day: 'Agender pride-dagur'
@ -2039,7 +2034,7 @@ calendar:
trans_parent_day___timeDescription: 'á fyrsta sunnudag í novembur' trans_parent_day___timeDescription: 'á fyrsta sunnudag í novembur'
nonbinary_week: 'Tilvitingarvika um ikki-biner' nonbinary_week: 'Tilvitingarvika um ikki-biner'
nonbinary_week___timeDescription: 'í vikuni (man-sun) rundan um 14inda july' nonbinary_week___timeDescription: 'í vikuni (man-sun) rundan um 14inda july'
polyamory_day: 'Polyamory-Dagur' polyamory_day: 'Fleiralskhuga-dagur'
homophobia_sport: 'Altjóðadagur ímóti homofobi í ítrótti' homophobia_sport: 'Altjóðadagur ímóti homofobi í ítrótti'
gay_uncles_day: 'Dagur teirra samkyndu gubbar' gay_uncles_day: 'Dagur teirra samkyndu gubbar'
gay_uncles_day___timeDescription: 'á næsta sunnudag í august' gay_uncles_day___timeDescription: 'á næsta sunnudag í august'

View File

@ -2421,6 +2421,18 @@ links:
headline: 'IX Poznańska Debata o Języku: „Język a tożsamość“' headline: 'IX Poznańska Debata o Języku: „Język a tożsamość“'
extra: ' Anna Tess Gołębiowska (RJN) w Centrum Kultury Zamek w Poznaniu' extra: ' Anna Tess Gołębiowska (RJN) w Centrum Kultury Zamek w Poznaniu'
# 24.02.2025 # 24.02.2025
-
icon: 'play-circle'
url: 'https://vimeo.com/1095236202'
headline: '„Anarchizowanie języka przez społeczność queerową”'
extra: ' Andrea Vos (RJN) na Kongresono 2025'
quote: >
Czym właściwie jest język? Do kogo należy? Czy można sobie w nim grzebać, jak tylko nam się podoba?
Spoiler alert: jako kolektyw oddolnie grzebiący w polszczyźnie, skłaniamy się ku temu, że chyba raczej można.
Od pięciu lat pomagamy osobom niebinarnym wyrażać się w silnie upłciowionym języku polskim, badamy,
jak nasz język wygląda oraz promujemy inkluzywne podejście do polszczyzny. A nie my pierwsze i nie ostatnie!
Zapraszamy na prelekcję o anarchizowaniu i queerowaniu języka, pełną przykładów i drobnych ćwiczeń.
# 21.06.2025
mediaMentions: mediaMentions:
- -
icon: 'newspaper' icon: 'newspaper'

File diff suppressed because one or more lines are too long

View File

@ -371,43 +371,43 @@
"\u0142\u0105cznie: aspec": 39.4 "\u0142\u0105cznie: aspec": 39.4
}, },
"labelsRomantic": { "labelsRomantic": {
"homoromantyczn_": 6.1, "homoromantyczn_": 11.2,
"heteroromantyczn_": 1.2, "heteroromantyczn_": 2.1,
"ceteroromantyczn_": 0.1, "ceteroromantyczn_": 0.2,
"biromantyczn_": 10.8, "biromantyczn_": 19.7,
"panromantyczn_": 13.5, "panromantyczn_": 24.8,
"multiromantyczn_": 1.2, "multiromantyczn_": 2.1,
"omniromantyczn_": 2.4, "omniromantyczn_": 4.4,
"poliromantyczn_": 5.4, "poliromantyczn_": 9.9,
"gej": 6.8, "gej": 12.6,
"lesbijka": 8.9, "lesbijka": 16.5,
"gay": 14.3, "gay": 26.3,
"safick_": 3.7, "safick_": 6.9,
"safonka": 2.5, "safonka": 4.6,
"achille\u0144sk_": 1.2, "achille\u0144sk_": 2.1,
"queer": 28.5, "queer": 52.1,
"queerejsk_": 1.5, "queerejsk_": 2.8,
"enbia\u0144sk_": 1.0, "enbia\u0144sk_": 1.9,
"peda\u0142_ka": 6.6, "peda\u0142_ka": 12.1,
"androromantyczn_": 1.3, "androromantyczn_": 2.4,
"gyneromantyczn_": 0.6, "gyneromantyczn_": 1.1,
"finromantyczn_": 0.1, "finromantyczn_": 0.2,
"minromantyczn_": 0.0, "minromantyczn_": 0.0,
"ninromantyczn_": 0.1, "ninromantyczn_": 0.2,
"marsja\u0144sk_": 0.0, "marsja\u0144sk_": 0.0,
"merkurejsk_": 0.0, "merkurejsk_": 0.1,
"neptuniczn_": 0.4, "neptuniczn_": 0.7,
"saturnijsk_": 0.1, "saturnijsk_": 0.2,
"wenuzyjsk_": 0.0, "wenuzyjsk_": 0.1,
"toryjsk_": 0.2, "toryjsk_": 0.3,
"triksijsk_": 0.2, "triksijsk_": 0.5,
"aromantyczn_": 12.8, "aromantyczn_": 23.6,
"demiromantyczn_": 8.1, "demiromantyczn_": 14.9,
"szaroromantyczn_": 2.8, "szaroromantyczn_": 5.2,
"pomoromantyczn_": 0.2, "pomoromantyczn_": 0.4,
"bez etykiety": 7.8, "bez etykiety": 14.2,
"\u0142\u0105cznie: mspec": 25.7, "\u0142\u0105cznie: mspec": 47.2,
"\u0142\u0105cznie: aspec": 20.3 "\u0142\u0105cznie: aspec": 37.3
}, },
"transtionAnswered": { "transtionAnswered": {
"nie": 30.4, "nie": 30.4,

File diff suppressed because one or more lines are too long

View File

@ -380,43 +380,43 @@
"\u0142\u0105cznie: aspec": 20.5 "\u0142\u0105cznie: aspec": 20.5
}, },
"labelsRomantic": { "labelsRomantic": {
"homoromantyczn_": 5.3, "homoromantyczn_": 12.1,
"heteroromantyczn_": 2.1, "heteroromantyczn_": 4.8,
"ceteroromantyczn_": 0.2, "ceteroromantyczn_": 0.4,
"biromantyczn_": 9.4, "biromantyczn_": 21.0,
"panromantyczn_": 12.1, "panromantyczn_": 27.0,
"multiromantyczn_": 2.0, "multiromantyczn_": 4.4,
"omniromantyczn_": 2.0, "omniromantyczn_": 4.4,
"poliromantyczn_": 7.5, "poliromantyczn_": 16.1,
"gej": 6.0, "gej": 13.7,
"lesbijka": 4.3, "lesbijka": 9.7,
"gay": 7.8, "gay": 17.7,
"safick_": 3.2, "safick_": 7.3,
"safonka": 1.1, "safonka": 2.4,
"achille\u0144sk_": 0.5, "achille\u0144sk_": 1.2,
"queer": 19.6, "queer": 44.4,
"queerejsk_": 1.4, "queerejsk_": 3.2,
"enbia\u0144sk_": 2.5, "enbia\u0144sk_": 5.6,
"peda\u0142_ka": 6.0, "peda\u0142_ka": 13.7,
"androromantyczn_": 1.1, "androromantyczn_": 2.4,
"gyneromantyczn_": 2.1, "gyneromantyczn_": 4.8,
"finromantyczn_": 0.7, "finromantyczn_": 1.6,
"minromantyczn_": 0.0, "minromantyczn_": 0.0,
"ninromantyczn_": 0.2, "ninromantyczn_": 0.4,
"marsja\u0144sk_": 0.2, "marsja\u0144sk_": 0.4,
"merkurejsk_": 0.5, "merkurejsk_": 1.2,
"neptuniczn_": 0.4, "neptuniczn_": 0.8,
"saturnijsk_": 0.2, "saturnijsk_": 0.4,
"wenuzyjsk_": 0.4, "wenuzyjsk_": 0.8,
"toryjsk_": 0.2, "toryjsk_": 0.4,
"triksijsk_": 0.0, "triksijsk_": 0.0,
"aromantyczn_": 6.4, "aromantyczn_": 14.5,
"demiromantyczn_": 6.2, "demiromantyczn_": 13.7,
"szaroromantyczn_": 1.8, "szaroromantyczn_": 4.0,
"pomoromantyczn_": 0.4, "pomoromantyczn_": 0.8,
"bez etykiety": 7.5, "bez etykiety": 16.9,
"\u0142\u0105cznie: mspec": 23.3, "\u0142\u0105cznie: mspec": 52.0,
"\u0142\u0105cznie: aspec": 12.1 "\u0142\u0105cznie: aspec": 27.0
}, },
"transtionAnswered": { "transtionAnswered": {
"nie": 32.2, "nie": 32.2,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -381,43 +381,43 @@
"\u0142\u0105cznie: aspec": 36.2 "\u0142\u0105cznie: aspec": 36.2
}, },
"labelsRomantic": { "labelsRomantic": {
"homoromantyczn_": 5.9, "homoromantyczn_": 11.2,
"heteroromantyczn_": 1.5, "heteroromantyczn_": 2.8,
"ceteroromantyczn_": 0.2, "ceteroromantyczn_": 0.3,
"biromantyczn_": 10.4, "biromantyczn_": 19.6,
"panromantyczn_": 13.1, "panromantyczn_": 24.9,
"multiromantyczn_": 1.3, "multiromantyczn_": 2.4,
"omniromantyczn_": 2.3, "omniromantyczn_": 4.4,
"poliromantyczn_": 5.9, "poliromantyczn_": 11.0,
"gej": 6.8, "gej": 12.9,
"lesbijka": 7.9, "lesbijka": 15.1,
"gay": 13.1, "gay": 24.8,
"safick_": 3.6, "safick_": 6.9,
"safonka": 2.3, "safonka": 4.3,
"achille\u0144sk_": 1.1, "achille\u0144sk_": 2.0,
"queer": 26.9, "queer": 50.7,
"queerejsk_": 1.5, "queerejsk_": 2.8,
"enbia\u0144sk_": 1.3, "enbia\u0144sk_": 2.5,
"peda\u0142_ka": 6.6, "peda\u0142_ka": 12.5,
"androromantyczn_": 1.3, "androromantyczn_": 2.4,
"gyneromantyczn_": 0.9, "gyneromantyczn_": 1.8,
"finromantyczn_": 0.2, "finromantyczn_": 0.4,
"minromantyczn_": 0.0, "minromantyczn_": 0.0,
"ninromantyczn_": 0.1, "ninromantyczn_": 0.2,
"marsja\u0144sk_": 0.0, "marsja\u0144sk_": 0.1,
"merkurejsk_": 0.2, "merkurejsk_": 0.3,
"neptuniczn_": 0.4, "neptuniczn_": 0.8,
"saturnijsk_": 0.1, "saturnijsk_": 0.2,
"wenuzyjsk_": 0.1, "wenuzyjsk_": 0.2,
"toryjsk_": 0.2, "toryjsk_": 0.4,
"triksijsk_": 0.2, "triksijsk_": 0.4,
"aromantyczn_": 11.8, "aromantyczn_": 22.4,
"demiromantyczn_": 7.7, "demiromantyczn_": 14.6,
"szaroromantyczn_": 2.7, "szaroromantyczn_": 5.0,
"pomoromantyczn_": 0.3, "pomoromantyczn_": 0.5,
"bez etykiety": 7.8, "bez etykiety": 14.6,
"\u0142\u0105cznie: mspec": 25.1, "\u0142\u0105cznie: mspec": 47.5,
"\u0142\u0105cznie: aspec": 18.9 "\u0142\u0105cznie: aspec": 35.9
}, },
"transtionAnswered": { "transtionAnswered": {
"nie": 30.8, "nie": 30.8,

File diff suppressed because one or more lines are too long

View File

@ -379,25 +379,25 @@
"\u0142\u0105cznie: aspec": 35.0 "\u0142\u0105cznie: aspec": 35.0
}, },
"labelsRomantic": { "labelsRomantic": {
"homoromantyczn_": 6.5, "homoromantyczn_": 13.6,
"heteroromantyczn_": 1.6, "heteroromantyczn_": 3.4,
"ceteroromantyczn_": 0.8, "ceteroromantyczn_": 1.7,
"biromantyczn_": 15.4, "biromantyczn_": 30.5,
"panromantyczn_": 14.6, "panromantyczn_": 30.5,
"multiromantyczn_": 1.6, "multiromantyczn_": 3.4,
"omniromantyczn_": 0.0, "omniromantyczn_": 0.0,
"poliromantyczn_": 6.5, "poliromantyczn_": 13.6,
"gej": 4.9, "gej": 10.2,
"lesbijka": 7.3, "lesbijka": 15.3,
"gay": 12.2, "gay": 25.4,
"safick_": 4.1, "safick_": 8.5,
"safonka": 3.3, "safonka": 6.8,
"achille\u0144sk_": 0.0, "achille\u0144sk_": 0.0,
"queer": 26.8, "queer": 54.2,
"queerejsk_": 1.6, "queerejsk_": 3.4,
"enbia\u0144sk_": 0.8, "enbia\u0144sk_": 1.7,
"peda\u0142_ka": 1.6, "peda\u0142_ka": 3.4,
"androromantyczn_": 1.6, "androromantyczn_": 3.4,
"gyneromantyczn_": 0.0, "gyneromantyczn_": 0.0,
"finromantyczn_": 0.0, "finromantyczn_": 0.0,
"minromantyczn_": 0.0, "minromantyczn_": 0.0,
@ -409,13 +409,13 @@
"wenuzyjsk_": 0.0, "wenuzyjsk_": 0.0,
"toryjsk_": 0.0, "toryjsk_": 0.0,
"triksijsk_": 0.0, "triksijsk_": 0.0,
"aromantyczn_": 8.9, "aromantyczn_": 18.6,
"demiromantyczn_": 8.1, "demiromantyczn_": 16.9,
"szaroromantyczn_": 0.0, "szaroromantyczn_": 0.0,
"pomoromantyczn_": 0.0, "pomoromantyczn_": 0.0,
"bez etykiety": 7.3, "bez etykiety": 15.3,
"\u0142\u0105cznie: mspec": 25.2, "\u0142\u0105cznie: mspec": 50.8,
"\u0142\u0105cznie: aspec": 16.3 "\u0142\u0105cznie: aspec": 33.9
}, },
"transtionAnswered": { "transtionAnswered": {
"nie": 25.2, "nie": 25.2,

File diff suppressed because one or more lines are too long

View File

@ -371,43 +371,43 @@
"\u0142\u0105cznie: aspec": 36.3 "\u0142\u0105cznie: aspec": 36.3
}, },
"labelsRomantic": { "labelsRomantic": {
"homoromantyczn_": 5.9, "homoromantyczn_": 11.2,
"heteroromantyczn_": 1.5, "heteroromantyczn_": 2.8,
"ceteroromantyczn_": 0.1, "ceteroromantyczn_": 0.3,
"biromantyczn_": 10.2, "biromantyczn_": 19.2,
"panromantyczn_": 13.0, "panromantyczn_": 24.6,
"multiromantyczn_": 1.3, "multiromantyczn_": 2.4,
"omniromantyczn_": 2.4, "omniromantyczn_": 4.6,
"poliromantyczn_": 5.9, "poliromantyczn_": 10.9,
"gej": 6.9, "gej": 13.0,
"lesbijka": 8.0, "lesbijka": 15.1,
"gay": 13.2, "gay": 25.0,
"safick_": 3.6, "safick_": 6.9,
"safonka": 2.2, "safonka": 4.2,
"achille\u0144sk_": 1.1, "achille\u0144sk_": 2.1,
"queer": 26.8, "queer": 50.6,
"queerejsk_": 1.5, "queerejsk_": 2.8,
"enbia\u0144sk_": 1.4, "enbia\u0144sk_": 2.6,
"peda\u0142_ka": 6.7, "peda\u0142_ka": 12.8,
"androromantyczn_": 1.3, "androromantyczn_": 2.4,
"gyneromantyczn_": 1.0, "gyneromantyczn_": 1.9,
"finromantyczn_": 0.2, "finromantyczn_": 0.4,
"minromantyczn_": 0.0, "minromantyczn_": 0.0,
"ninromantyczn_": 0.1, "ninromantyczn_": 0.3,
"marsja\u0144sk_": 0.0, "marsja\u0144sk_": 0.1,
"merkurejsk_": 0.1, "merkurejsk_": 0.3,
"neptuniczn_": 0.4, "neptuniczn_": 0.8,
"saturnijsk_": 0.1, "saturnijsk_": 0.2,
"wenuzyjsk_": 0.1, "wenuzyjsk_": 0.2,
"toryjsk_": 0.2, "toryjsk_": 0.4,
"triksijsk_": 0.2, "triksijsk_": 0.4,
"aromantyczn_": 11.9, "aromantyczn_": 22.6,
"demiromantyczn_": 7.6, "demiromantyczn_": 14.4,
"szaroromantyczn_": 2.8, "szaroromantyczn_": 5.3,
"pomoromantyczn_": 0.3, "pomoromantyczn_": 0.5,
"bez etykiety": 7.8, "bez etykiety": 14.7,
"\u0142\u0105cznie: mspec": 25.0, "\u0142\u0105cznie: mspec": 47.3,
"\u0142\u0105cznie: aspec": 19.0 "\u0142\u0105cznie: aspec": 35.9
}, },
"transtionAnswered": { "transtionAnswered": {
"nie": 30.8, "nie": 30.8,

File diff suppressed because one or more lines are too long

View File

@ -369,43 +369,43 @@
"\u0142\u0105cznie: aspec": 35.2 "\u0142\u0105cznie: aspec": 35.2
}, },
"labelsRomantic": { "labelsRomantic": {
"homoromantyczn_": 5.6, "homoromantyczn_": 11.3,
"heteroromantyczn_": 2.7, "heteroromantyczn_": 5.4,
"ceteroromantyczn_": 0.4, "ceteroromantyczn_": 0.9,
"biromantyczn_": 9.8, "biromantyczn_": 19.5,
"panromantyczn_": 13.3, "panromantyczn_": 26.5,
"multiromantyczn_": 1.7, "multiromantyczn_": 3.5,
"omniromantyczn_": 1.4, "omniromantyczn_": 2.8,
"poliromantyczn_": 7.4, "poliromantyczn_": 14.5,
"gej": 4.4, "gej": 8.9,
"lesbijka": 5.6, "lesbijka": 11.3,
"gay": 9.2, "gay": 18.4,
"safick_": 2.2, "safick_": 4.3,
"safonka": 2.3, "safonka": 4.6,
"achille\u0144sk_": 0.5, "achille\u0144sk_": 1.1,
"queer": 25.0, "queer": 50.3,
"queerejsk_": 1.4, "queerejsk_": 2.8,
"enbia\u0144sk_": 1.4, "enbia\u0144sk_": 2.8,
"peda\u0142_ka": 4.7, "peda\u0142_ka": 9.5,
"androromantyczn_": 1.6, "androromantyczn_": 3.3,
"gyneromantyczn_": 1.6, "gyneromantyczn_": 3.3,
"finromantyczn_": 0.2, "finromantyczn_": 0.4,
"minromantyczn_": 0.0, "minromantyczn_": 0.0,
"ninromantyczn_": 0.0, "ninromantyczn_": 0.0,
"marsja\u0144sk_": 0.0, "marsja\u0144sk_": 0.0,
"merkurejsk_": 0.3, "merkurejsk_": 0.7,
"neptuniczn_": 0.2, "neptuniczn_": 0.4,
"saturnijsk_": 0.2, "saturnijsk_": 0.4,
"wenuzyjsk_": 0.1, "wenuzyjsk_": 0.2,
"toryjsk_": 0.2, "toryjsk_": 0.4,
"triksijsk_": 0.0, "triksijsk_": 0.0,
"aromantyczn_": 9.6, "aromantyczn_": 19.3,
"demiromantyczn_": 7.6, "demiromantyczn_": 15.0,
"szaroromantyczn_": 3.0, "szaroromantyczn_": 6.1,
"pomoromantyczn_": 0.0, "pomoromantyczn_": 0.0,
"bez etykiety": 6.9, "bez etykiety": 13.9,
"\u0142\u0105cznie: mspec": 24.3, "\u0142\u0105cznie: mspec": 48.4,
"\u0142\u0105cznie: aspec": 16.7 "\u0142\u0105cznie: aspec": 33.4
}, },
"transtionAnswered": { "transtionAnswered": {
"nie": 31.6, "nie": 31.6,

File diff suppressed because one or more lines are too long

View File

@ -332,43 +332,43 @@
"\u0142\u0105cznie: aspec": 36.6 "\u0142\u0105cznie: aspec": 36.6
}, },
"labelsRomantic": { "labelsRomantic": {
"homoromantyczn_": 6.0, "homoromantyczn_": 11.2,
"heteroromantyczn_": 1.0, "heteroromantyczn_": 1.8,
"ceteroromantyczn_": 0.0, "ceteroromantyczn_": 0.1,
"biromantyczn_": 10.6, "biromantyczn_": 19.6,
"panromantyczn_": 13.1, "panromantyczn_": 24.3,
"multiromantyczn_": 1.1, "multiromantyczn_": 2.0,
"omniromantyczn_": 2.7, "omniromantyczn_": 5.0,
"poliromantyczn_": 5.2, "poliromantyczn_": 9.6,
"gej": 7.8, "gej": 14.4,
"lesbijka": 8.9, "lesbijka": 16.6,
"gay": 14.8, "gay": 27.4,
"safick_": 4.3, "safick_": 7.9,
"safonka": 2.3, "safonka": 4.2,
"achille\u0144sk_": 1.3, "achille\u0144sk_": 2.4,
"queer": 27.6, "queer": 50.9,
"queerejsk_": 1.5, "queerejsk_": 2.8,
"enbia\u0144sk_": 1.3, "enbia\u0144sk_": 2.4,
"peda\u0142_ka": 7.3, "peda\u0142_ka": 13.6,
"androromantyczn_": 1.1, "androromantyczn_": 2.1,
"gyneromantyczn_": 0.6, "gyneromantyczn_": 1.2,
"finromantyczn_": 0.2, "finromantyczn_": 0.3,
"minromantyczn_": 0.0, "minromantyczn_": 0.0,
"ninromantyczn_": 0.2, "ninromantyczn_": 0.3,
"marsja\u0144sk_": 0.0, "marsja\u0144sk_": 0.1,
"merkurejsk_": 0.1, "merkurejsk_": 0.2,
"neptuniczn_": 0.5, "neptuniczn_": 0.9,
"saturnijsk_": 0.0, "saturnijsk_": 0.1,
"wenuzyjsk_": 0.1, "wenuzyjsk_": 0.2,
"toryjsk_": 0.2, "toryjsk_": 0.3,
"triksijsk_": 0.3, "triksijsk_": 0.5,
"aromantyczn_": 12.8, "aromantyczn_": 23.7,
"demiromantyczn_": 7.8, "demiromantyczn_": 14.5,
"szaroromantyczn_": 2.5, "szaroromantyczn_": 4.6,
"pomoromantyczn_": 0.4, "pomoromantyczn_": 0.7,
"bez etykiety": 8.2, "bez etykiety": 14.9,
"\u0142\u0105cznie: mspec": 25.5, "\u0142\u0105cznie: mspec": 47.1,
"\u0142\u0105cznie: aspec": 19.9 "\u0142\u0105cznie: aspec": 36.9
}, },
"transtionAnswered": { "transtionAnswered": {
"nie": 30.5, "nie": 30.5,

View File

@ -20,7 +20,7 @@
"@aws-sdk/client-polly": "^3.525.0", "@aws-sdk/client-polly": "^3.525.0",
"@aws-sdk/client-s3": "^3.525.0", "@aws-sdk/client-s3": "^3.525.0",
"@floating-ui/vue": "^1.1.5", "@floating-ui/vue": "^1.1.5",
"@fortawesome/fontawesome-pro": "git+ssh://git@gitlab.com:Avris/FontAwesomePro.git", "@fortawesome/fontawesome-pro": "https://gitlab.com/Avris/FontAwesomePro",
"@sentry/browser": "^7.109.0", "@sentry/browser": "^7.109.0",
"@sentry/cli": "^2.31.0", "@sentry/cli": "^2.31.0",
"@sentry/node": "^7.109.0", "@sentry/node": "^7.109.0",

2
pnpm-lock.yaml generated
View File

@ -21,7 +21,7 @@ importers:
specifier: ^1.1.5 specifier: ^1.1.5
version: 1.1.5(vue@3.5.16(typescript@5.8.3)) version: 1.1.5(vue@3.5.16(typescript@5.8.3))
'@fortawesome/fontawesome-pro': '@fortawesome/fontawesome-pro':
specifier: git+ssh://git@gitlab.com:Avris/FontAwesomePro.git specifier: https://gitlab.com/Avris/FontAwesomePro
version: git+https://git@gitlab.com:Avris/FontAwesomePro.git#f00db606f659dca78b143b7bcab5671b2cb459a8 version: git+https://git@gitlab.com:Avris/FontAwesomePro.git#f00db606f659dca78b143b7bcab5671b2cb459a8
'@sentry/browser': '@sentry/browser':
specifier: ^7.109.0 specifier: ^7.109.0

View File

@ -222,7 +222,7 @@ const calculateAggregate = (config: Aggregate, answer: Set<number | string>): bo
} }
}; };
router.get('/census/export', handleErrorAsync(async (req, res) => { router.get('/census/export/:edition?', handleErrorAsync(async (req, res) => {
if (!req.isGranted('census')) { if (!req.isGranted('census')) {
return res.status(401).json({ error: 'Unauthorised' }); return res.status(401).json({ error: 'Unauthorised' });
} }
@ -230,11 +230,13 @@ router.get('/census/export', handleErrorAsync(async (req, res) => {
const locale = getLocale(getH3Event(req)); const locale = getLocale(getH3Event(req));
const config = await loadConfig(locale); const config = await loadConfig(locale);
const edition = req.params.edition || config.census.edition;
const report = []; const report = [];
for (const { answers: answersRaw, writins: writinsRaw } of await req.db.all<Pick<CensusRow, 'answers' | 'writins'>>(SQL` for (const { answers: answersRaw, writins: writinsRaw } of await req.db.all<Pick<CensusRow, 'answers' | 'writins'>>(SQL`
SELECT answers, writins FROM census SELECT answers, writins FROM census
WHERE locale = ${config.locale} WHERE locale = ${config.locale}
AND edition = ${config.census.edition} AND edition = ${edition}
AND suspicious = 0 AND suspicious = 0
AND troll = 0 AND troll = 0
AND relevant = 1 AND relevant = 1

View File

@ -28,7 +28,7 @@ const fetchEvents = async (): Promise<MiastamaszerujaceEvent[]> => {
// manual fixes for irregular HTML // manual fixes for irregular HTML
.replace(new RegExp('ref=newsfeed</a><br /><b>', 'g'), '</a></p><p><b>') .replace(new RegExp('ref=newsfeed</a><br /><b>', 'g'), '</a></p><p><b>')
.replace(new RegExp('<span style="font-weight: 400;">(.*?)</span>', 'g'), '$1')); .replace(new RegExp('<span style="font-weight: 400;">(.*?)</span>', 'g'), '$1'));
const eventNodes = dom.window.document.querySelectorAll('[data-id="d4c3075"] p'); const eventNodes = dom.window.document.querySelectorAll('[data-id="d4c3075"] p, [data-id="9cc25f4"] p');
for (const p of eventNodes) { for (const p of eventNodes) {
if (p.textContent!.includes('Daty kolejnych') || if (p.textContent!.includes('Daty kolejnych') ||
p.textContent!.includes('Marsz organizowany przez grupę współpracującą') || p.textContent!.includes('Marsz organizowany przez grupę współpracującą') ||