Index: src/django_gheat/gheat/admin.py
===================================================================
--- src/django_gheat/gheat/admin.py	(revision 9587)
+++ src/django_gheat/gheat/admin.py	(revision 9590)
@@ -1,3 +1,3 @@
-from gheat.models import Accespoint, Apparatuur, Gebruiker, MeetRondje, Meting, MeetBestand
+from gheat.models import *
 from django.contrib import admin
 
@@ -13,4 +13,9 @@
 admin.site.register(MeetRondje, MeetRondjeAdmin)
 
+class NodeAdmin(admin.ModelAdmin):
+  list_display = ['name','latitude', 'longitude', 'organization']
+  ordering = ['name']
+admin.site.register(Node, NodeAdmin)
+
 admin.site.register(Apparatuur)
 admin.site.register(Gebruiker)
Index: src/django_gheat/gheat/management/commands/import_nodes.py
===================================================================
--- src/django_gheat/gheat/management/commands/import_nodes.py	(revision 9590)
+++ src/django_gheat/gheat/management/commands/import_nodes.py	(revision 9590)
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Script for importing nodes from yaml information generated by gformat.py
+#
+# Rick van der Zwet <info@rickvanderzwet.nl>
+#
+from django.core.management.base import BaseCommand,CommandError
+from django.db.utils import IntegrityError
+from optparse import OptionParser, make_option
+from gheat.models import *
+import os
+import sys
+import logging
+import yaml
+
+from select import select
+from collections import defaultdict
+
+logger = logging.getLogger(__name__)
+logger.setLevel(logging.INFO)
+
+
+class Command(BaseCommand):
+  args = '[<filename>]'
+  help = 'Specify - to read from stdin'
+
+  def handle(self, *args, **options):
+    if len(args) == 0:
+      self.print_help(sys.argv[0],sys.argv[1])
+      raise CommandError("Not all arguments are provided")
+
+    filename = args[0]
+    timeout = 2
+    if filename == '-':
+      rlist, _, _ = select([sys.stdin], [], [], timeout)
+      if rlist:
+        fh = sys.stdin
+      else:
+       raise CommandError("No stdin input specified within %s seconds" % timeout)
+    else:
+      if not os.path.isfile(filename):
+       raise CommandError("yaml file '%s' does not exists" % filename)
+      fh = open(filename,'r')
+
+    hosts = yaml.load(fh)
+    for host,items in hosts.iteritems():
+      node, created = Node.objects.get_or_create(name=host,
+         latitude=items['latitude'],longitude=items['longitude'])
+      if created:
+        logger.info("Created Node '%s'" % node))
+    logger.info("Processed %s items" % len(hosts))
+
Index: src/django_gheat/gheat/models.py
===================================================================
--- src/django_gheat/gheat/models.py	(revision 9587)
+++ src/django_gheat/gheat/models.py	(revision 9590)
@@ -61,4 +61,10 @@
   ('WirelessLeiden', 'Wireless Leiden'),
 )
+
+class Node(models.Model):
+  name = models.CharField(max_length=50)
+  latitude = models.FloatField(null=True,blank=True)
+  longitude = models.FloatField(null=True,blank=True)
+  organization = models.CharField(max_length="50",choices=ORGANIZATION_CHOICES,null=True,blank=True)
 
 class Accespoint(models.Model):
