def get(lang): """Get the i18n of language lang and output dict.""" i18nkey = 'i18n:' + lang gval = g.get(i18nkey, None) if gval: return gval if redisconnection.exists(i18nkey): return json.loads(redisconnection.get(i18nkey)) data = {} fallbacklist = _create_fallback(lang) datafiles = _loadi18nfiles(fallbacklist) for key in datafiles['en']: if key == '@metadata': # @metadata is a dict not a string continue for code in fallbacklist: if key in datafiles.get(code, {}): data[key] = datafiles[code][key] # <'s and >'s aren't supposed to be here; # if the translation breaks due to double escaping, # oh well, why are you hacking this tool? # --XSS prevention data[key] = data[key].replace('<', '<') data[key] = data[key].replace('>', '>') break data['@lang'] = lang data['@dir'] = _dir(lang) setattr(g, i18nkey, data) redisconnection.setex(i18nkey, json.dumps(data), 60) return data
def get(lang): """Get the i18n of language lang and output dict.""" i18nkey = 'i18n:' + lang gval = g.get(i18nkey, None) if gval: return gval if redisconnection.exists(i18nkey): return json.loads(redisconnection.get(i18nkey)) data = {} fallbacklist = _create_fallback(lang) datafiles = _loadi18nfiles(fallbacklist) for key in datafiles['en']: if key == '@metadata': # @metadata is a dict not a string continue for code in fallbacklist: if key in datafiles.get(code, {}): data[key] = datafiles[code][key] # <'s and >'s aren't supposed to be here; # if the translation breaks due to double escaping, # oh well, why are you hacking this tool? # --XSS prevention data[key] = data[key].replace('<', '<') data[key] = data[key].replace('>', '>') break data['@dir'] = _dir(lang) setattr(g, i18nkey, data) redisconnection.setex(i18nkey, json.dumps(data), 60) return data
def restart_task(): """Reastart a task: run a task with params of another task.""" id = request.form['id'] filename = redisconnection.get('titles:' + id) assert filename, 'Task does not exist' assert id in \ redisconnection.lrange('tasks:' + session['username'], 0, -1), \ 'Task must belong to you.' restarted = redisconnection.get('restarted:' + id) assert not restarted, \ 'Task has already been restarted with id ' + restarted params = redisconnection.get('params:' + id) assert params, 'Could not extract the task parameters.' newid = run_task_internal(filename, pickle.loads(params)) redisconnection.set('restarted:' + id, newid) return jsonify(restart='success', id=id, taskid=newid)
def restart_task(): """Reastart a task: run a task with params of another task.""" id = request.form['id'] filename = redisconnection.get('titles:' + id) assert filename, 'Task does not exist' assert id in \ redisconnection.lrange('tasks:' + session['username'], 0, -1), \ 'Task must belong to you.' restarted = redisconnection.get('restarted:' + id) assert not restarted, \ 'Task has already been restarted with id ' + restarted params = redisconnection.get('params:' + id) assert params, 'Could not extract the task parameters.' newid = run_task_internal(filename, json.loads(params)) redisconnection.set('restarted:' + id, newid) redis_publish('update', {'taskid': id, 'data': _status(id)}) return jsonify(restart='success', id=id, taskid=newid)
def get_title_from_task(id): """Get task title from task ID.""" return redisconnection.get('titles:' + id)
def get_title_from_task(id): """Get task title from task ID.""" return redisconnection.get('titles:' + id)