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