Lägg till dokumentation i enlighet med `pydocstyle`.

master
Jonas Olson 5 years ago
parent 388a08ea4b
commit 26e336b796

@ -1,5 +1,9 @@
#!/usr/bin/env python3
"""
Detta är ELAB:s Slack-app.
Den har för närvarande i uppgift att göra "affiliate links" av Banggood-länkar.
"""
# Detta skript ska sitta bakom HTTPS och lyssna på anrop från Slack. (Kör
# "ngrok http 8000" för att få en tillfällig proxy för testning.) Lägg till
# "/slack/events" till den resulterande HTTPS-URL:en och använd som Request URL
@ -17,6 +21,7 @@ import locale
def make_affiliate(url):
"""Tar en Banggood-URL och gör den till ELAB:s."""
u = furl(url)
# Lägg in ELABs ID. Egentligen vill vi skriva över endast parametern `p`,
# men för att komma runt en bugg med &-tecken rensar vi tills vidare bort
@ -29,6 +34,7 @@ def make_affiliate(url):
def unfurl(url):
"""Skapar en presentation (rubrik, bild osv.) av en länk."""
# Ett semikolon hos Banggood kraschar extruct och måste plockas
# bort. <https://github.com/scrapinghub/extruct/issues/109>
page = requests.get(url).text.replace('};', '}')
@ -84,6 +90,7 @@ slack_client = SlackClient(token)
# Prenumerera på eventet `link_shared`.
@slack_events_adapter.on('link_shared')
def link_shared(event_data):
"""Anropas när någon har postat en länk i Slack."""
urls = [link['url'] for link in event_data['event']['links']]
unfurls = json.dumps({url: unfurl(make_affiliate(url))
for url in urls})

@ -3,4 +3,4 @@
DIR="$(readlink -f "${BASH_SOURCE%/*}")"
cd "${DIR}"
flake8 .
flake8 && pydocstyle

Loading…
Cancel
Save