Index: src/django_gheat/gheat/management/commands/import_droidstumbler.py
===================================================================
--- src/django_gheat/gheat/management/commands/import_droidstumbler.py	(revision 9176)
+++ src/django_gheat/gheat/management/commands/import_droidstumbler.py	(revision 9178)
@@ -15,12 +15,13 @@
 import datetime
 import gzip
+import logging
 import os
 import sys
 
-def import_droidstumbler(location, meetrondje, gebruiker, email):
+def import_droidstumbler(location, meetrondje, gebruiker, email, datum,show_progres=False):
 
   g, created = Gebruiker.objects.get_or_create(naam=gebruiker , email=email)
   a, created = Apparatuur.objects.get_or_create(antenne='buildin' , kaart='mobilePhone')
-  mr = MeetRondje.objects.create(datum=datetime.datetime.now() , naam=meetrondje , gebruiker=g , apparatuur=a)
+  mr = MeetRondje.objects.create(datum=datum , naam=meetrondje , gebruiker=g , apparatuur=a)
 
   if location.endswith('.gz'):
@@ -31,10 +32,9 @@
   count = 0
   ap_cache = {}
-  print "#INFO: Importing points"
   for row in csvfile:
     try:
       epoch, msg_type, lat, lon, accuracy, ssid, bssid, level, frequency, capabilities = row
     except ValueError:
-      print "# WARNING: Unable to parse line:%i '%s'" % (csvfile.line_num, row)
+      logging.error("Unable to parse line:%i '%s'" % (csvfile.line_num, row))
       continue
     if msg_type == "data" and lat and lon:
@@ -45,12 +45,13 @@
       # Give some feedback to the user
       count += 1
-      if (count % 1000) == 0:
-        sys.stdout.write(str(count))
-      elif (count % 100) == 0:
-        sys.stdout.write(".")
-      sys.stdout.flush()
+      if show_progres:
+        if (count % 1000) == 0:
+          sys.stdout.write(str(count))
+        elif (count % 100) == 0:
+          sys.stdout.write(".")
+        sys.stdout.flush()
 
-  sys.stdout.write("%s\n" % count)
-  print "#INFO: All done, goodbye"
+  if show_progres:
+    sys.stdout.write("%s\n" % count)
 
 
@@ -58,8 +59,10 @@
   args = '<csvfile>[.gz]'
   option_list = BaseCommand.option_list + (
-    make_option('-m', '--meetrondje', dest='meetrondje', default='rondje'),
-    make_option('-g', '--gebruiker', dest='gebruiker', default='username'),
-    make_option('-e', '--email', dest='email', default='foo@bar.org'),
-    )
+    make_option('-m', '--meetrondje', dest='meetrondje', default=None),
+    make_option('-g', '--gebruiker', dest='gebruiker', default=os.environ['USER']),
+    make_option('-e', '--email', dest='email', default=os.environ['USER'] + '@example.org'),
+    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 \
+      the filename"),)
 
   def handle(self, *args, **options):
@@ -71,3 +74,22 @@
     if not os.path.isfile(csv_file):
       raise CommandError("csv file '%s' does not exists" % csv_file)
-    import_droidstumbler(csv_file,options['meetrondje'],options['gebruiker'],options['email'])
+
+    # Meetrondje from filename if needed
+    if options['meetrondje'] == None:
+      meetrondje = os.path.basename(csv_file).rstrip('.gz').rstrip('.csv') 
+    else:
+      meetrondje = options['meetrondje']
+    # Date from filename if needed
+    if options['datum'] == None:
+       datum = os.path.basename(csv_file).lstrip('ScanResult-').rstrip('.csv.gz')
+    else:
+       datum = options['datum']
+    try:
+       datum = datetime.datetime.strptime(datum,'%Y-%m-%d-%H%M%S')
+    except ValueError:
+      logging.error("Invalid date '%s'" % options['datum'])
+      sys.exit(1)
+
+    self.stdout.write("Going to import '%s' for gebruiker '%s <%s>'\n" % (os.path.basename(csv_file), options['gebruiker'], options['email']))
+    import_droidstumbler(csv_file,meetrondje,options['gebruiker'],options['email'], datum, True)
+    self.stdout.writeln("All done, goodbye")
