コード例 #1
0
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
コード例 #2
0
ファイル: app.py プロジェクト: jakub-h/china_larp
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'))
コード例 #3
0
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)}
コード例 #4
0
    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"
コード例 #5
0
ファイル: tests_mechanism.py プロジェクト: eturck/navitia
 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()
コード例 #6
0
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 '通过一的一方查询多的一方'
コード例 #7
0
ファイル: app.py プロジェクト: jakub-h/china_larp
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'))
コード例 #8
0
ファイル: tests_mechanism.py プロジェクト: eturck/navitia
    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)))
コード例 #9
0
ファイル: tests_mechanism.py プロジェクト: eturck/navitia
    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
        ]
コード例 #10
0
    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
        ]
コード例 #11
0
ファイル: tests_mechanism.py プロジェクト: ballouche/navitia
    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
        ]
コード例 #12
0
ファイル: app.py プロジェクト: jakub-h/china_larp
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)
コード例 #13
0
ファイル: app.py プロジェクト: jakub-h/china_larp
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'))
コード例 #14
0
 def kill_all_krakens(cls):
     for name, kraken_process in cls.krakens_pool.items():
         logging.debug("killing " + name)
         kraken_process.kill()