File: //usr/lib/python3/dist-packages/trac/wiki/__pycache__/api.cpython-310.pyc
o
�k�`�O � @ s� d dl Z d dlmZ d dlmZmZ d dlT d dlmZ d dl m
Z
mZ d dlm
Z
d dlmZ d d lmZ G d
d� de�ZG dd
� d
e�ZG dd� de�ZG dd� de�Zddd�Zdd� ZG dd� de�ZdS )� N)�cached)�
BoolOption�
ListOption)�*)�IResourceManager)�is_safe_origin�tag)�
unquote_label)�_)�
WikiParserc @ s@ e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dS )�IWikiChangeListenerz�Components that want to get notified about the creation,
deletion and modification of wiki pages should implement that
interface.
c C � dS )z)Called whenever a new Wiki page is added.N� ��pager r �//usr/lib/python3/dist-packages/trac/wiki/api.py�wiki_page_added% � z#IWikiChangeListener.wiki_page_addedc C r
)z%Called when a page has been modified.Nr )r �version�t�comment�authorr r r �wiki_page_changed( r z%IWikiChangeListener.wiki_page_changedc C r
)z$Called when a page has been deleted.Nr r r r r �wiki_page_deleted+ r z%IWikiChangeListener.wiki_page_deletedc C r
)z1Called when a version of a page has been deleted.Nr r r r r �wiki_page_version_deleted. r z-IWikiChangeListener.wiki_page_version_deletedc C r
)z$Called when a page has been renamed.Nr )r �old_namer r r �wiki_page_renamed1 r z%IWikiChangeListener.wiki_page_renamedc C r
)z-Called when a page comment has been modified.Nr )r �old_commentr r r �wiki_page_comment_modified4 r z.IWikiChangeListener.wiki_page_comment_modifiedN)
�__name__�
__module__�__qualname__�__doc__r r r r r r r r r r r s r c @ � e Zd ZdZdd� Zdd� ZdS )�IWikiPageManipulatorz�Components that need to do specific pre- and post- processing of
wiki page changes have to implement this interface.
Unlike change listeners, a manipulator can reject changes being
committed to the database.
c C r
)aX Validate a wiki page before rendering it.
:param page: is the `WikiPage` being viewed.
:param fields: is a dictionary which contains the wiki `text`
of the page, initially identical to `page.text` but it can
eventually be transformed in place before being used as
input to the formatter.
Nr )�reqr �fieldsr r r �prepare_wiki_page@ r z&IWikiPageManipulator.prepare_wiki_pagec C r
)ap Validate a wiki page after it's been populated from user input.
:param page: is the `WikiPage` being edited.
:return: a list of `(field, message)` tuples, one for each
problem detected. `field` can be `None` to indicate an
overall problem with the page. Therefore, a return value of
`[]` means everything is OK.
Nr )r% r r r r �validate_wiki_pageK r z'IWikiPageManipulator.validate_wiki_pageN)r r r! r"