Skip to content
This repository was archived by the owner on Oct 1, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions example_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
Will quit after 2 minutes.

"""
from __future__ import print_function

import logging
from datetime import datetime
import time
Expand All @@ -24,6 +22,7 @@ def new_service_listener(discoverable, service):
print("{} - Found new service: {} {}".format(
datetime.now(), discoverable, service))


nd.add_listener(new_service_listener)

nd.start()
Expand Down
6 changes: 1 addition & 5 deletions netdisco/discoverables/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def __init__(self, netdis):
self.netdis = netdis

def info_from_entry(self, entry):
"""Get most important info, by default the description location."""
"""Get most important info."""
url = urlparse(entry.location)
info = {
ATTR_HOST: url.hostname,
Expand Down Expand Up @@ -88,10 +88,6 @@ def reset(self):
"""Reset found services."""
self.services.clear()

def is_discovered(self):
"""Return True if any device has been discovered."""
return len(self.get_entries()) > 0

# pylint: disable=unused-argument
def remove_service(self, zconf, typ, name):
"""Callback when a service is removed."""
Expand Down
5 changes: 0 additions & 5 deletions netdisco/discoverables/cambridgeaudio.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,3 @@ def get_entries(self):
"manufacturer": "Cambridge Audio",
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1"
})

def info_from_entry(self, entry):
"""Get most important info, which is name, model and host."""
info = super().info_from_entry(entry)
return info
26 changes: 13 additions & 13 deletions netdisco/discoverables/canon_printer.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
"""Discover Canon Printers"""
from . import SSDPDiscoverable
class Discoverable(SSDPDiscoverable):
"""Support for the discovery of Canon Printers"""
def get_entries(self):
"""Get all the Canon Printer uPnP entries."""
return self.find_by_device_description({
"manufacturer": "CANON INC.",
"deviceType": "urn:schemas-cipa-jp:device:DPSPrinter:1"
})
"""Discover Canon Printers"""
from . import SSDPDiscoverable


class Discoverable(SSDPDiscoverable):
"""Support for the discovery of Canon Printers"""

def get_entries(self):
"""Get all the Canon Printer uPnP entries."""
return self.find_by_device_description({
"manufacturer": "CANON INC.",
"deviceType": "urn:schemas-cipa-jp:device:DPSPrinter:1"
})
5 changes: 1 addition & 4 deletions netdisco/discoverables/konnected.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,4 @@ class Discoverable(SSDPDiscoverable):

def get_entries(self):
"""Return all Konnected entries."""
results = []
results.extend(
self.find_by_st('urn:schemas-konnected-io:device:Security:1'))
return results
return self.find_by_st('urn:schemas-konnected-io:device:Security:1')
26 changes: 13 additions & 13 deletions netdisco/discoverables/samsung_printer.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
"""Discover Samsung Printers"""
from . import SSDPDiscoverable
class Discoverable(SSDPDiscoverable):
"""Support for the discovery of Samsung Printers"""
def get_entries(self):
"""Get all the Samsung Printer uPnP entries."""
return self.find_by_device_description({
"manufacturer": "Samsung Electronics",
"deviceType": "urn:schemas-upnp-org:device:Printer:1"
})
"""Discover Samsung Printers"""
from . import SSDPDiscoverable


class Discoverable(SSDPDiscoverable):
"""Support for the discovery of Samsung Printers"""

def get_entries(self):
"""Get all the Samsung Printer uPnP entries."""
return self.find_by_device_description({
"manufacturer": "Samsung Electronics",
"deviceType": "urn:schemas-upnp-org:device:Printer:1"
})
18 changes: 10 additions & 8 deletions netdisco/gdm.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,16 @@ def find_by_data(self, values):
def update(self):
"""Scan for new GDM services.

Example of the dict list returned by this function:
[{'data': 'Content-Type: plex/media-server'
'Host: 53f4b5b6023d41182fe88a99b0e714ba.plex.direct'
'Name: myfirstplexserver'
'Port: 32400'
'Resource-Identifier: 646ab0aa8a01c543e94ba975f6fd6efadc36b7'
'Updated-At: 1444852697'
'Version: 0.9.12.13.1464-4ccd2ca'
Example of the dict list assigned to self.entries by this function:
[{'data': {
'Content-Type': 'plex/media-server',
'Host': '53f4b5b6023d41182fe88a99b0e714ba.plex.direct',
'Name': 'myfirstplexserver',
'Port': '32400',
'Resource-Identifier': '646ab0aa8a01c543e94ba975f6fd6efadc36b7',
'Updated-At': '1444852697',
'Version': '0.9.12.13.1464-4ccd2ca',
},
'from': ('10.10.10.100', 32414)}]
"""

Expand Down
3 changes: 0 additions & 3 deletions pylintrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
[MASTER]
disable=duplicate-code

[BASIC]
module-rgx=(([a-z_][a-z0-9_]*)|(?:DLNA))$
9 changes: 6 additions & 3 deletions tests/discoverables/test_yamaha.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ def test_info_from_entry_rx_v481(self):
'serial': 'XXXXXXXX',
'ssdp_description': 'http://192.168.XXX.XXX:80/desc.xml',
'udn': 'uuid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
'upnp_device_type': 'urn:schemas-upnp-org:device:MediaRenderer:1',
'upnp_device_type':
'urn:schemas-upnp-org:device:MediaRenderer:1',
})

def test_info_from_entry_single_service(self):
Expand Down Expand Up @@ -110,14 +111,16 @@ def test_info_from_entry_multiple_services_no_remote_control(self):
})

def test_get_entries_incompatible_models(self):
supported_model = MockUPNPEntry("desc_multiple_services_no_remote_control.xml")
supported_model = MockUPNPEntry(
"desc_multiple_services_no_remote_control.xml")
devices = [
supported_model,
MockUPNPEntry("desc_incompatible_device.xml")
]

discoverable = Discoverable(None)
discoverable.INCOMPATIBLE_MODELS = ["aaa"]
discoverable.find_by_device_description = MagicMock(return_value=devices)
discoverable.find_by_device_description = MagicMock(
return_value=devices)

self.assertEqual(discoverable.get_entries(), [supported_model])
4 changes: 2 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ deps =
flake8
pylint
commands =
flake8 netdisco
pylint netdisco
flake8 netdisco tests setup.py example_service.py
pylint netdisco tests