The Fedora wiki used Fedora's Wikitcms.
Today I test it and works great with Fedora distro version 30.
First, the install of the fedora package with DNF tool:
[root@desk mythcat]# dnf install python3-wikitcms.noarch
...
Downloading Packages:
(1/8): python3-mwclient-0.9.3-3.fc30.noarch.rpm 186 kB/s | 61 kB 00:00
(2/8): python3-fedfind-4.2.5-1.fc30.noarch.rpm 314 kB/s | 105 kB 00:00
(3/8): python3-cached_property-1.5.1-3.fc30.noa 41 kB/s | 20 kB 00:00
(4/8): python3-requests-oauthlib-1.0.0-1.fc29.n 313 kB/s | 40 kB 00:00
(5/8): python3-jwt-1.7.1-2.fc30.noarch.rpm 112 kB/s | 42 kB 00:00
(6/8): python3-oauthlib-2.1.0-1.fc29.noarch.rpm 293 kB/s | 153 kB 00:00
(7/8): python3-simplejson-3.16.0-2.fc30.x86_64. 641 kB/s | 278 kB 00:00
(8/8): python3-wikitcms-2.4.2-2.fc30.noarch.rpm 264 kB/s | 84 kB 00:00
I used this simple example to get information about the Fedora wiki:
[mythcat@desk ~]$ python3
Python 3.7.3 (default, May 11 2019, 00:38:04)
[GCC 9.1.1 20190503 (Red Hat 9.1.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from wikitcms.wiki import Wiki
>>> my_site = Wiki()
>>> event = my_site.current_event
>>> print(event.version)
31 Rawhide 20190704.n.1
>>> page = my_site.get_validation_page('Installation','23','Final','RC10')
>>> for row in page.get_resultrows():
... print(row.testcase)
...
QA:Testcase_Mediakit_Checksums
QA:Testcase_Mediakit_ISO_Size
QA:Testcase_Mediakit_Repoclosure
QA:Testcase_Mediakit_FileConflicts
QA:Testcase_Boot_default_install
...
>>> dir(my_site)
I used this source code to login with my account.
>>> my_site.login()
A webpage is open to get access to the account and show this info:The OpenID Connect client Wiki Test Control Management System is asking to authorize access for mythcat. this allow you to access it
After I agree with this the page tells me to close it:
You can close this window and return to the CLI
The next examples show you how to get and show information from the wiki:
>>> print(my_site.username)
Mythcat
>>> result = my_site.api('query', titles='Mythcat')
>>> for page in result['query']['pages'].values():
... print(page['title'])
...
Mythcat
>>> for my_contributions in my_site.usercontributions('Mythcat'):
... print(my_contributions)
...
This python module comes with low documentation.