After upgrading to MW 1.40, trying to login via "python pwb.py login" ends
up in an error message:
writeapidenied, you're not allowed to edit this Wiki through the API
I'm logging in using Bot Passwords. LocalSettings.php has writeapi group
right enabled for bot users. Previously, this has worked. What am I doing
wrong? Should I use OAuth to gain editing rights?
Hi Pywikibot people,
As you might know, the Toolforge admins are planning to deprecate the Grid
Engine <https://wikitech.wikimedia.org/wiki/Obsolete:Toolforge/Grid> and
replace it with Kubernetes
<https://wikitech.wikimedia.org/wiki/Help:Toolforge/Kubernetes>.
Previously, there was a "shared Pywikibot install" maintained via the pywikibot
tool <https://toolsadmin.wikimedia.org/tools/id/pywikibot> that made it
relatively easy to run any scripts included in Pywikibot itself via the
grid engine.
It's not possible to replicate that setup on Kubernetes, but we have come
up with an alternative which is a custom image built using the build service
<https://wikitech.wikimedia.org/wiki/Help:Toolforge/Build_Service> that all
tools can use. The process to build that image essentially involves taking
the Pywikibot git repo and adding some configuration files on top of it
<https://gitlab.wikimedia.org/taavi/pywikibot-script-buildservice/-/commits/…>
(the location of that repository is not final). There's some documentation
on what it will look like to users on Wikitech
<https://wikitech.wikimedia.org/wiki/User:Majavah/Pywikibot>.
I have two questions for you regarding this:
1. Are any of you interested in helping maintain the image? If not, that's
fine, this image will be supported by the Toolforge admins and the Cloud
Services team anyways.
2. Is it fine to use the pywikibot tool account
<https://toolsadmin.wikimedia.org/tools/id/pywikibot> for building the
image? The tool account name is visible in the user-facing image name,
which is why I think it'd be nicer to use that instead of making a new
account for the image build specifically.
thanks,
Taavi
--
Taavi Väänänen (he/him)
Site Reliability Engineer, Cloud Services
Wikimedia Foundation
Hello, I'm trying to run python pwb.py replace -fix:ComboLists
-file:PageList.txt in command prompt.
ComboLists is a new fix I wrote into user_fixes.py that finds a specific
template on the page and replaces its content with more up to date
information
The new information to be added is generated by another script I wrote.
There is no way around it, my template generator must take the page's title
as an input.
So my current solution is for the generator to also iterate through the
exact same page list found in PageList.txt
As long as every page on the list is being edited, everything works fine,
but things break if there is any page on the list that does not require
editing and replace.py skips over it so the two functions will no longer be
working in sync.
I'd like to know if there is any way to directly figure out what page the
replace.py is currently viewing and use it as an input for my script
written in user_fixes.py
Thank you.
Dear Pywikibot developers,
I am a Pywikibot user interested in creating a Conda package for Pywikibot.
With your permission and guidance, I would like to contribute to the
Pywikibot Conda package effort.
A Conda package for Pywikibot would provide several advantages over the
existing pip package. Conda offers better management of dependencies,
allowing for isolated environments and easy installation. It caters to
users who prefer Conda as their package manager and facilitates integration
with Conda-based workflows and tools.
I kindly request your permission to proceed with creating the Conda package
and would greatly appreciate your guidance throughout the process. Once
complete, I will share the package link for your review and feedback.
Thank you for considering my request. I look forward to your response.
Mahfuza
LinkedIn <https://www.linkedin.com/in/mhmohona/> | GIthub
<https://github.com/mhmohona> | Phabricator
<https://phabricator.wikimedia.org/p/Mhmohona/>
Dear Pywikibot Team,
I hope this message finds you well. My name is Adnan, and I'm an aspiring
software developer with a background in teaching and a passion for coding.
I've been honing my skills in Python, Flask, HTML, CSS, JavaScript, and
MySQL, and I recently completed a personal project using Flask.
I'm eager to take my skills to the next level by contributing to open
source projects, particularly Pywikibot, which I find fascinating. Before I
dive in, I wanted to inquire if the Pywikibot maintainers are open to new
contributors, and if there are specific areas or tasks that need attention.
I'm dedicated, willing to learn, and excited about the prospect of
contributing to such a valuable project. If there are any guidelines or
resources you could provide to help me get started, I would greatly
appreciate it.
Thank you for your time and consideration. I look forward to your response.
Best regards,
Adnan
Hi,
I think the email somehow didn't reach wikitech-l and some other mailing
lists (except ambassadors)
Am Mo., 4. Sept. 2023 um 15:46 Uhr schrieb Benoît Evellin (Trizek) <
bevellin(a)wikimedia.org>:
> Hello all,
>
>
> Sorry for cross-posting.
>
> The Technical Decision-Making Forum Retrospective
> <https://www.mediawiki.org/wiki/Technical_decision_making> team invites
> you to join one of our “listening sessions” about the Wikimedia's technical
> decision-making processes.
>
> We are running the listening sessions to provide a venue for people to
> tell us about their experience, thoughts, and needs regarding the process
> of making technical decisions across the Wikimedia technical spaces. This
> complements the survey
> <https://wikimediafoundation.limesurvey.net/885471?lang=en>, which closed
> on August 7.
>
> Who should participate in the listening sessions?
>
> People who do technical work that relies on software maintained by the
> Wikimedia Foundation (WMF) or affiliates. If you contribute code to
> MediaWiki or extensions used by Wikimedia, or you maintain gadgets or tools
> that rely on WMF infrastructure, and you want to tell us more than could be
> expressed through the survey, the listening sessions are for you.
>
> How can I take part in a listening session?
>
> There will be four sessions on two days, to accommodate all time zones.
> The two first sessions are scheduled:
>
> - Wednesday, September 13, 14:00 – 14:50 UTC
> <https://zonestamp.toolforge.org/1694613630>
> - Wednesday, September 13, 20:00 – 20:50 UTC
> <https://zonestamp.toolforge.org/1694635220>
>
>
> The sessions will be held on the Zoom platform.
>
> If you want to participate, please sign up for the one you want to attend:
> <
> https://www.mediawiki.org/wiki/Technical_decision_making/Listening_Sessions>.
> If none of the times work for you, please leave a message on the talk page.
> It will help us schedule the two last sessions.
>
> The sessions will be held in English. If you want to participate but you
> are not comfortable speaking English, please say so when signing up so that
> we can provide interpretation services.
>
> The sessions will be recorded and transcribed so we can later go back and
> extract all relevant information. The recordings and transcripts will not
> be made public, except for anonymized summaries of the outcomes.
>
> What will the Retrospective Team do with the information?
>
> The retrospective team will collect the input provided through the survey,
> the listening sessions and other means, and will publish an anonymized
> summary that will help leadership make decisions about the future of the
> process.
>
> In the listening sessions, we particularly hope to gather information on
> the general needs and perceptions about decision-making in our technical
> spaces. This will help us understand what kind of decisions happen in the
> spaces, who is involved, who is impacted, and how to adjust our processes
> accordingly.
>
> Are the listening sessions the best way to participate?
>
> The primary way for us to gather information about people’s needs and
> wants with respect to technical decision making was the survey
> <https://wikimediafoundation.limesurvey.net/885471?lang=en>. The
> listening sessions are an important addition that provides a venue for free
> form conversations, so we can learn about aspects that do not fit well with
> the structure of the survey.
>
> In addition to the listening sessions and the survey, there are two more
> ways to share your thoughts about technical decision making: You can post
> on the talk page
> <https://www.mediawiki.org/wiki/Talk:Technical_decision_making/Technical_Dec…>,
> or you can send an email to <tdf-retro-2023(a)lists.wikimedia.org>.
>
> Where can I find more information?
>
> There are several places where you can find more information about the
> Technical Decision-Making Process Retrospective:
>
> -
>
> The original announcement about the retrospective from Tajh Taylor:
> https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/…
> -
>
> The Technical Decision-Making Process general information page:
> https://www.mediawiki.org/wiki/Technical_decision_making
> -
>
> The Technical Decision-Making Process Retrospective page:
> https://www.mediawiki.org/wiki/Technical_decision_making/Technical_Decision…
> -
>
> The Phabricator ticket: https://phabricator.wikimedia.org/T333235
>
>
> Who is running the technical decision making retrospective?
>
> The retrospective was initiated by Tajh Taylor. The core group running the
> process consists of Moriel Schottlender (chair), Daniel Kinzler, Chris
> Danis, Kosta Harlan, and Temilola Adeleye. You can contact us at <
> tdf-retro-2023(a)lists.wikimedia.org>.
>
> Thank you for participating!
>
> --
>
> Benoît Evellin - Trizek (he/him)
>
> Community Relations Specialist
> Wikimedia Foundation <https://wikimediafoundation.org/>
>
> _______________________________________________
> Wikitech-ambassadors mailing list --
> wikitech-ambassadors(a)lists.wikimedia.org
> To unsubscribe send an email to
> wikitech-ambassadors-leave(a)lists.wikimedia.org
>
--
Amir (he/him)
I periodically struggle with finding a good way to write unit tests for a pywikibot app. I've come to the conclusion that using unittest.mock to patch calls into pywikibot is just not the way to go. It's certainly hermetic, but the overhead of building tests is so high, it doesn't seem worth it. It's also not really the right level. For sure, I'm testing my own code, which says "unit test", but I'm also testing my understanding of how a real wiki behaves, which says "integration test". I've done some work with making live calls to test.wikipedia.org <http://test.wikipedia.org/>, but I hate relying on external resources.
So, I think the next thing I'm going to try is spinning up a wiki locally and test against that. Unfortunately, my docker-fu is pretty weak, so I'm seeking some advice to avoid going off in the weeds on this.
I already have docker installed on my laptop. I guess now I need to find an appropriate docker image to use. Could somebody point me at that? I'll also need some kind of integration with pytest. I'm looking at pytest-docker <https://pypi.org/project/pytest-docker/>, which seems like the right thing. Does this seem reasonable?