74 lines
1.8 KiB
Markdown
74 lines
1.8 KiB
Markdown
|
# puffpan
|
||
|
|
||
|
puffpan is a small Python module for interacting with a Pufferpanel daemon.
|
||
|
|
||
|
Made this in my spare time because I needed it.
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
### Prerequisites
|
||
|
|
||
|
First make sure you have Pufferpanel set up, and a deploy a server you intend to interact with it.
|
||
|
Create an OAuth2 application for this server. Like it says, **write down the secret key in a safe place. It is only ever displayed once.**
|
||
|
|
||
|
Now you have Pufferpanel, a server, it's server ID (randomly generated 8 character string, usually displayed in the URL in the browser), client ID and secret ID.
|
||
|
|
||
|
Make sure you have the requests and json modules available.
|
||
|
|
||
|
### Using in your code
|
||
|
|
||
|
Place the puffpan file next to the code you want to use it with. Import the module:
|
||
|
|
||
|
```python
|
||
|
import puffpan
|
||
|
|
||
|
...
|
||
|
```
|
||
|
|
||
|
Now you are ready to create a puffpan!
|
||
|
Using the information you gathered before, create an object:
|
||
|
|
||
|
```python
|
||
|
server = puffpan.Panel('your-server-url', 'your-client-id', 'your-secret-key', 'your-server-id')
|
||
|
```
|
||
|
|
||
|
Or, alternatively, if you want to use a client that has access to multiple servers at once:
|
||
|
|
||
|
```python
|
||
|
admin = puffpan.Panel('your-server-url', 'your-client-id', 'your-secret-key')
|
||
|
```
|
||
|
|
||
|
Keep in mind that with this method, you will have to specify the server ID for most commands. Instead of
|
||
|
|
||
|
```python
|
||
|
admin.stop()
|
||
|
```
|
||
|
you must now type
|
||
|
```python
|
||
|
admin.stop(serverID = 'a1b2c3d4')
|
||
|
```
|
||
|
|
||
|
Now you can run various methods that return useful information about your server, or interact with it.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
```python
|
||
|
server.logs()
|
||
|
# Returns logs as a string
|
||
|
|
||
|
server.stats()
|
||
|
# {'cpu_usage': 5, 'ram_usage': 135.50}
|
||
|
|
||
|
server.status()
|
||
|
# True
|
||
|
# (Returns True if running, False if not)
|
||
|
|
||
|
server.stop()
|
||
|
# 204
|
||
|
|
||
|
server.edit_data(key = 'server-name', value = 'new and better name!')
|
||
|
# 204
|
||
|
```
|
||
|
|
||
|
Most of the `/daemon` endpoints specified in the Pufferpanel API docs are available for use through this module.
|