def import_accounts(self, domainid): "import accounts" try: cachekey = u'domain-%s' % domainid domain = Session.query(Domain.id, Domain.name)\ .filter(Domain.id == domainid)\ .options(FromCache('sql_cache_med', cachekey)).one() except NoResultFound: abort(404) c.form = ImportCSVForm(request.POST, csrf_context=session) if request.method == 'POST' and c.form.validate(): basedir = config['pylons.cache_dir'] csvdata = request.POST['csvfile'] if hasattr(csvdata, 'filename'): dstfile = os.path.join(basedir, 'uploads', csvdata.filename.lstrip(os.sep)) if not os.path.exists(dstfile) and iscsv(csvdata.file): csvfile = open(dstfile, 'w') shutil.copyfileobj(csvdata.file, csvfile) csvdata.file.close() csvfile.close() task = importaccounts.apply_async(args=[ domainid, dstfile, c.form.skipfirst.data, c.user.id]) session['taskids'].append(task.task_id) session['acimport-count'] = 1 session['acimport-file'] = dstfile session.save() msg = _('File uploaded, and is being processed, this page' ' will automatically refresh to show the status') flash(msg) log.info(msg) redirect(url('accounts-import-status', taskid=task.task_id)) else: filename = csvdata.filename.lstrip(os.sep) if not iscsv(csvdata.file): msg = _('The file: %s is not a CSV file') % filename flash_alert(msg) log.info(msg) else: msg = _('The file: %s already exists and' ' is being processed.') % filename flash_alert(msg) log.info(msg) csvdata.file.close() else: msg = _('No CSV was file uploaded, try again') flash_alert(msg) log.info(msg) c.domain = domain return self.render('/accounts/importaccounts.html')
def import_accounts(self, domainid): "import accounts" try: cachekey = u'domain-%s' % domainid domain = Session.query(Domain.id, Domain.name)\ .filter(Domain.id == domainid)\ .options(FromCache('sql_cache_med', cachekey)).one() except NoResultFound: abort(404) c.form = ImportCSVForm(request.POST, csrf_context=session) if request.method == 'POST' and c.form.validate(): basedir = config['pylons.cache_dir'] csvdata = request.POST['csvfile'] if hasattr(csvdata, 'filename'): dstfile = os.path.join(basedir, 'uploads', csvdata.filename.lstrip(os.sep)) if not os.path.exists(dstfile) and iscsv(csvdata.file): csvfile = open(dstfile, 'w') shutil.copyfileobj(csvdata.file, csvfile) csvdata.file.close() csvfile.close() task = importaccounts.apply_async(args=[ domainid, dstfile, c.form.skipfirst.data, c.user.id ]) session['taskids'].append(task.task_id) session['acimport-count'] = 1 session['acimport-file'] = dstfile session.save() msg = _('File uploaded, and is being processed, this page' ' will automatically refresh to show the status') flash(msg) log.info(msg) redirect(url('accounts-import-status', taskid=task.task_id)) else: filename = csvdata.filename.lstrip(os.sep) if not iscsv(csvdata.file): msg = _('The file: %s is not a CSV file') % filename flash_alert(msg) log.info(msg) else: msg = _('The file: %s already exists and' ' is being processed.') % filename flash_alert(msg) log.info(msg) csvdata.file.close() else: msg = _('No CSV was file uploaded, try again') flash_alert(msg) log.info(msg) c.domain = domain return self.render('/accounts/importaccounts.html')
def import_domains(self, orgid): "import domains from csv file" org = get_org(orgid) if not org: abort(404) c.form = ImportCSVForm(request.POST, csrf_context=session) if request.method == 'POST' and c.form.validate(): basedir = config['pylons.cache_dir'] csvdata = request.POST['csvfile'] if hasattr(csvdata, 'filename'): dstfile = os.path.join(basedir, 'uploads', csvdata.filename.lstrip(os.sep)) if not os.path.exists(dstfile) and iscsv(csvdata.file): csvfile = open(dstfile, 'w') shutil.copyfileobj(csvdata.file, csvfile) csvdata.file.close() csvfile.close() task = importdomains.apply_async(args=[orgid, dstfile, c.form.skipfirst.data]) if 'taskids' not in session: session['taskids'] = [] session['taskids'].append(task.task_id) session['dimport-counter'] = 1 session['dimport-file'] = dstfile session.save() msg = _('File uploaded, and is being processed, this page' ' will automatically refresh to show the status') flash(msg) log.info(msg) redirect(url('orgs-import-status', taskid=task.task_id)) else: filename = csvdata.filename.lstrip(os.sep) if not iscsv(csvdata.file): msg = _('The file: %s is not a CSV file') % filename flash_alert(msg) log.info(msg) else: msg = _('The file: %s already exists ' 'and is being processed.') % filename flash_alert(msg) log.info(msg) csvdata.file.close() else: msg = _('No CSV was file uploaded, try again') flash_alert(msg) log.info(msg) c.org = org return self.render('/organizations/importdomains.html')
def import_domains(self, orgid): "import domains from csv file" org = get_org(orgid) if not org: abort(404) c.form = ImportCSVForm(request.POST, csrf_context=session) if request.method == 'POST' and c.form.validate(): basedir = config['pylons.cache_dir'] csvdata = request.POST['csvfile'] if hasattr(csvdata, 'filename'): dstfile = os.path.join(basedir, 'uploads', csvdata.filename.lstrip(os.sep)) if not os.path.exists(dstfile) and iscsv(csvdata.file): csvfile = open(dstfile, 'w') shutil.copyfileobj(csvdata.file, csvfile) csvdata.file.close() csvfile.close() task = importdomains.apply_async( args=[orgid, dstfile, c.form.skipfirst.data]) if 'taskids' not in session: session['taskids'] = [] session['taskids'].append(task.task_id) session['dimport-counter'] = 1 session['dimport-file'] = dstfile session.save() msg = _('File uploaded, and is being processed, this page' ' will automatically refresh to show the status') flash(msg) log.info(msg) redirect(url('orgs-import-status', taskid=task.task_id)) else: filename = csvdata.filename.lstrip(os.sep) if not iscsv(csvdata.file): msg = _('The file: %s is not a CSV file') % filename flash_alert(msg) log.info(msg) else: msg = _('The file: %s already exists ' 'and is being processed.') % filename flash_alert(msg) log.info(msg) csvdata.file.close() else: msg = _('No CSV was file uploaded, try again') flash_alert(msg) log.info(msg) c.org = org return self.render('/organizations/importdomains.html')
def import_domains(self, orgid): "import domains from csv file" org = self._get_org(orgid) if not org: abort(404) c.form = ImportCSVForm(request.POST, csrf_context=session) if request.POST and c.form.validate(): basedir = config["pylons.cache_dir"] csvdata = request.POST["csvfile"] if hasattr(csvdata, "filename"): dstfile = os.path.join(basedir, "uploads", csvdata.filename.lstrip(os.sep)) if not os.path.exists(dstfile) and iscsv(csvdata.file): csvfile = open(dstfile, "w") shutil.copyfileobj(csvdata.file, csvfile) csvdata.file.close() csvfile.close() task = importdomains.apply_async(args=[orgid, dstfile, c.form.skipfirst.data]) if not "taskids" in session: session["taskids"] = [] session["taskids"].append(task.task_id) session["dimport-counter"] = 1 session["dimport-file"] = dstfile session.save() flash( _( "File uploaded, and is being processed, this page" " will automatically refresh to show the status" ) ) redirect(url("orgs-import-status", taskid=task.task_id)) else: filename = csvdata.filename.lstrip(os.sep) if not iscsv(csvdata.file): flash_alert(_("The file: %s is not a CSV file") % filename) else: flash_alert(_("The file: %s already exists " "and is being processed.") % filename) csvdata.file.close() else: flash_alert(_("No CSV was file uploaded, try again")) c.org = org return render("/organizations/importdomains.html")