lists.wikimedia.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
List overview
Download
Pywikibot-commits
October 2022
----- 2024 -----
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
pywikibot-commits@lists.wikimedia.org
1 participants
95 discussions
Start a n
N
ew thread
[Gerrit] ...core[master]: [tests] Adjust hacking dependency
by Xqt (Code Review)
Xqt has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/837218
) Change subject: [tests] Adjust hacking dependency ...................................................................... [tests] Adjust hacking dependency Change-Id: Ie6a44eed204c232892c6f92460c31c7b0befdfdd --- M setup.py 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: jenkins-bot: Verified Xqt: Verified; Looks good to me, approved diff --git a/setup.py b/setup.py index 87efff2..192de71 100755 --- a/setup.py +++ b/setup.py @@ -90,7 +90,12 @@ 'pep8-naming>=0.12.1, <0.13.0; python_version < "3.7"', 'pep8-naming>=0.12.1; python_version >= "3.7"', ], - 'hacking': ['hacking'], + 'hacking': [ + 'hacking', + # importlib-metadata module already installed with hacking 4.1.0 + # but importlib-metadata 5.0.0 fails, so adjust it + 'importlib-metadata!=5.0.0', + ], } -- To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/837218
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: Ie6a44eed204c232892c6f92460c31c7b0befdfdd Gerrit-Change-Number: 837218 Gerrit-PatchSet: 2 Gerrit-Owner: Xqt <info(a)gno.de> Gerrit-Reviewer: Xqt <info(a)gno.de> Gerrit-Reviewer: jenkins-bot Gerrit-MessageType: merged
1 year, 7 months
1
0
0
0
[Gerrit] ...core[master]: [IMPR]: add PreloadingGenerator to __all__
by jenkins-bot (Code Review)
jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/837208
) Change subject: [IMPR]: add PreloadingGenerator to __all__ ...................................................................... [IMPR]: add PreloadingGenerator to __all__ Fix also isort warnings. Change-Id: Iab8756d7c87104ce94a4a9d5e9c1ef15ce6b73fd --- M pywikibot/pagegenerators/__init__.py 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified diff --git a/pywikibot/pagegenerators/__init__.py b/pywikibot/pagegenerators/__init__.py index ef08476..fa30b7d 100644 --- a/pywikibot/pagegenerators/__init__.py +++ b/pywikibot/pagegenerators/__init__.py @@ -56,7 +56,6 @@ MySQLPageGenerator, NewimagesPageGenerator, NewpagesPageGenerator, - page_with_property_generator, PagesFromPageidGenerator, PagesFromTitlesGenerator, PetScanPageGenerator, @@ -85,9 +84,11 @@ XMLDumpOldPageGenerator, XMLDumpPageGenerator, YearPageGenerator, + page_with_property_generator, ) from pywikibot.tools.collections import DequeGenerator + __all__ = ( 'GeneratorFactory', @@ -128,6 +129,7 @@ 'PagesFromTitlesGenerator', 'PetScanPageGenerator', 'PrefixingPageGenerator', + 'PreloadingGenerator', 'RandomPageGenerator', 'RandomRedirectPageGenerator', 'RecentChangesPageGenerator', -- To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/837208
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: Iab8756d7c87104ce94a4a9d5e9c1ef15ce6b73fd Gerrit-Change-Number: 837208 Gerrit-PatchSet: 1 Gerrit-Owner: Mpaa <mpaa.wiki(a)gmail.com> Gerrit-Reviewer: Xqt <info(a)gno.de> Gerrit-Reviewer: jenkins-bot Gerrit-MessageType: merged
1 year, 7 months
1
0
0
0
[Gerrit] ...core[master]: [IMPR]: pagefromfile.py: compute regex only once
by jenkins-bot (Code Review)
jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/837207
) Change subject: [IMPR]: pagefromfile.py: compute regex only once ...................................................................... [IMPR]: pagefromfile.py: compute regex only once Do not compute regexes for each page. Change-Id: If97d7ce2a52572066909474f75ac4cb6e576811a --- M scripts/pagefromfile.py 1 file changed, 22 insertions(+), 15 deletions(-) Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified diff --git a/scripts/pagefromfile.py b/scripts/pagefromfile.py index 8705099..6b506f8 100755 --- a/scripts/pagefromfile.py +++ b/scripts/pagefromfile.py @@ -195,10 +195,26 @@ super().__init__(**kwargs) self.filename = filename self.site = site or pywikibot.Site() + self.page_regex, self.title_regex = self._make_regexes() + + def _make_regexes(self): + """Make regex from options.""" + if self.opt.textonly: + pattern = '^(.*)$' + else: + pattern = (re.escape(self.opt.begin) + '(.*?)' + + re.escape(self.opt.end)) + page_regex = re.compile(pattern, re.DOTALL) + title_regex = re.compile( + re.escape(self.opt.titlestart) + '(.*?)' + + re.escape(self.opt.titleend)) + return page_regex, title_regex @property def generator(self) -> Iterator[pywikibot.Page]: - """Read file and yield a tuple of page title and content. + """Read file and yield a page with content from file. + + content is stored as a page attribute defined by CTX_ATTR. .. versionchanged:: 7.6 changed from iterator method to generator property @@ -216,7 +232,7 @@ length = 0 while text: try: - length, title, contents = self.findpage(text) + length, title, contents = self.find_page(text) except TypeError: if not length: pywikibot.info('\nStart or end marker not found.') @@ -233,18 +249,9 @@ yield page text = text[length:] - def findpage(self, text) -> Tuple[int, str, str]: + def find_page(self, text) -> Tuple[int, str, str]: """Find page to work on.""" - if self.opt.textonly: - pattern = '^(.*)$' - else: - pattern = (re.escape(self.opt.begin) + '(.*?)' - + re.escape(self.opt.end)) - page_regex = re.compile(pattern, re.DOTALL) - title_regex = re.compile( - re.escape(self.opt.titlestart) + '(.*?)' - + re.escape(self.opt.titleend)) - location = page_regex.search(text) + location = self.page_regex.search(text) if self.opt.include: contents = location[0] else: @@ -253,10 +260,10 @@ title = self.opt.title if not title: try: - title = title_regex.search(contents)[1] + title = self.title_regex.search(contents)[1] if self.opt.notitle: # Remove title (to allow creation of redirects) - contents = title_regex.sub('', contents, count=1) + contents = self.title_regex.sub('', contents, count=1) except TypeError: raise NoTitleError(location.end()) -- To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/837207
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: If97d7ce2a52572066909474f75ac4cb6e576811a Gerrit-Change-Number: 837207 Gerrit-PatchSet: 1 Gerrit-Owner: Mpaa <mpaa.wiki(a)gmail.com> Gerrit-Reviewer: D3r1ck01 <xsavitar.wiki(a)aol.com> Gerrit-Reviewer: Xqt <info(a)gno.de> Gerrit-Reviewer: jenkins-bot Gerrit-MessageType: merged
1 year, 7 months
1
0
0
0
[Gerrit] ...core[master]: [bugfix]: Catch TypeError instead of AttributeError
by jenkins-bot (Code Review)
jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/837203
) Change subject: [bugfix]: Catch TypeError instead of AttributeError ...................................................................... [bugfix]: Catch TypeError instead of AttributeError Catch the correct exception when match object is None. Regression after I2e3e4073d317eb23b7ba040642e82edfbe471cdd Bug: T319132 Change-Id: I02e8358ee4694f90dc0d1400fbca93e92829b4d5 --- M scripts/pagefromfile.py 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified diff --git a/scripts/pagefromfile.py b/scripts/pagefromfile.py index 4a564d5..8705099 100755 --- a/scripts/pagefromfile.py +++ b/scripts/pagefromfile.py @@ -217,7 +217,7 @@ while text: try: length, title, contents = self.findpage(text) - except AttributeError: + except TypeError: if not length: pywikibot.info('\nStart or end marker not found.') else: @@ -246,7 +246,7 @@ + re.escape(self.opt.titleend)) location = page_regex.search(text) if self.opt.include: - contents = location.group() + contents = location[0] else: contents = location[1] @@ -257,7 +257,7 @@ if self.opt.notitle: # Remove title (to allow creation of redirects) contents = title_regex.sub('', contents, count=1) - except AttributeError: + except TypeError: raise NoTitleError(location.end()) return location.end(), title, contents -- To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/837203
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: I02e8358ee4694f90dc0d1400fbca93e92829b4d5 Gerrit-Change-Number: 837203 Gerrit-PatchSet: 1 Gerrit-Owner: Mpaa <mpaa.wiki(a)gmail.com> Gerrit-Reviewer: D3r1ck01 <xsavitar.wiki(a)aol.com> Gerrit-Reviewer: Xqt <info(a)gno.de> Gerrit-Reviewer: jenkins-bot Gerrit-MessageType: merged
1 year, 7 months
1
0
0
0
[Gerrit] ...core[master]: [tests] Add make_dist_tests.py to the framework
by Xqt (Code Review)
Xqt has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/832746
) Change subject: [tests] Add make_dist_tests.py to the framework ...................................................................... [tests] Add make_dist_tests.py to the framework Change-Id: I6d61fd113b77e039ed5ee17cee7c6991cd7f82f2 --- M .codecov.yml M docs/tests_ref/index.rst A docs/tests_ref/make_dist_tests.rst M make_dist.py M tests/__init__.py A tests/make_dist_tests.py M tox.ini 7 files changed, 74 insertions(+), 7 deletions(-) Approvals: jenkins-bot: Verified Xqt: Verified; Looks good to me, approved diff --git a/.codecov.yml b/.codecov.yml index af8ecaf..22f8396 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -18,7 +18,6 @@ enabled: yes ignore: - - make_dist.py - pywikibot/backports.py - pywikibot/daemonize.py - pywikibot/families/__init__.py diff --git a/docs/tests_ref/index.rst b/docs/tests_ref/index.rst index 9f92532..c1eac79 100644 --- a/docs/tests_ref/index.rst +++ b/docs/tests_ref/index.rst @@ -106,6 +106,7 @@ generate_user_files<./generate_user_files_tests> harvest_template<./harvest_template_tests> interwikidata<./interwikidata_tests> + make_dist<./make_dist_tests> noreferences<./noreferences_tests> patrolbot<./patrolbot_tests> protectbot<./protectbot_tests> diff --git a/docs/tests_ref/make_dist_tests.rst b/docs/tests_ref/make_dist_tests.rst new file mode 100644 index 0000000..1cff28c --- /dev/null +++ b/docs/tests_ref/make_dist_tests.rst @@ -0,0 +1,7 @@ +tests.make\_dist\_tests module +============================== + +.. automodule:: tests.make_dist_tests + :members: + :undoc-members: + :show-inheritance: diff --git a/make_dist.py b/make_dist.py index 5b8af77..116e656 100644 --- a/make_dist.py +++ b/make_dist.py @@ -51,7 +51,7 @@ import setup -def clear_old_dist() -> None: +def clear_old_dist() -> None: # pragma: no cover """Delete old dist folders. .. versionadded:: 7.5 @@ -64,7 +64,7 @@ info('done') -def copy_files() -> None: +def copy_files() -> None: # pragma: no cover """Copy code entry point and i18n files to pywikibot.scripts folder. pwb.py wrapper script is a console script entry point for the @@ -92,7 +92,7 @@ info('done') -def cleanup() -> None: +def cleanup() -> None: # pragma: no cover """Remove all files which were copied to the pywikibot scripts folder.""" info('Remove copied files... ', newline=False) folder = Path().resolve() @@ -103,7 +103,7 @@ info('done') -def handle_args() -> Tuple[bool, bool]: +def handle_args() -> Tuple[bool, bool, bool, bool, bool]: """Handle arguments and print documentation if requested. Read arguments from `sys.argv` and adjust it passing `sdist` to @@ -134,7 +134,7 @@ return local, remote, clear, upgrade, nodist -def main() -> None: +def main() -> None: # pragma: no cover """Script entry point.""" local, remote, clear, upgrade, nodist = handle_args() @@ -167,5 +167,5 @@ check_call('twine upload dist/*', shell=True) -if __name__ == '__main__': +if __name__ == '__main__': # pragma: no cover main() diff --git a/tests/__init__.py b/tests/__init__.py index 87b0452..987ba55 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -153,6 +153,7 @@ 'harvest_template', 'interwikidata', 'l10n', + 'make_dist', 'patrolbot', 'protectbot', 'pwb', diff --git a/tests/make_dist_tests.py b/tests/make_dist_tests.py new file mode 100644 index 0000000..430cb9d --- /dev/null +++ b/tests/make_dist_tests.py @@ -0,0 +1,58 @@ +#!/usr/bin/python3 +"""Tests for fixes module.""" +# +# (C) Pywikibot team, 2022 +# +# Distributed under the terms of the MIT license. +# +import os +import sys +import unittest + +from pywikibot import __version__ +from make_dist import handle_args + +from tests.aspects import TestCase + + +class TestMakeDist(TestCase): + + """Test the make_dist script.""" + + net = False + + def _test_argv(self): + """Test argv.""" + if os.environ.get('PYWIKIBOT_TEST_RUNNING', '0') != '1': + self.assertEqual(__file__, sys.argv[0]) + self.assertIn('sdist', sys.argv) + self.assertIn('bdist_wheel', sys.argv) + + def test_handle_args_empty(self): + """Test make_dist handle_args function.""" + args = handle_args() + self.assertEqual(args, (False, ) * 5) + self._test_argv() + + def test_handle_args_nodist(self): + """Test make_dist handle_args function.""" + sys.argv += ['-local', '-nodist', '-remote'] + *args, nodist = handle_args() + self.assertEqual(args, [False] * 4) + self.assertTrue(nodist) + self._test_argv() + + def test_handle_args(self): + """Test make_dist handle_args function.""" + sys.argv += ['-clear', '-local', '-remote', '-upgrade'] + local, remote, clear, upgrade, nodist = handle_args() + self.assertTrue(local) + self.assertEqual(remote, 'dev' not in __version__) + self.assertTrue(clear) + self.assertTrue(upgrade) + self.assertFalse(nodist) + self._test_argv() + + +if __name__ == '__main__': # pragma: no cover + unittest.main() diff --git a/tox.ini b/tox.ini index bd09bf3..f852f3e 100644 --- a/tox.ini +++ b/tox.ini @@ -21,6 +21,7 @@ setenv = VIRTUAL_ENV={envdir} PYWIKIBOT_NO_USER_CONFIG=2 + PYWIKIBOT_TEST_RUNNING=1 usedevelop = True commands = flake8: flake8 --version -- To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/832746
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: I6d61fd113b77e039ed5ee17cee7c6991cd7f82f2 Gerrit-Change-Number: 832746 Gerrit-PatchSet: 7 Gerrit-Owner: Xqt <info(a)gno.de> Gerrit-Reviewer: Xqt <info(a)gno.de> Gerrit-Reviewer: jenkins-bot Gerrit-MessageType: merged
1 year, 7 months
1
0
0
0
← Newer
1
2
3
4
5
6
7
8
9
10
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
Results per page:
10
25
50
100
200