def main(options, args): #define console log handler console = logging.StreamHandler() formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s') console.setFormatter(formatter) console.setLevel(options.console_level) #add handler to root logger logging.getLogger('').addHandler(console) #set loglevel for this module log.setLevel(options.loglevel) if not os.path.exists(options.csvpath): log.error('The folder does not exists.') sys.exit(1) log.info('Processing list of .csv files') for csvfile in glob.glob(os.path.join(options.csvpath, '*.csv')): if os.path.splitext(csvfile)[1] != '.csv': log.error('No .csv file provided.') sys.exit(1) log.info('Reading rows and creating Result objects') file = open(csvfile, "rb") reader = csv.reader(file) # Find exportid; count backwards to avoid underscores in foldernames exportid = csvfile.split('_')[-2] log.debug('exportid = ' + str(exportid)) try: e_run = ExportRun.objects.get(pk=exportid) except: log.error('No Export Run object found with id: ' + str(exportid)) sys.exit(1) # Skip header reader.next() for row in reader: log.debug(row) #Check if object already exists existing_objects = Result.objects.filter(area=row[0], name=row[1], file_location=row[2], export_run=e_run) log.debug('existing_result_objects =' + str(existing_objects)) if not existing_objects: r = Result(area=row[0], name=row[1], file_location=row[2], export_run=e_run) r.save() file.close() e_run.state = ExportRun.EXPORT_STATE_DONE e_run.run_date = datetime.datetime.fromtimestamp( os.path.getctime(csvfile)) e_run.save() os.remove(csvfile)