Skip to content
Snippets Groups Projects
Commit 3b730961 authored by Daniel Kriz's avatar Daniel Kriz
Browse files

Merge branch 'feature/pirati-cz' into feature/pirati-cz-bugfixes

parents 8ba16eb2 82b1647f
Branches
No related tags found
3 merge requests!609Release,!608Small tuning and fixes of pirati.cz (main) module,!606[ADD] Bugfixes Kontakty
MONTH_NAMES = [
"Leden",
"Únor",
"Březen",
"Duben",
"Květen",
"Červen",
"Červenec",
"Srpen",
"Září",
"Říjen",
"Listopad",
"Prosinec",
]
# Generated by Django 4.0.7 on 2022-08-31 10:30
import wagtail.blocks
import wagtail.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("main", "0026_remove_mainhomepage_max_items_and_more"),
]
operations = [
migrations.AlterField(
model_name="mainpersonpage",
name="people",
field=wagtail.fields.StreamField(
[
(
"people_group",
wagtail.blocks.StructBlock(
[
("title", wagtail.blocks.CharBlock(label="Titulek")),
(
"slug",
wagtail.blocks.CharBlock(
help_text="Není třeba vyplňovat, bude automaticky vyplněno",
label="Slug skupiny",
required=False,
),
),
(
"person_list",
wagtail.blocks.ListBlock(
wagtail.blocks.PageChooserBlock(
label="Detail osoby",
page_type=["main.MainPersonPage"],
),
label="Skupina osob",
),
),
],
label="Seznam osob",
),
)
],
blank=True,
use_json_field=None,
verbose_name="Další lidé",
),
),
]
import locale
from datetime import timedelta from datetime import timedelta
from functools import cached_property from functools import cached_property
...@@ -37,6 +38,7 @@ from tuning import admin_help ...@@ -37,6 +38,7 @@ from tuning import admin_help
from twitter_utils.models import Tweet from twitter_utils.models import Tweet
from . import blocks from . import blocks
from .constants import MONTH_NAMES
from .forms import JekyllImportForm from .forms import JekyllImportForm
from .menu import MenuMixin from .menu import MenuMixin
...@@ -385,7 +387,7 @@ class MainArticlesPage( ...@@ -385,7 +387,7 @@ class MainArticlesPage(
def get_empty_month_data(date_obj): def get_empty_month_data(date_obj):
return { return {
"month_number": date_obj.month, "month_number": date_obj.month,
"month_text": date_obj.strftime("%B"), "month_text": MONTH_NAMES[date_obj.month - 1],
"left_column": [], "left_column": [],
"right_column": [], "right_column": [],
} }
......
...@@ -6,7 +6,7 @@ from django.utils import timezone ...@@ -6,7 +6,7 @@ from django.utils import timezone
from tweepy import Client from tweepy import Client
from tweepy.errors import BadRequest from tweepy.errors import BadRequest
from main.models import MainHomePage from main.models import MainHomePage, MainPersonPage
from .models import Tweet from .models import Tweet
...@@ -48,6 +48,7 @@ class TweetDownloadService: ...@@ -48,6 +48,7 @@ class TweetDownloadService:
""" """
tweets_response = self.client.get_users_tweets( tweets_response = self.client.get_users_tweets(
user_id, user_id,
exclude=["retweets"],
expansions=["author_id", "entities.mentions.username"], expansions=["author_id", "entities.mentions.username"],
max_results=100, max_results=100,
start_time=timezone.now() - timedelta(days=self.days_back), start_time=timezone.now() - timedelta(days=self.days_back),
...@@ -59,15 +60,25 @@ class TweetDownloadService: ...@@ -59,15 +60,25 @@ class TweetDownloadService:
def get_user_list_data(self) -> list["User"]: def get_user_list_data(self) -> list["User"]:
twitter_usernames_block = MainHomePage.objects.first().twitter_usernames twitter_usernames_block = MainHomePage.objects.first().twitter_usernames
person_username_list = (
MainPersonPage.objects.filter(twitter_username__isnull=False)
.values_list("twitter_username", flat=True)
.distinct()
)
homepage_username_list = [
username_data["value"] for username_data in twitter_usernames_block.raw_data
]
username_list = [*person_username_list, *homepage_username_list]
user_data_list = [] user_data_list = []
for username_data in twitter_usernames_block.raw_data: for username in username_list:
try: try:
user_data_list.append(self.get_user_response(username_data["value"])) user_data_list.append(self.get_user_response(username))
except BadRequest: except BadRequest:
logger.error( logger.error(
"Cannot download tweets for the username", "Cannot download tweets for the username",
extra={"username": username_data["value"]}, extra={"username": username},
) )
return user_data_list return user_data_list
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment