semvec/pypi-packages huggingface dataset:
cloudos-webdav-server 0.0.0.8
Webdav server for cloudos
Requires Python: >=3.5

<div id="top"></div>

<div align="center">

  <h3 align="center">cloudos-webdav-server</h3>
  <p align="center">
    An easy-to-use webdav server written in python.
</p>
</div>




## About The Project

A webdav server that can be mounted as local drive. It can be accessed from remote client, eg. a javascript client in frontend webpage.
          
### Built With

* [wsgidav](https://github.com/mar10/wsgidav)
* [sqlitedict](https://github.com/RaRe-Technologies/sqlitedict)
* [fire](https://github.com/google/python-fire)
* [pkman](https://gitee.com/peiiii/pkman)


## Getting Started

1. Install this package `pip install cloudos-webdav-server`
2. Run command `cws run --host=127.0.0.1 --port=8004 --root=./ --dc_data_source=./data.db`, 
where dc_data_source is the auto-created sqlite file path for data storage.
3. To visit users' files in browser, open `http://localhost:8004/u1` in your browser, login with default test user (username:`u1`,password:`u1`), this page is for serving files on web page.
4. You can mount user's file storage as local operating system. For example, on windows' file explorer,
you can mount user `u1`'s storage(with url: `http://localhost/u1`,username:`u1`, password:`u1`). Just google it if you don't know how to mount a webdav on your operating system.
5. To add more users: 
   1. Create a new folder inside root path with the username as folder name.
   2. Add access information into the sqlite db file for data storage.
       ```python
       import sqlitedict
       db=sqlitedict.SqliteDict("./data.db")
       db.update({
           "/u1":{
               "u1":{
                   "password":"u1"
               },
               "you-can-add-another-user":{
                   "password":"123"
               }
           },
           "/another-public-realm":True
       })
       ```


### Prerequisites

* python>=3.5

### Installation
```shell
pip install cloudos-webdav-server
```

## Usage
see chapter [Getting Started](#Getting Started)


## Roadmap

- [ ] Add Additional Templates w/ Examples

See the [open issues](https://gitee.com/peiiii/cloudos-webdav-server/issues) for a full list of proposed features (and known issues).

## Contributing


1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## License

MIT License.

## Contact
Wang Pei - 1535376447@qq.com
Project Link: [https://gitee.com/peiiii/cloudos-webdav-server](https://gitee.com/peiiii/cloudos-webdav-server)

## Acknowledgments

Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

* [wsgidav](https://github.com/mar10/wsgidav)
* [fire](https://github.com/google/python-fire)

<p align="right">(<a href="#top">back to top</a>)</p>
EasyPag 0.0.1
A package containing Paginator
Requires Python: >=3.6
Keywords: disnake

# EasyPag
A package containing Paginator

## Getting Started
install the python package to get started by:
```py
pip install EasyPag
```

## Examples
Creating a Paginator without embeds:
```py
paginator = EasyPag.Create(title="EasyPag", segments=["1st message", "2nd messagge"], color=0xFF33A5)
await paginator.start(ctx)

```

Creating a Paginator with embeds
```py
paginator = EasyPag.Create(title="EasyPag", segments=[embed1, embed2], color=0xFF33A5)
await paginator.start(ctx)
```

## Arguments
`title` = The title of the embed (when the segments are `str`) [type:`str`]\
\
`segments` = The pages of the paginator (supports `str` and `disnake.Embed`) [type: `str` or `disnake.Embed`]]\
\
`color` = The color of the embed\
\
`prefix` = The prefix text of every page in the embed (when the segments are `str`) [type: `str`]\
\
`suffix` = The suffix text of every page in the embed (when the segments are `str`) [type:`str`]\
\
`target_page` = The page that the paginator will display when created [type: `int`]\
\
`timeout` = The amount of seconds after the paginator buttons will stop working [type: `int`]\
\
`button_style` = The style of the buttons on the paginator [type: `disnake.ButtonStyle`]\
\
`invalid_user_function` = The function that will be called when another user tries to use the paginator. By default it will show an embed unless any function is specified.[type `function`]
## Useful Links:
**[Discord](https://discord.gg/WWNHXsbdk3)**\
**[MyBot](https://stellabot.xyz/invite.html)**