dropship/README.md

56 lines
1.6 KiB
Markdown
Raw Normal View History

2020-07-21 14:48:34 +02:00
# dropship
2020-07-24 01:36:16 +02:00
[![Build Status](https://travis-ci.org/decentral1se/dropship.svg?branch=main)](https://travis-ci.org/decentral1se/dropship)
2020-07-24 01:13:08 +02:00
2020-09-15 11:58:48 +02:00
Lets try magic wormhole with a nice graphical interface.
2020-07-21 14:48:34 +02:00
2020-07-24 10:29:01 +02:00
![Screen cast of dropship interface](https://vvvvvvaria.org/~r/dropship0.1.gif)
2020-07-24 01:13:08 +02:00
_(click for video)_
2020-07-21 14:48:34 +02:00
## what is what:
2020-09-15 12:00:11 +02:00
- `dropship.py`, run this with python3.
- `dropship.glade`, UI file, edit with glade.
- `dropship.css`, additional styling for UI.
2020-07-21 14:48:34 +02:00
2020-07-21 14:58:21 +02:00
## install:
2020-07-21 14:48:34 +02:00
2020-07-21 14:58:21 +02:00
`sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0`
`pip install -r requirments.txt`
## run:
`python3 dropship.py`
2020-07-24 10:51:39 +02:00
2020-09-20 16:33:53 +02:00
## development notes:
### How we handle asynchronous actions
2020-09-21 00:19:28 +02:00
We use [trio-gtk](https://github.com/decentral1se/trio-gtk). In practice, this means you need to arrange the following:
2020-09-20 16:33:53 +02:00
1. Wire up your usual hook (`self.drop_box.connect("drag-data-received", self.on_drop)`)
2. In your hook function, call your asynchronous function via the `self.nursery.start_soon` API
3. Define your asynchronous function with `async def` and use the `await` keyword as usual
2020-07-24 10:51:39 +02:00
## operations:
### github mirror:
Add the following to the bottom of your `.git/config`.
```
[remote "all"]
2020-07-24 10:55:37 +02:00
url = ssh://gitea@vvvvvvaria.org:12345/rra/dropship.git
url = git@github.com:decentral1se/dropship.git
2020-07-24 10:51:39 +02:00
```
The `git push -u all main` will setup `git push` to automatically push to both remotes.
### make a release:
`git tag 0.0.1dev$whatever && git push`
The [Travis CI configuration](https://git.vvvvvvaria.org/rra/dropship/src/branch/main/.travis.yml) will run [a build](https://travis-ci.org/github/decentral1se/dropship) and [publish binaries here](https://github.com/decentral1se/dropship/releases).