waifuVault Python API module
Project description
waifuvault-python-api
This contains the official API bindings for uploading, deleting and obtaining files with waifuvault.moe. Contains a full up to date API for interacting with the service
Installation
pip install waifuvault
Usage
This API contains 4 interactions:
The package is namespaced to waifuvault
, so to import it, simply:
import waifuvault
Upload File
To Upload a file, use the upload_file
function. This function takes the following options as an object:
Option | Type | Description | Required | Extra info |
---|---|---|---|---|
target |
string or buffer |
The target to upload can be a buffer, URL or filename | true | URL or file path |
target_name |
string |
The filename of the target if it is a buffer | true if buffer | Filename with extension |
expires |
string |
A string containing a number and a unit (1d = 1day) | false | Valid units are m , h and d |
hideFilename |
boolean |
If true, then the uploaded filename won't appear in the URL | false | Defaults to false |
password |
string |
If set, then the uploaded file will be encrypted | false |
Using a URL:
import waifuvault
upload_file = waifuvault.FileUpload("https://waifuvault.moe/assets/custom/images/08.png")
upload_res = waifuvault.upload_file(upload_file)
print(f"{upload_res.url}")
Using a file path:
import waifuvault
upload_file = waifuvault.FileUpload("./files/aCoolFile.png")
upload_res = waifuvault.upload_file(upload_file)
print(f"{upload_res.url}")
Using a buffer:
import waifuvault
import io
with open("./files/aCoolFile.png", "rb") as fh:
buf = io.BytesIO(fh.read())
upload_file = waifuvault.FileUpload(buf, "aCoolFile.png")
upload_res = waifuvault.upload_file(upload_file)
print(f"{upload_res.url}")
Get File Info
If you have a token from your upload. Then you can get file info. This results in the following info:
- token
- url
- protected
- retentionPeriod
Use the file_info
function. This function takes the following options as parameters:
Option | Type | Description | Required | Extra info |
---|---|---|---|---|
token |
string |
The token of the upload | true | |
formatted |
boolean |
If you want the retentionPeriod to be human-readable or an epoch |
false | defaults to false |
import waifuvault
upload_info = waifuvault.file_info(your_token,False)
print(upload_info.retentionPeriod)
print(upload_info.url)
Human-readable timestamp:
import waifuvault
upload_info = waifuvault.file_info(your_token,True)
print(upload_info.retentionPeriod)
print(upload_info.url)
Delete File
To delete a file, you must supply your token to the delete_file
function.
This function takes the following options as parameters:
Option | Type | Description | Required | Extra info |
---|---|---|---|---|
token |
string |
The token of the file you wish to delete | true |
NOTE:
delete_file
will only ever either returntrue
or throw an exception if the token is invalid
import waifuvault
del_file = waifuvault.delete_file(your_token)
print(del_file)
Get File
This lib also supports obtaining a file from the API as a Buffer by supplying either the token or the unique identifier of the file (epoch/filename).
Use the get_file
function. This function takes the following options an object:
Option | Type | Description | Required | Extra info |
---|---|---|---|---|
token |
string |
The token of the file you want to download | true only if filename is not set |
if filename is set, then this can not be used |
url |
string |
The URL of the file | true only if token is not set |
if token is set, then this can not be used |
password |
string |
The password for the file | true if file is encrypted | Passed as a parameter on the function call |
Important! The Unique identifier filename is the epoch/filename only if the file uploaded did not have a hidden filename, if it did, then it's just the epoch. For example:
1710111505084/08.png
is the Unique identifier for a standard upload of a file called08.png
, if this was uploaded with hidden filename, then it would be1710111505084.png
Obtain an encrypted file
import waifuvault
upload_enc_res = FileResponse(your_token,None,False,None)
file_enc_down = waifuvault.get_file(upload_enc_res,"your_password")
print(file_enc_down.__sizeof__())
Obtain a file from URL
import waifuvault
upload_enc_res = FileResponse(None,your_url,False,None)
file_enc_down = waifuvault.get_file(upload_enc_res,"your_password")
print(file_enc_down.__sizeof__())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file waifuvault-1.1.8.tar.gz
.
File metadata
- Download URL: waifuvault-1.1.8.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51bf835079e8b51fe39c7acaf318c85a7edb03b80f826d8d1dfbfdec32110564 |
|
MD5 | 035fa24c4f6d25c4821f0780364c84fe |
|
BLAKE2b-256 | d2f4ccec24c2f19fe75b9559d37346463a6f4c0b50731d05e04ae03c6e78b03d |
File details
Details for the file waifuvault-1.1.8-py3-none-any.whl
.
File metadata
- Download URL: waifuvault-1.1.8-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3198257dba768463a7bfc1251d861f396953a6ece54361874f5ca1dcb8e86eb |
|
MD5 | 526ef4caf842d3f6d14397a5c742da86 |
|
BLAKE2b-256 | fdcd2db1006d212a3890314a8615c659dcb0a79cad5c09cb30a4271aebde40c7 |