def crons(): filenames = [] for filename in sorted(glob.glob(os.path.join(upload_dir, '*.gcode'))): basename = os.path.basename(filename) filenames.append(basename) crontab = Crontab(printer) crontab.read() return {'ng': ng, 'crontab': crontab, 'filenames': filenames}
def post_crons(): tasks = [] mapping = {} data = bottle.request.POST for k, v in data.items(): if k.startswith('cron_') or k.startswith('file_'): k, i = k.split('_') task = mapping.setdefault(i, {}) if k == 'file': v = os.path.join(upload_dir, v) task[k] = v tasks.extend([v for k, v in sorted(mapping.items())]) if data.get('file'): tasks.append({'cron': data.get('cron'), 'file': os.path.join(upload_dir, data.get('file'))}) crontab = Crontab(printer, upload_dir=upload_dir) crontab.write(tasks) bottle.redirect('/crons')