5 Commits

Author SHA1 Message Date
adf8f3f1ef Removed id from torrent print 2022-11-28 15:29:30 +01:00
8f2327c065 Feat: Importable package (#10)
* Append package directory to path

* Import all local files prefixed by package name

* Updated readme with -m flag for local development

* Decresed help text width in readme

* Bumped version to 0.3.4
2022-11-27 17:06:03 +01:00
9bfa3c4c59 Bumped package version to 0.3.3 2022-11-26 14:46:12 +01:00
078d422498 CI: PyPi publish to test & by token (#9)
* Publish to pypi test using env variables from secret

* Also publish for this branch

* Uploaded config sig

* Updated incorrect image version declaration

* Enable publish to pypi & test pypi
2022-11-26 14:43:19 +01:00
a6fb543b3f CI: Build and pypi publish (#8)
* Split wheel and tarball dist into separate make cmds

* Add build for amd64 & arm64 arch + start of publish steps

* test step indentation fking with lint

* add missing pipenv command

* test explicitly defining wheel version

* try install requirements first

* sync pipenv after install

* fixed typo in pacakge name

* Publish depends on build

* Install python dependencies before publish

* Twince check command before upload

* If source is newer than pypi, exit 0 and continue pipeline

* If source is newer than pypi, exit 0 and continue pipeline

* Clearer output text for publish version

* Clearer output text for publish version

* Only run public package when interacting with master

* Updated readme and license in setup.py

* Remove test pypi publish ci step

* Exclude publish step when PR towards master

* Bumped package version to 0.3.2

* Try install built wheel with wildcard

* Sign drone config file

View docs for more info on signing: https://docs.drone.io/signature/
2022-11-26 13:31:04 +01:00
7 changed files with 72 additions and 40 deletions

View File

@@ -42,12 +42,36 @@ steps:
- pip3 install delugeClient-kevin -q -q
- bash publish_version?.sh
- name: PyPi verify
image: python:3.10
commands:
- make dist
- pip3 install twine
- twine check dist/*
- name: PyPi test publish
image: python:3.10
environment:
TWINE_USERNAME:
from_secret: TWINE_USERNAME
TWINE_PASSWORD:
from_secret: TWINE_TEST_PASSWORD
commands:
- make dist
- pip3 install twine
- twine upload --repository-url https://test.pypi.org/legacy/ dist/*
- name: PyPi publish
image: python:3.10
commands:
- make dist
- pip3 install twine
- twine upload dist/*
environment:
TWINE_USERNAME:
from_secret: TWINE_USERNAME
TWINE_PASSWORD:
from_secret: TWINE_PASSWORD
commands:
- make dist
- pip3 install twine
- twine upload dist/*
depends_on:
- Build and test amd64
@@ -61,6 +85,6 @@ trigger:
---
kind: signature
hmac: 08793426ddd2274e2de166144dc15cd63fe6a2c0fd47382d28f20ececee84898
hmac: 60604a21f35e11d078d5d381bbea8e25b903175c018ba9e6f4a4379285e89883
...

View File

@@ -37,31 +37,38 @@ pip3 install delugeClient-kevin
```
## <a name="usage"></a> Usage
View delugeClient cli options with `delugeClient --help`:
View delugeClient cli options with `delugeclient --help`:
```
Usage: python -m delugeclient [OPTIONS] COMMAND [ARGS]...
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────
│ --debug Set log level to debug
│ --info Set log level to info
│ --warning Set log level to warning
│ --error Set log level to error
│ --install-completion Install completion for the current shell.
│ --show-completion Show completion for the current shell, to copy it or customize the installation.
│ --help Show this message and exit.
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────
│ add Add magnet torrent
│ disk Get free disk space
│ get Get torrent by id or hash
│ ls List all torrents
│ remove Remove torrent by id or hash
│ rm Remove torrent by name
│ search Search for string segment in torrent name
│ toggle Toggle torrent download state
│ version Print package version
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╭─ Options ───────────────────────────────────────────────────────────────╮
│ --debug Set log level to debug │
│ --info Set log level to info │
│ --warning Set log level to warning │
│ --error Set log level to error │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────╮
│ add Add magnet torrent │
│ disk Get free disk space │
│ get Get torrent by id or hash │
│ ls List all torrents │
│ remove Remove torrent by id or hash │
│ rm Remove torrent by name │
│ search Search for string segment in torrent name │
│ toggle Toggle torrent download state │
│ version Print package version │
╰─────────────────────────────────────────────────────────────────────────╯
```
### Running from source
Run from source for fun or during development using module flag:
```
python3 -m delugeClient --help
```
## <a name="setup_virtualenv"></a> Setup Virtual Environment

View File

@@ -2,12 +2,14 @@
# -*- encoding: utf-8 -*-
from sys import path
from os.path import dirname, join
from os.path import dirname, join, abspath
path.append(dirname(__file__))
SCRIPT_DIR = dirname(abspath(__file__))
path.append(dirname(SCRIPT_DIR))
import logging
from utils import BASE_DIR
from delugeClient.utils import BASE_DIR
from delugeClient.deluge import Deluge
def addHandler(handler):
handler.setFormatter(formatter)

View File

@@ -1,5 +1,4 @@
#!/usr/bin/env python3.10
import os
import sys
import signal
@@ -8,10 +7,10 @@ import logging
import typer
from pprint import pprint
from deluge import Deluge
from utils import ColorizeFilter, BASE_DIR, validHash, convertFilesize
from __version__ import __version__
from __init__ import addHandler
from delugeClient.deluge import Deluge
from delugeClient.utils import ColorizeFilter, BASE_DIR, validHash, convertFilesize
from delugeClient.__version__ import __version__
from delugeClient.__init__ import addHandler
ch = logging.StreamHandler()
ch.addFilter(ColorizeFilter())

View File

@@ -1,4 +1,4 @@
__version__ = '0.3.2'
__version__ = '0.3.5'
if __name__ == '__main__':
print(__version__)

View File

@@ -9,9 +9,9 @@ import logging.config
from deluge_client import DelugeRPCClient, FailedToReconnectException
from sshtunnel import SSHTunnelForwarder, BaseSSHTunnelForwarderError
from utils import getConfig, BASE_DIR
from torrent import Torrent
from delugeClient.utils import getConfig, BASE_DIR
from delugeClient.torrent import Torrent
logger = logging.getLogger('deluge_cli')

View File

@@ -2,7 +2,7 @@ import json
import logging
from distutils.util import strtobool
from utils import convert
from delugeClient.utils import convert
logger = logging.getLogger('deluge_cli')
@@ -44,5 +44,5 @@ class Torrent(object):
return json.dumps(torrentDict)
def __str__(self):
return "{} {} Progress: {}% ETA: {} State: {} Paused: {}".format(
self.key, self.name[:59].ljust(60), self.progress.rjust(5), self.eta.rjust(11), self.state.ljust(12), self.paused)
return "{} Progress: {}% ETA: {} State: {} Paused: {}".format(
self.name[:59].ljust(60), self.progress.rjust(5), self.eta.rjust(11), self.state.ljust(12), self.paused)