-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from ukwhatn/develop
Release 3.0.0a11
- Loading branch information
Showing
4 changed files
with
65 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,5 +3,6 @@ build: | |
|
||
release: | ||
python -m twine upload dist/* | ||
rm -rf dist | ||
|
||
PHONY: build release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,64 @@ | ||
# wikidot.py - A Python library for making requests to the Wikidot sites. | ||
|
||
## Installation | ||
```bash | ||
pip install wikidot | ||
``` | ||
|
||
## Usage | ||
> [!NOTE] | ||
> You can use this library without logging in, but you can only use the features that do not require logging in. | ||
```python | ||
import wikidot | ||
|
||
# Create a new Client class and logging in with the credentials of your wikidot account | ||
# If you don't want to log in : with wikidot.Client() as client: | ||
with wikidot.Client(username='input-your-name', password='input-your-password') as client: | ||
# ------ | ||
# user features | ||
# ------ | ||
# Get the user object of the user | ||
user = client.user.get('input-a-username') | ||
# Bulk execution by asynchronous request | ||
users = client.user.get_bulk(['input-a-username', 'input-another-username']) | ||
|
||
# ------ | ||
# site features | ||
# ------ | ||
# Get the site object of the SCP Foundation | ||
site = client.site.get('scp-wiki') | ||
|
||
# invite a user to the site | ||
site.invite_user(user) | ||
|
||
# Get all unprocessed applications for the site | ||
applications = site.get_applications() | ||
|
||
# process an application | ||
for application in applications: | ||
application.accept() | ||
# or | ||
application.reject() | ||
|
||
# ------ | ||
# private message features | ||
# ------ | ||
# Get messages in your inbox | ||
received_messages = client.private_message.get_inbox() | ||
|
||
# Get messages in your sent box | ||
sent_messages = client.private_message.get_sentbox() | ||
|
||
# Get message by id | ||
# NOTE: You can only get the message that you have received or sent | ||
message = client.private_message.get(123456) | ||
# Bulk execution by asynchronous request | ||
messages = client.private_message.get_messages([123456, 123457]) | ||
|
||
# Send a message to a user | ||
client.private_message.send( | ||
recipient=user, | ||
subject='Hello', | ||
body='Hello, world!' | ||
) | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
[project] | ||
name = "wikidot" | ||
version = "3.0.0a1" | ||
version = "3.0.0a11" | ||
authors = [{ name = "ukwhatn", email = "[email protected]" }] | ||
description = "Wikidot Utility Library" | ||
readme = "README.md" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from .module.client import Client |