jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/904911 )
Change subject: [IMPR] Add NoSiteLinkError for missing sitelinks
......................................................................
[IMPR] Add NoSiteLinkError for missing sitelinks
- Raise NoSiteLinkError instead of NoPageError when sitelink
is missing
- NoSiteLinkError derives from NoPageError for back-compat
Bug: T332341
Change-Id: Ied7796fdca1216064726d9049901ccb1f7b646cf
---
M pywikibot/exceptions.py
M pywikibot/page/_wikibase.py
2 files changed, 35 insertions(+), 3 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/exceptions.py b/pywikibot/exceptions.py
index 36da84e..9cd518a 100644
--- a/pywikibot/exceptions.py
+++ b/pywikibot/exceptions.py
@@ -26,6 +26,7 @@
| +-- PageLoadRelatedError
| | +-- InconsistentTitleError
| | +-- InvalidPageError
+ | | +-- NoSiteLinkError
| +-- PageSaveRelatedError
| | +-- EditConflictError
| | | +-- ArticleExistsConflictError
@@ -106,6 +107,7 @@
PageLoadRelatedError: any exception which happens while loading a Page.
- InconsistentTitleError: Page receives a title inconsistent with query
+ - NoSiteLinkError: ItemPage has no sitelink to given language
PageSaveRelatedError: page exceptions within the save operation on a Page
@@ -396,6 +398,21 @@
super().__init__(page)
+class NoSiteLinkError(PageLoadRelatedError, NoPageError):
+
+ """ItemPage has no sitelink to the given language."""
+
+ def __init__(self, page: 'pywikibot.page.ItemPage', lang: str) -> None:
+ """Initializer.
+
+ :param page: ItemPage that caused the exception
+ :param lang: language code of the queried sitelink
+
+ """
+ self.message = f'Item {{}} has no sitelink to language {lang!r}'
+ super().__init__(page)
+
+
class SiteDefinitionError(Error):
"""Site does not exist."""
diff --git a/pywikibot/page/_wikibase.py b/pywikibot/page/_wikibase.py
index 3ce4424..d904039 100644
--- a/pywikibot/page/_wikibase.py
+++ b/pywikibot/page/_wikibase.py
@@ -31,6 +31,7 @@
IsNotRedirectPageError,
IsRedirectPageError,
NoPageError,
+ NoSiteLinkError,
NoWikibaseEntityError,
WikiBaseError,
)
@@ -1078,7 +1079,7 @@
"""
Return the title for the specific site.
- If the item doesn't have that language, raise NoPageError.
+ If the item doesn't have that language, raise NoSiteLinkError.
:param site: Site to find the linked page of.
:type site: pywikibot.Site or database name
@@ -1086,13 +1087,13 @@
:param get_redirect: return the item content, do not follow the
redirect, do not raise an exception.
:raise IsRedirectPageError: instance is a redirect page
- :raise NoPageError: site is not in :attr:`sitelinks`
+ :raise NoSiteLinkError: site is not in :attr:`sitelinks`
"""
if force or not hasattr(self, '_content'):
self.get(force=force)
if site not in self.sitelinks:
- raise NoPageError(self)
+ raise NoSiteLinkError(self, site.lang)
return self.sitelinks[site].canonical_title()
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/904911
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ied7796fdca1216064726d9049901ccb1f7b646cf
Gerrit-Change-Number: 904911
Gerrit-PatchSet: 3
Gerrit-Owner: Ammarpad <ammarpad(a)yahoo.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/905206 )
Change subject: [IMPR] Simplify loop in redirect.py
......................................................................
[IMPR] Simplify loop in redirect.py
Change-Id: I520bbe3aa7ef4f7317c5051e0ff4b5c6f109dec3
---
M scripts/redirect.py
1 file changed, 11 insertions(+), 2 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/scripts/redirect.py b/scripts/redirect.py
index f27ba28..b3089e9 100755
--- a/scripts/redirect.py
+++ b/scripts/redirect.py
@@ -275,8 +275,8 @@
for pagetitle in data['query']['pages'].values():
pages[pagetitle['title']] = \
'missing' not in pagetitle or 'pageid' in pagetitle
- for redirect in redirects:
- target = redirects[redirect]
+
+ for redirect, target in redirects.items():
result = None
final = None
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/905206
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I520bbe3aa7ef4f7317c5051e0ff4b5c6f109dec3
Gerrit-Change-Number: 905206
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/905187 )
Change subject: [doc] Add PNG logo for OpenGraph
......................................................................
[doc] Add PNG logo for OpenGraph
OpenGraph extension uses html_logo to generate previews
by default but it does not support SVG. Adding a PNG
version to use for social cards.
Bug: T333796
Change-Id: I4f85e5c2a8ae62f95f0671664758bc87dca29e82
---
A docs/_static/Pywikibot_MW_gear_icon.png
M docs/conf.py
2 files changed, 21 insertions(+), 0 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/docs/_static/Pywikibot_MW_gear_icon.png b/docs/_static/Pywikibot_MW_gear_icon.png
new file mode 100644
index 0000000..c4292b2
--- /dev/null
+++ b/docs/_static/Pywikibot_MW_gear_icon.png
Binary files differ
diff --git a/docs/conf.py b/docs/conf.py
index 1a167d7..d1fb603 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -175,6 +175,13 @@
#
html_logo = '_static/Pywikibot_MW_gear_icon.svg'
+# Use a PNG version of the logo in OpenGraph social cards
+# (needed because SVG is not supported)
+
+ogp_social_cards = {
+ 'image': '_static/Pywikibot_MW_gear_icon.png',
+}
+
# The name of an image file (relative to this directory) to use as a favicon of
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/905187
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I4f85e5c2a8ae62f95f0671664758bc87dca29e82
Gerrit-Change-Number: 905187
Gerrit-PatchSet: 2
Gerrit-Owner: KBach <kbach(a)wikimedia.org>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged