Compare commits
5 Commits
1d502d2107
...
c71bb5babf
Author | SHA1 | Date | |
---|---|---|---|
|
c71bb5babf | ||
|
8e14fc19e6 | ||
|
8c414fd87d | ||
|
0aa76cd98c | ||
|
6e15861ba6 |
13
Makefile
Normal file
13
Makefile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
build: clean
|
||||||
|
python -m build --sdist --wheel
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf dist/ build/ .eggs/ .pytest_cache/ src/announce_server.egg-info/
|
||||||
|
|
||||||
|
pub: build
|
||||||
|
twine upload dist/*
|
||||||
|
|
||||||
|
install:
|
||||||
|
pip install -e .[dev,pub]
|
||||||
|
|
||||||
|
.PHONY: build clean pub install
|
10
README.md
10
README.md
@ -23,6 +23,12 @@ rm -rf dist/ build/ .eggs/ .pytest_cache/ src/announce_server.egg-info/
|
|||||||
python -m build --sdist --wheel
|
python -m build --sdist --wheel
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To publish:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
twine upload dist/*
|
||||||
|
```
|
||||||
|
|
||||||
## Test
|
## Test
|
||||||
|
|
||||||
To run the tests, call:
|
To run the tests, call:
|
||||||
@ -34,9 +40,9 @@ pytest
|
|||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from announce_server.announce import announce_server
|
from announce_server import register_service
|
||||||
|
|
||||||
@announce_server(name="server_name", ip="server_ip", port=8000, host_ip="host_server_ip", host_port=5000)
|
@register_service(name="server_name", ip="server_ip", port=8000, host_ip="host_server_ip", host_port=5000, retry_interval=5)
|
||||||
def your_function():
|
def your_function():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -1,2 +1,8 @@
|
|||||||
from .decorator import _announce_server, announce_server
|
from .decorator import (
|
||||||
|
_announce_server,
|
||||||
|
announce_server,
|
||||||
|
register_block,
|
||||||
|
register_server,
|
||||||
|
register_service,
|
||||||
|
)
|
||||||
from .get_ip import get_ip_address
|
from .get_ip import get_ip_address
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
|
import warnings
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
import socketio
|
import socketio
|
||||||
@ -45,9 +46,9 @@ async def _announce_server(**kwargs):
|
|||||||
await main()
|
await main()
|
||||||
|
|
||||||
|
|
||||||
def announce_server(task=None, **outer_kwargs):
|
def register_service(task=None, **outer_kwargs):
|
||||||
if task is None:
|
if task is None:
|
||||||
return lambda f: announce_server(f, **outer_kwargs)
|
return lambda f: register_service(f, **outer_kwargs)
|
||||||
|
|
||||||
@wraps(task)
|
@wraps(task)
|
||||||
def wrapper(*args, **kwargs):
|
def wrapper(*args, **kwargs):
|
||||||
@ -64,3 +65,23 @@ def announce_server(task=None, **outer_kwargs):
|
|||||||
return asyncio.run(main())
|
return asyncio.run(main())
|
||||||
|
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
||||||
|
|
||||||
|
def announce_server(*args, **kwargs):
|
||||||
|
"""Wrapper for register_service"""
|
||||||
|
warnings.warn(
|
||||||
|
"announce_server is deprecated, use register_service instead",
|
||||||
|
DeprecationWarning,
|
||||||
|
stacklevel=2,
|
||||||
|
)
|
||||||
|
return register_service(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
def register_block(*args, **kwargs):
|
||||||
|
"""Wrapper for register_service"""
|
||||||
|
return register_service(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
def register_server(*args, **kwargs):
|
||||||
|
"""Wrapper for register_service"""
|
||||||
|
return register_service(*args, **kwargs)
|
||||||
|
61
tests/test_aliases.py
Normal file
61
tests/test_aliases.py
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from announce_server.decorator import (
|
||||||
|
announce_server,
|
||||||
|
register_block,
|
||||||
|
register_server,
|
||||||
|
register_service,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"decorator_alias",
|
||||||
|
[
|
||||||
|
register_block,
|
||||||
|
register_server,
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_alias_calls_register_service(decorator_alias):
|
||||||
|
test_args = (None, None)
|
||||||
|
test_kwargs = {
|
||||||
|
"name": "test_server",
|
||||||
|
"ip": "127.0.0.1",
|
||||||
|
"port": 8000,
|
||||||
|
"host_ip": "127.0.0.1",
|
||||||
|
"host_port": 5000,
|
||||||
|
}
|
||||||
|
|
||||||
|
with patch("announce_server.decorator.register_service") as mock_register_service:
|
||||||
|
mock_register_service.return_value = MagicMock()
|
||||||
|
|
||||||
|
decorator = decorator_alias(*test_args, **test_kwargs)
|
||||||
|
decorator(MagicMock())
|
||||||
|
|
||||||
|
mock_register_service.assert_called_once_with(*test_args, **test_kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"decorator_alias",
|
||||||
|
[
|
||||||
|
announce_server,
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_deprecated_alias_calls_register_service(decorator_alias):
|
||||||
|
test_args = (None, None)
|
||||||
|
test_kwargs = {
|
||||||
|
"name": "test_server",
|
||||||
|
"ip": "127.0.0.1",
|
||||||
|
"port": 8000,
|
||||||
|
"host_ip": "127.0.0.1",
|
||||||
|
"host_port": 5000,
|
||||||
|
}
|
||||||
|
with patch("announce_server.decorator.register_service") as mock_register_service:
|
||||||
|
mock_register_service.return_value = MagicMock()
|
||||||
|
|
||||||
|
with pytest.warns(DeprecationWarning):
|
||||||
|
decorator = decorator_alias(*test_args, **test_kwargs)
|
||||||
|
|
||||||
|
decorator(MagicMock())
|
||||||
|
mock_register_service.assert_called_once_with(*test_args, **test_kwargs)
|
@ -4,7 +4,7 @@ from unittest.mock import MagicMock, patch
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from announce_server.decorator import _announce_server, announce_server
|
from announce_server.decorator import _announce_server, register_service
|
||||||
|
|
||||||
|
|
||||||
@patch("announce_server.decorator._announce_server")
|
@patch("announce_server.decorator._announce_server")
|
||||||
@ -13,7 +13,7 @@ def test_announce_server_decorator(mock_announce_server):
|
|||||||
mock_announce_server.return_value = MagicMock()
|
mock_announce_server.return_value = MagicMock()
|
||||||
|
|
||||||
# Decorate the sample function with announce_server
|
# Decorate the sample function with announce_server
|
||||||
@announce_server(
|
@register_service(
|
||||||
name="test_server",
|
name="test_server",
|
||||||
ip="127.0.0.1",
|
ip="127.0.0.1",
|
||||||
port=8000,
|
port=8000,
|
||||||
|
Loading…
Reference in New Issue
Block a user