Use list instead of dict for hosts list.

portnov [2009-02-23 20:15:47]
Use list instead of dict for hosts list.
Filename
docs/current_state
test.py
diff --git a/docs/current_state b/docs/current_state
index 9390ef0..305cc28 100644
--- a/docs/current_state
+++ b/docs/current_state
@@ -9,6 +9,6 @@
 * Класс для набора конфигов (configset - содержит конфиги для некоторых или всех программ - чтобы применять настройки многих программ одним движением)
 * Сохранение и загрузка конфигов и конфигсетов из xml-файлов
 * Опрос сети по zeroconf с использованием avahi; информация об обнаруженных сервисах собирается в словаре services и может быть передана клиентам
-* При опросе сети также регистрируются машины, которые заявили о себе по zeroconf (по умолчанию все машины с avahi объявляют у себя сервис _workstation._tcp), информация о них собирается в словаре hosts. Потом его можно будет дополнять информацией из других источников и использовать как полный список управляемых машин.
+* При опросе сети также регистрируются машины, которые заявили о себе по zeroconf (по умолчанию все машины с avahi объявляют у себя сервис _workstation._tcp), информация о них собирается в списке hosts. Потом его можно будет дополнять информацией из других источников и использовать как полный список управляемых машин.

 Файл test.py пытается это всё протестировать.
diff --git a/test.py b/test.py
index 4aaa3ae..e0c896a 100755
--- a/test.py
+++ b/test.py
@@ -58,7 +58,7 @@ class ZeroconfListener(object):
             host = Host()
             host.hostname = name.split()[0]
             host.ip = addr
-            hosts[host.hostname] = host
+            hosts.append(host)
             return

         sname = discovery.servicenames[stype]
@@ -77,7 +77,7 @@ browser = discovery.Browser(args=('_ssh._tcp','_workstation._tcp','_nameserver._
 browser.set_listener(listener)
 browser.start()

-hosts = {}
+hosts = []

 services = {}
 services['proxy'] = Service()
@@ -95,7 +95,9 @@ templates.machine = machine
 time.sleep(5)

 # print services
-print hosts
+print "Found hosts:"
+for host in hosts:
+    print host

 # Read template
 system = configs.read_template('configs/templates/system.xml')
ViewGit