def handle(self, *args, **options): if len(args) != 4: raise CommandError('Usage is import_cases %s' % self.args) start = datetime.now() export_file, config_file, domain, user_id = args if '@' in user_id: user = WebUser.get_by_username(user_id) else: user = WebUser.get(user_id) if not user.is_member_of(domain): raise CommandError("%s can't access %s" % (user, domain)) with open(config_file, 'r') as f: config = ImporterConfig.from_json(f.read()) config.couch_user_id = user._id spreadsheet = ExcelFile(export_file, True) print json.dumps(do_import(spreadsheet, config, domain)) print 'finished in %s seconds' % (datetime.now() - start).seconds
def _get_spreadsheet(download_ref, column_headers=True): if not download_ref: return None return ExcelFile(download_ref.get_filename(), column_headers)