kopia lustrzana https://github.com/jointakahe/takahe
allow any length language and default to empty string
rodzic
1a11a1810e
commit
710b7b4caa
|
@ -13,6 +13,6 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name="post",
|
||||
name="language",
|
||||
field=models.CharField(max_length=50, null=True),
|
||||
field=models.CharField(default=""),
|
||||
),
|
||||
]
|
||||
|
|
|
@ -254,7 +254,7 @@ class Post(StatorModel):
|
|||
content = models.TextField()
|
||||
|
||||
# The language of the content
|
||||
language = models.CharField(max_length=50, null=True)
|
||||
language = models.CharField(default="")
|
||||
|
||||
type = models.CharField(
|
||||
max_length=20,
|
||||
|
@ -497,7 +497,7 @@ class Post(StatorModel):
|
|||
sorted([tag[: Hashtag.MAXIMUM_LENGTH] for tag in parser.hashtags])
|
||||
or None
|
||||
)
|
||||
if language is None:
|
||||
if language is None or language == "":
|
||||
language = author.config_identity.preferred_posting_language
|
||||
|
||||
# Make the Post object
|
||||
|
@ -548,7 +548,7 @@ class Post(StatorModel):
|
|||
self.summary = summary or None
|
||||
self.sensitive = bool(summary) if sensitive is None else sensitive
|
||||
self.visibility = visibility
|
||||
if language is None:
|
||||
if language is None or language == "":
|
||||
language = self.author.config_identity.preferred_posting_language
|
||||
self.language = language
|
||||
self.edited = timezone.now()
|
||||
|
@ -662,7 +662,7 @@ class Post(StatorModel):
|
|||
"tag": [],
|
||||
"attachment": [],
|
||||
}
|
||||
if self.language is not None:
|
||||
if self.language != "":
|
||||
value["contentMap"] = {
|
||||
self.language: value["content"],
|
||||
}
|
||||
|
@ -889,7 +889,7 @@ class Post(StatorModel):
|
|||
post.published = parse_ld_date(data.get("published"))
|
||||
post.edited = parse_ld_date(data.get("updated"))
|
||||
post.in_reply_to = data.get("inReplyTo")
|
||||
post.language = get_language(data)
|
||||
post.language = get_language(data) or ""
|
||||
# Mentions and hashtags
|
||||
post.hashtags = []
|
||||
for tag in get_list(data, "tag"):
|
||||
|
@ -1124,13 +1124,16 @@ class Post(StatorModel):
|
|||
self.Visibilities.mentioned: "direct",
|
||||
self.Visibilities.local_only: "public",
|
||||
}
|
||||
language = self.language
|
||||
if self.language == "":
|
||||
language = None
|
||||
value = {
|
||||
"id": self.pk,
|
||||
"uri": self.object_uri,
|
||||
"created_at": format_ld_date(self.published),
|
||||
"account": self.author.to_mastodon_json(include_counts=False),
|
||||
"content": self.safe_content_remote(),
|
||||
"language": self.language,
|
||||
"language": language,
|
||||
"visibility": visibility_mapping[self.visibility],
|
||||
"sensitive": self.sensitive,
|
||||
"spoiler_text": self.summary or "",
|
||||
|
|
|
@ -422,13 +422,19 @@ class Preferences(Schema):
|
|||
activities_models.Post.Visibilities.mentioned: "direct",
|
||||
activities_models.Post.Visibilities.local_only: "public",
|
||||
}
|
||||
preferred_posting_language = None
|
||||
if identity.config_identity.preferred_posting_language != "":
|
||||
preferred_posting_language = (
|
||||
identity.config_identity.preferred_posting_language
|
||||
)
|
||||
|
||||
return cls.parse_obj(
|
||||
{
|
||||
"posting:default:visibility": visibility_mapping[
|
||||
identity.config_identity.default_post_visibility
|
||||
],
|
||||
"posting:default:sensitive": False,
|
||||
"posting:default:language": identity.config_identity.preferred_posting_language,
|
||||
"posting:default:language": preferred_posting_language,
|
||||
"reading:expand:media": "default",
|
||||
"reading:expand:spoilers": identity.config_identity.expand_content_warnings,
|
||||
}
|
||||
|
|
|
@ -286,7 +286,7 @@ class Config(models.Model):
|
|||
visible_reaction_counts: bool = True
|
||||
expand_content_warnings: bool = False
|
||||
boosts_on_profile: bool = True
|
||||
preferred_posting_language: str | None = None
|
||||
preferred_posting_language: str = ""
|
||||
|
||||
class DomainOptions(pydantic.BaseModel):
|
||||
site_name: str = ""
|
||||
|
|
|
@ -259,7 +259,7 @@ def test_content_map(remote_identity):
|
|||
create=True,
|
||||
)
|
||||
assert post.content == "Hi World"
|
||||
assert post.language is None
|
||||
assert post.language == ""
|
||||
|
||||
post2 = Post.by_ap(
|
||||
data={
|
||||
|
@ -272,7 +272,7 @@ def test_content_map(remote_identity):
|
|||
create=True,
|
||||
)
|
||||
assert post2.content == "Hey World"
|
||||
assert post2.language is None
|
||||
assert post2.language == ""
|
||||
|
||||
post3 = Post.by_ap(
|
||||
data={
|
||||
|
|
Ładowanie…
Reference in New Issue