Releases: lahwaacz/wiki-scripts
Releases · lahwaacz/wiki-scripts
Version 1.3
- SQL database:
- Implemented a subset of MediaWiki API querie. Lists:
allpages
,
alldeletedrevisions
,allrevisions
,allusers
,logevents
,
protectedtitles
,recentchanges
; props:categories
,
deletedrevisions
,extlinks
,images
,info
,iwlinks
,
langlinks
,linkshere
,links
,pageprops
,redirects
,
revisions
,sections
,templates
,transcludedin
; including
generator
,titles
andpageids
parameters. See the GitHub
issue for more information:
#35. - Implemented synchronization of revisions contents (either full or just
the latest revision for each page). - Fixed many bugs in the synchronization process.
- Implemented custom parser cache, see the GitHub issue for more
information: #42
- Implemented a subset of MediaWiki API querie. Lists:
- Removed
ws.cache.LatestRevisions
module. Scripts use the SQL
database for caching. - Merged several smaller scripts into
list-problems.py
. - Implemented the
ws.client.api.API.move
method to rename pages on
the wiki. - Implemented recursive template expansion using
mwparserfromhell
and
the SQL database. Seews.parser_helpers.template_expansion
. - Implemented a regex-based function to check if a page is a redirect
(ws.parser_helpers.wikicode.is_redirect
). - Fixed handling of relative links and leading colons in the
ws.parser_helpers.title.Title
class. - The parameter
--ssl-verify
is removed, SSL certificates are always verified
for HTTPS requests. Furthermore, TLS 1.2 or newer is required for all HTTPS
requests. - And much more...
Version 1.2
- Large refactoring:
ws.core
renamed tows.client
, createdws.utils
,ws.statistics
,ws.interlanguage
- Added
ws.client.site
,ws.client.user
andws.client.redirects
modules,ws.client.api.API
has attributes with the appropriate instances for the current wiki. - Improved parsing of page titles - fixed many bugs, extended test suite, added checking of legal characters, handling of namespace aliases.
- Added
ws.autopage
submodule. - Switched from
nose
topytest
for testing. - Added
ws.db
module for the synchronization of a remote wiki into a local PostgreSQL database. See the GitHub issue for more information: #35. This also means multiple new dependencies, see the README file for details. - Transparent automatic conversion of timestamp strings into the Python's
datetime.datetime
objects. As a result, manual calls to thews.utils.parse_date
andws.utils.format_date
functions should not be necessary when working with the API.
Version 1.1
- Fixed handling of
csrftoken
, it is now cached and automatically renewed as
indicated by the server responses. - Partial interlanguage support for
update-package-templates.py
: localized
templates "Broken package link" and "aur-mirror" are respected. - Added the
ws.parser_helpers.title
module for parsing titles into
(iwprefix, namespace, pagename, sectionname)
and easy manipulation with
the parts. - Removed
ws.core.api.API.detect_namespace()
in favour of the new
Title <ws.parser_helpers.title.Title>
parser. - Improved exception logging in
API.edit() <ws.core.api.API.edit>
.
Bothws.core.api.API.edit()
and
ws.interactive.edit_interactive()
now take an additionaltitle
parameter representing the title of the page being edited. - Added support for
WikEdDiff
, an inline-style diff engine with
block move support and splitting optimized for MediaWiki markup.
pygments
is now used only as a fallback. - The
link-checker.py
script has been improved to consider the
DISPLAYTITLE
property of pages and links to sections are checked base on
the sections existing on the target page. - Added
--connection-max-retries
and--connection-timeout
options. - Added
toc.py
script to update the "Table of contents" page on the wiki.
Version 1.0
- Major reorganization of the project structure: common code shared between the
scripts has been moved to thews
module and the original
MediaWiki
module has been renamed tows.core
, some of its
parts were moved directly tows
. - Reorganization of the
ws.parser_helpers
submodule, added
ws.parser_helpers.encodings
. - Expanded documentation, fixed many typos in docstrings.
- Expanded test suite, at least for parts not depending on the MediaWiki API.
- Generalized the
ws.core.connection.Connection
class to handle also
theindex.php
entry point. - Created the
ws.core.lazy.LazyProperty
decorator and made
ws.core.api.API.is_loggedin
,ws.core.api.API.user_rights
andws.core.api.API.namespaces
proper properties. - Started using the
logging
module for messages. - New unified configuration interface for all scripts, using the
ws.config
submodule. SeeConfiguration <configuration>
_ for
details.- Basically all scripts were modified to use the
ws.config
interface. - Default cookie path was changed from
$XDG_CACHE_HOME
to
$XDG_CACHE_HOME/wiki-scripts
. - Some command line arguments were renamed because of global configuration in
a config file.
- Basically all scripts were modified to use the
- Added also
assert=bot
to all bot editing queries. - Fixed bugs:
- formatting of streak timestamps in the
statistic.py
script - namespace prefix parsing in
ws.core.api.API.detect_namespace
- extraction of header elements in case they are nested inside e.g.
<noinclude>
tags - whitespace squashing in the
ws.parser_helpers.wikicode.remove_and_squash
function - query-continuation algorithm (used to fail with generator queries with
multiple values in theprop
query parameter) - JSON serialization of non-str keys
- exception catching for opening cookies
- formatting of streak timestamps in the
- Improved scripts:
statistics.py
(minor bug fixes)update-interlanguage-links.py
(heavy refactoring)check-user-namespace.py
(warn if user pages are categorized)list-redirects-broken-fragments.py
(improved detection of redirects with
broken fragments by comparing dot-encoded fragments)dump.py
(deduplicated againstws.core.connection.Connection
)
- New scripts:
recategorize-over-redirect.py