Index: src/django_gheat/gheat/management/commands/import_droidstumbler.py
===================================================================
--- src/django_gheat/gheat/management/commands/import_droidstumbler.py	(revision 9549)
+++ src/django_gheat/gheat/management/commands/import_droidstumbler.py	(revision 9552)
@@ -31,9 +31,12 @@
 
 
-def import_droidstumbler(location, meetrondje, gebruiker, email, datum,show_progres=False,output=sys.stdout,bulk_import=True):
+def import_droidstumbler(location, meetrondje, gebruiker, kaart, email, datum,show_progres=False,output=sys.stdout,bulk_import=True):
   """ Import all points, return tuple with summary"""
   g, created = Gebruiker.objects.get_or_create(naam=gebruiker , email=email)
-  a, created = Apparatuur.objects.get_or_create(antenne='buildin' , kaart='mobilePhone')
+  a, created = Apparatuur.objects.get_or_create(kaart=kaart)
   mr, created = MeetRondje.objects.get_or_create(datum=datum , naam=meetrondje , gebruiker=g , apparatuur=a)
+  if not created:
+    logging.error("Meetrondje '%s' already imported" % mr)
+    sys.exit(1)
 
   meting_count = 0
@@ -114,4 +117,5 @@
     make_option('-g', '--gebruiker', dest='gebruiker', default=os.environ['USER']),
     make_option('-e', '--email', dest='email', default=os.environ['USER'] + '@example.org'),
+    make_option('-k', '--kaart', dest='kaart', default='onbekend', help="Kaart gebruikt"),
     make_option('-d', '--datum', dest='datum', default=None, help="Provide date  \
       in following format: %Y-%m-%d-%H%M%S, by default it will be generated from \
@@ -146,5 +150,5 @@
       self.stdout.write('#INFO: Meetrondje: %s @ %s\n' % (meetrondje, datum))
       self.stdout.write("#INFO: Going to import '%s' for gebruiker '%s <%s>'\n" % (os.path.basename(csv_file), options['gebruiker'], options['email']))
-      (ap_count, new_ap_count, meting_count, meting_error_count) = import_droidstumbler(csv_file,meetrondje,options['gebruiker'],options['email'], datum, True)
+      (ap_count, new_ap_count, meting_count, meting_error_count) = import_droidstumbler(csv_file,meetrondje,options['kaart'],options['gebruiker'],options['email'], datum, True)
       self.stdout.write("#INFO: Import summary accespoints: added:%s processed:%s\n" % (new_ap_count, ap_count))
       self.stdout.write("#INFO: Import summary metingen: added:%s error:%s\n" % (meting_count, meting_error_count))
Index: src/django_gheat/gheat/management/commands/import_kismet.py
===================================================================
--- src/django_gheat/gheat/management/commands/import_kismet.py	(revision 9549)
+++ src/django_gheat/gheat/management/commands/import_kismet.py	(revision 9552)
@@ -13,6 +13,18 @@
 import os
 import sys
+import logging
 
-def import_file(gpsxml_file, netxml_file, meetrondje, gebruiker, email):
+def import_file(gpsxml_file, netxml_file, meetrondje, kaart, gebruiker, email):
+  # TODO: Source source is variable entitity, based on mesurement
+  kaart = 'deadcode'
+  gebruiker, created = Gebruiker.objects.get_or_create(naam=gebruiker , email=email)
+  apparatuur, created = Apparatuur.objects.get_or_create(kaart=kaart)
+  # TODO: Date is set to import date, but should pick the date from the netxml file
+  mr = MeetRondje.objects.create(datum=None,
+    naam=meetrondje , gebruiker=gebruiker , apparatuur=apparatuur)
+  if not created:
+    logging.error("Meetrondje '%s' already imported" % mr)
+    sys.exit(1)
+
   open_file = lambda file: gzip.open(file,'rb') if file.endswith('.gz') else open(file,'rb')
   gpsxml_doc = etree.parse(open_file(gpsxml_file))
@@ -21,12 +33,4 @@
   points = gpsxml_doc.findall('gps-point')
   wnetworks = netxml_doc.findall('wireless-network')
-
-  # TODO: Source source is variable entitity, based on mesurement
-  kaart = 'deadcode'
-  gebruiker, created = Gebruiker.objects.get_or_create(naam=gebruiker , email=email)
-  apparatuur, created = Apparatuur.objects.get_or_create(antenne='test' , kaart=kaart)
-  # TODO: Date is set to import date, but should pick the date from the netxml file
-  mr = MeetRondje.objects.create(datum=datetime.datetime.now(),
-    naam=meetrondje , gebruiker=gebruiker , apparatuur=apparatuur)
 
   # Create all accesspoints and for caching validation purposes store them
@@ -99,4 +103,5 @@
   option_list = BaseCommand.option_list + (
     make_option('-m', '--meetrondje', dest='meetrondje', default='rondje',help='Naam van het meetrondje'),
+    make_option('-k', '--kaart', dest='kaart', default='onbekend', help="Kaart gebruikt"),
     make_option('-g', '--gebruiker', dest='gebruiker', default='username',help='Naam van de persoon die de meting uitgevoerd heeft'),
     make_option('-e', '--email', dest='email', default='foo@bar.org',help='Email van de persoon die de meting uitgevoerd heeft'),
@@ -120,3 +125,3 @@
       raise CommandError("netxml file '%s' does not exists" % netxml_file)
 
-    import_file(gpsxml_file, netxml_file ,options['meetrondje'],options['gebruiker'],options['email'])
+    import_file(gpsxml_file, netxml_file ,options['meetrondje'], options['kaart'],options['gebruiker'],options['email'])
Index: src/django_gheat/gheat/models.py
===================================================================
--- src/django_gheat/gheat/models.py	(revision 9549)
+++ src/django_gheat/gheat/models.py	(revision 9552)
@@ -73,5 +73,5 @@
 
 class MeetRondje(models.Model):
-  datum = models.DateTimeField()
+  datum = models.DateTimeField(blank=True,null=True)
   naam = models.CharField(max_length=64)
   gebruiker = models.ForeignKey(Gebruiker)
Index: src/django_gheat/import_scan_data.sh
===================================================================
--- src/django_gheat/import_scan_data.sh	(revision 9552)
+++ src/django_gheat/import_scan_data.sh	(revision 9552)
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# Quick and dirty hack to import all data
+
+
+DATAROOT="$HOME/scan-data"
+MANAGE="$HOME/django_gheat/manage.py"
+
+echo "# rsync webfolder"
+rsync -az rvdzwet@tyan.wirelessleiden.nl:/usr/local/www/webfolder/scan-data/ $DATAROOT
+
+echo "# unzip compressed .tar.gz files"
+for FILE in `find $DATAROOT -name '*.tar.gz'`; do
+  TARDIR=`dirname $FILE`
+  if [ \! -r "$TARDIR/`tar -tf $FILE | head -1`" ]; then
+    tar -C $TARDIR -xzf $file
+  fi
+done
+
+# Import all data
+for USERDIR in `find $DATAROOT -depth 1 -type d`; do
+  for DEVICEDIR in `find $USERDIR -depth 1 -type d`; do
+    USERNAME=`basename $USERDIR`
+    DEVICE=`basename $DEVICEDIR`
+    ARGS="-g $USERNAME -e $USERNAME@wirelessleiden.nl -k $DEVICE"
+    # Kismet Imports
+    for FILE in `find $DEVICEDIR -name 'Kismet*gpsxml*'`; do
+      $MANAGE import_kismet $ARGS -m `basename $FILE` $FILE
+    done
+    
+    # DroidStumber imports
+    for FILE in `find $DEVICEDIR -name 'ScanResult-*'`; do
+      $MANAGE import_droidstumbler $ARGS -m `basename $FILE` $FILE
+    done
+  done
+done
+
+# Clear cache
+sudo -u www htcacheclean -l10K -p/usr/local/var/apache/cache/maps
+
