mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
feat: add link to mailing list article on requests page
Provides a convenient way to check for responses on the mailing list prior to Accepting/Rejecting requests. We compute the Message-ID hash that can be used to link back to the article in the mailing list archive. Signed-off-by: moson-mo <mo-son@mailbox.org>
This commit is contained in:
parent
154bb239bf
commit
ff44eb02de
4 changed files with 61 additions and 3 deletions
|
@ -1,7 +1,10 @@
|
|||
import base64
|
||||
import hashlib
|
||||
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
from sqlalchemy.orm import backref, relationship
|
||||
|
||||
from aurweb import schema
|
||||
from aurweb import config, schema
|
||||
from aurweb.models.declarative import Base
|
||||
from aurweb.models.package_base import PackageBase as _PackageBase
|
||||
from aurweb.models.request_type import RequestType as _RequestType
|
||||
|
@ -103,3 +106,16 @@ class PackageRequest(Base):
|
|||
def status_display(self) -> str:
|
||||
"""Return a display string for the Status column."""
|
||||
return self.STATUS_DISPLAY[self.Status]
|
||||
|
||||
def ml_message_id_hash(self) -> str:
|
||||
"""Return the X-Message-ID-Hash that is used in the mailing list archive."""
|
||||
# X-Message-ID-Hash is a base32 encoded SHA1 hash
|
||||
msgid = f"pkg-request-{str(self.ID)}@aur.archlinux.org"
|
||||
sha1 = hashlib.sha1(msgid.encode()).digest()
|
||||
|
||||
return base64.b32encode(sha1).decode()
|
||||
|
||||
def ml_message_url(self) -> str:
|
||||
"""Return the mailing list URL for the request."""
|
||||
url = config.get("options", "ml_thread_url") % (self.ml_message_id_hash())
|
||||
return url
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue