def api_user_put_cameras(user_id: int): logging.info('set all cameras, user: %d', user_id) cameras = request.get_json() logging.debug('request headers: %s', str(request.headers)) logging.debug('request payload: %s', str(cameras)) if cameras is None: return error_response(400, "failed") if isinstance(cameras,dict): cameras = [cameras] for c in cameras: if c.get('enabled'): del c['enabled'] #print("set cameras: ", cameras) if not bvc_db.update_cameras(user_id, cameras): return error_response(400, "failed") app.dispatcher.on_cameras_update() return flask.jsonify({}), 204
def downrate(name): if utils.rate(session['name'], name, 'down', main_db, daily_updates): flash('Děkujeme za hodnocení.', 'success') logging.debug("Hodnocení (-): {} --> {}".format(session['name'], name)) else: flash('Dnes jsi již využil všechny své možnosti hodnotit.', 'danger') return redirect(url_for('summary'))
def api_user_new_camera(user_id: int): logging.info('set all cameras, user: %d', user_id) camera = request.get_json() logging.debug('request headers: %s', str(request.headers)) logging.debug('request payload: %s', str(camera)) if camera is None: return error_response(400, "failed") if not isinstance(camera,dict): return error_response(400, "failed") cameras = [camera] camera_id = camera.get('camera_id') for c in cameras: if c.get('enabled'): del c['enabled'] #print("set cameras: ", cameras) if not bvc_db.append_cameras(user_id, cameras): return error_response(400, "failed") app.dispatcher.on_cameras_update() return flask.jsonify({}), 201, {'location': '/api/cameras/{}'.format(camera_id)}
def launch_all_krakens(cls): for (kraken_name, conf) in cls.data_sets.items(): additional_args = conf.get('kraken_args', []) exe = os.path.join(krakens_dir, kraken_name) logging.debug("spawning " + exe) assert os.path.exists(exe), "cannot find the kraken {}".format(exe) args = [exe] + additional_args kraken = subprocess.Popen(args, stderr=None, stdout=None, close_fds=False) cls.krakens_pool[kraken_name] = kraken logging.debug("{} kraken spawned".format(len(cls.krakens_pool))) # we want to wait for all data to be loaded all_good = True for name, kraken_process in cls.krakens_pool.items(): if not check_loaded(name): all_good = False logging.error( "error while loading the kraken {}, stoping".format(name)) break # a bit of cleaning if not all_good: cls.kill_all_krakens() cls.krakens_pool.clear() assert False, "problem while loading the kraken, no need to continue"
def kill_all_krakens(cls): for name, kraken_process in cls.krakens_pool.items(): logging.debug("killing " + name) if cls.data_sets[name].get('check_killed', True): kraken_process.poll() if kraken_process.returncode is not None: logging.error('kraken is dead, check errors, return code = %s', kraken_process.returncode) assert False, 'kraken is dead, check errors, return code' kraken_process.kill()
def find(): cates = Cate.query.all() for cate in cates: print(type(cate.shops)) db.session.query(Shop.name).filter(cid=cate.cid).all() logging.debug(shop.name) # 通过多的一方查多的一方 # shop = db.session.query(Shop.sid, Shop.name, Shop.cid).filter(Shop.sid == 1).first() # Cate.query.get(shop.cid) return '通过一的一方查询多的一方'
def end_day(): daily_manager = CitizenManager(daily_updates) updates = daily_manager.getAll() daily_manager.clearDb() manager = CitizenManager(main_db) for citizen in updates: citizen.num_of_ratings = 0 manager.update(citizen) global day day += 1 logging.debug("Konec dne ({}.1. -> {}.1.) [zadal: {}]".format( 10 + day, 11 + day, session['name'])) return redirect(url_for('home'))
def launch_all_krakens(cls): for (kraken_name, conf) in cls.data_sets.items(): additional_args = conf.get('kraken_args', []) exe = os.path.join(krakens_dir, kraken_name) logging.debug("spawning " + exe) assert os.path.exists(exe), "cannot find the kraken {}".format(exe) args = [exe] + additional_args kraken = subprocess.Popen(args, stderr=None, stdout=None, close_fds=False) cls.krakens_pool[kraken_name] = kraken logging.debug("{} kraken spawned".format(len(cls.krakens_pool)))
def create_dummy_json(cls): for name in cls.krakens_pool: instance_config = { "key": name, "zmq_socket": "ipc:///tmp/{instance_name}".format(instance_name=name) } instance_config.update(cls.data_sets[name].get('instance_config', {})) with open(os.path.join(krakens_dir, name) + '.json', 'w') as f: logging.debug("writing ini file {} for {}".format(f.name, name)) f.write(json.dumps(instance_config, indent=4)) #we set the env var that will be used to init jormun return [ os.path.join(os.environ['KRAKEN_BUILD_DIR'], 'tests', k + '.json') for k in cls.krakens_pool ]
def create_dummy_json(cls): conf_template_str = ( '{{ \n' ' "key": "{instance_name}",\n' ' "zmq_socket": "ipc:///tmp/{instance_name}",\n' ' "realtime_proxies": {proxy_conf}\n' '}}') for name in cls.krakens_pool: proxy_conf = cls.data_sets[name].get('proxy_conf', '[]') with open(os.path.join(krakens_dir, name) + '.json', 'w') as f: logging.debug("writing ini file {} for {}".format( f.name, name)) r = conf_template_str.format(instance_name=name, proxy_conf=proxy_conf) f.write(r) #we set the env var that will be used to init jormun return [ os.path.join(os.environ['KRAKEN_BUILD_DIR'], 'tests', k + '.json') for k in cls.krakens_pool ]
def create_dummy_json(cls): for name in cls.krakens_pool: instance_config = { "key": name, "zmq_socket": "ipc:///tmp/{instance_name}".format(instance_name=name), "realtime_proxies": cls.data_sets[name].get('proxy_conf', []) } street_network = cls.data_sets[name].get('street_network', None) if street_network: instance_config['street_network'] = street_network with open(os.path.join(krakens_dir, name) + '.json', 'w') as f: logging.debug("writing ini file {} for {}".format( f.name, name)) f.write(json.dumps(instance_config, indent=4)) #we set the env var that will be used to init jormun return [ os.path.join(os.environ['KRAKEN_BUILD_DIR'], 'tests', k + '.json') for k in cls.krakens_pool ]
def actions(action): if action in ["food", "pub", "school", "volunteer", "parents", "beauty"]: utils.processAction(session['name'], action, main_db, daily_updates) return render_template("universal.html", day=day) if action == "internet": if request.method == 'POST': if "camouflage" in request.form: utils.addScore(session['name'], -3, main_db, daily_updates) flash("Spustil jsi hru nebo video na internetu.", "info") return render_template("internet.html") if "hacking" in request.form: if request.form['hacked-password'] == "hongkongjesoucastciny": utils.addScore(session['name'], 25, main_db, daily_updates) flash( "Podařilo se ti prolomit do systému a upravit si svůj bodový účet.\ Ale jen lehce, aby nikdo nepojal podezření.", "success") logging.debug("Hacker (úspěch): {}".format( session['name'])) hackers_manager = CitizenManager(hackers_db) citizen = utils.getActualVersion(session['name'], main_db, daily_updates) hackers_manager.persist(citizen) return redirect(url_for('home')) else: flash("Toto není správné heslo!", "danger") logging.debug("Hacker (neúspěch): {} (pokus: {})".format( session['name'], request.form['hacked-password'])) return render_template("internet.html") hackers_manager = CitizenManager(hackers_db) citizen = hackers_manager.getByName(session['name']) if citizen: already_hacked = True else: already_hacked = False return render_template("internet.html", already_hacked=already_hacked)
def edit(name): if request.method == "POST": if 'interaction' in request.form: utils.socailInteraction(name, request.form['interaction_with'], main_db, daily_updates) flash( "Socialni interakce s: '" + request.form['interaction_with'] + "'. Změna skóre se projeví příští den.", "warning") logging.debug( "Sociální interakce: {} ({}) s {} ({}) [zadal: {}]".format( name, utils.getMorningLevel(name, main_db), request.form['interaction_with'], utils.getMorningLevel(request.form['interaction_with'], main_db), session["name"])) if 'score_update' in request.form: if request.form['score_update'] == "up": utils.addScore(name, int(request.form['score_update_value']), main_db, daily_updates) flash( "Update skore: +" + request.form['score_update_value'] + ". Změna skóre se projeví příští den.", "warning") logging.debug("Změna bodů ({}): +{} [zadal: {}]".format( name, request.form['score_update_value'], session['name'])) if request.form['score_update'] == "down": utils.addScore(name, -int(request.form['score_update_value']), main_db, daily_updates) flash( "Update skore: -" + request.form['score_update_value'] + ". Změna skóre se projeví příští den.", "warning") logging.debug("Změna bodů ({}): -{} [zadal: {}]".format( name, request.form['score_update_value'], session['name'])) manager = CitizenManager(main_db) citizen = manager.getByName(name) citizens = manager.getAll() if citizen: return render_template('edit.html', citizen=citizen, citizens=citizens) else: flash("Uživatel '" + name + "' není v databázi.", "danger") return redirect(url_for('summary'))
def kill_all_krakens(cls): for name, kraken_process in cls.krakens_pool.items(): logging.debug("killing " + name) kraken_process.kill()