def enter_ent_calculate_new(device_name): top_x = settings.get_value("ent_top_pos_x") # 这个是进入直播间计算速度计算 top_y = settings.get_value("ent_top_pos_y") print "top_x = {}, topy_y = {}".format(top_x, top_y) dir_count = count_dirs("./screenrecord/" + device_name + "_enterliveroom/") print "dir_count = {}".format(dir_count) device_len = len(getDevices()) num = cpu_num - 1 - device_len if num <= 0: num = 1 pool = ThreadPool(num) params = [] results = [] start_time = datetime.datetime.now() for i in range(0, dir_count): path = "./screenrecord/" + device_name + "_enterliveroom/" + device_name + "_enterliveroom_" + str( i) + "/" params_temp = {"path": path, "top_x": top_x, "top_y": top_y} params.append(params_temp) results = pool.map(enter_ent_calculate_part, params) end_time = datetime.datetime.now() pool.close() pool.join() print "actual calculate time = {} -------------- {}".format( end_time - start_time, results) return results
def list_people(): people = People.query return render_template('people_list.html', people=people, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'), SECTION_NAME=get_value('SECTION_NAME'))
def prods_add(manufac_name): has_product = False if request.method == 'POST': barcode = request.form['barcode'] price = request.form['price'] vat_price = request.form['vat_price'] selling_price = request.form['selling_price'] manufac = request.form['manufac'] has_product = db.session.query( exists().where(Products.barcode == barcode)).scalar() if has_product == False: p = Products(barcode=barcode, price=price, vat_price=vat_price, selling_price=selling_price, manufacturer=manufac) db.session.add(p) db.session.commit() return render_template('prods/add.html', manufac=manufac_name, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'), has_product=str(has_product)) return render_template('prods/add.html', manufac=manufac_name, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'), has_product=str(has_product))
def run_backtest(name, strategy, start_date, end_date, starting_cash, interval): sim = simulation.BacktestSimulation(strategy, start_date, end_date=end_date, starting_cash=starting_cash, interval=interval) sim.strategy.fee = float(settings.get_value("stock_fee")) / 100 strategy = sim.run() backtest_folder = settings.get_value("backtest_path") result_folder = os.path.join(backtest_folder, name) # clear folder if not os.path.isfile(result_folder): if os.path.isdir(result_folder): shutil.rmtree(result_folder) os.mkdir(result_folder) else: raise FileExistsError() with open(os.path.join(result_folder, "records.csv"), "w") as f: strategy.recordings.to_csv(f) with open(os.path.join(result_folder, "trades.json"), "w") as f: json.dump(strategy.trades, f, indent=4, default=str) statistics = create_statistics(strategy) with open(os.path.join(result_folder, "statistics.json"), "w") as f: json.dump(statistics, f)
def list_prods(manufac_name): products = Products.query.filter_by(manufacturer=manufac_name) return render_template('prods/list.html', prods=products, manufac=manufac_name, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'), SECTION_NAME=get_value('SECTION_NAME'))
def appointment_edit(ids): a = Appointments.query.get(ids) return render_template('appointment_edit.html', id=a.id, name=a.name, date=a.date, active=a.active, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'))
def appointment_edit(id): u = Users.query.get(id) return render_template('admin/edit.html', id=u.id, name=u.name, password=u.password, admin_user=u.admin_user, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'))
def people_edit(person_name): p = People.query.filter(People.name == person_name).first() return render_template('people_edit.html', name=p.name, birthday=p.birthday, about=p.about, social_media=p.social_media, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'))
def enter_ent_calcucate(device_name): top_x = settings.get_value("ent_top_pos_x") # 这个是进入直播间计算速度计算 top_y = settings.get_value("ent_top_pos_y") print "top_x = {}, topy_y = {}".format(top_x, top_y) dir_count = count_dirs("./screenrecord/" + device_name + "_enterliveroom/") print "dir_count = {}".format(dir_count) for i in range(dir_count): enter_ent_calculate_part( "./screenrecord/" + device_name + "_enterliveroom/" + device_name + "_enterliveroom_" + str(i) + "/", top_x, top_y)
def people_edit(name): a = People.query.get(name) return render_template('people/edit.html', id=a.id, name=a.name, birthday=a.birthday, about=a.about, social_media=a.social_media, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'))
def people_edit(id): a = People.query.get(id) return render_template('people/edit.html', id=a.id, name=a.name, phone=a.phone, mobile=a.mobile, email=a.email, linkedin=a.linkedin, facebook=a.facebook, twitter=a.twitter, age=a.age, birthday=a.birthday, notes=a.notes, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'))
def prods_edit(manufac_name, barcode): p = Products.query.filter( Products.barcode == barcode and Products.manufacturer == manufac_name).first() return render_template('prods/edit.html', barcode=p.barcode, price=p.price, vat_price=p.vat_price, selling_price=p.selling_price, manufac=manufac_name, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'))
def login(): if request.method == 'POST': user_id = request.form['user_id'] password = request.form['password'] user = Users.query.filter_by(id=user_id).first() if user is None or not user.check_hash(password): flash('please check your user id and password') return redirect(url_for('login.login')) login_user(user) return redirect(url_for('manufac.manufac')) return render_template('admin/login.html', OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_NAME=get_value('SECTION_NAME'))
def save_main(): def has_internet(): url = 'http://www.google.com/' timeout = 5 try: _ = requests.get(url, timeout=timeout) return True except requests.ConnectionError: print("İnternet bağlantısı yok.") return False return render_template('save/index.html', has_internet=has_internet(), OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_NAME=get_value('SECTION_NAME'))
def manufac_add(): has_manufac = False if request.method == 'POST': name = request.form['name'] has_manufac = db.session.query( exists().where(Manufacturers.name == name)).scalar() if has_manufac == False: m = Manufacturers(name=name) db.session.add(m) db.session.commit() return render_template('manufac/add.html', OUR_APP_NAME=get_value('OUR_APP_NAME'), has_manufac=str(has_manufac)) return render_template('manufac/add.html', OUR_APP_NAME=get_value('OUR_APP_NAME'), has_manufac=str(has_manufac))
def _midi_handler(msg): global _time_counter, _last_message if ReplayViewer.playing: return c_time = time() if not _last_message: _last_message = c_time delay = c_time - _last_message _last_message = c_time _time_counter += delay msg.time = delay history_length = settings.get_value("Replay Length") _midi_history.append(msg) while _time_counter - history_length > 0: if len(_midi_history) < 2: break first_note_post_time = _midi_history[ 1].time # delay after first note is delay before second _time_counter -= first_note_post_time removed_msg = _midi_history.pop(0) pedal_idx = _get_pedal_idx(removed_msg) if pedal_idx is not None: _pedal_poses[pedal_idx] = removed_msg.value
def app(): # file selector st.title("Lauch new Strategy") strategys_path = settings.get_value("strategys_path") sys.path.append(strategys_path) files = [] for f in os.listdir(strategys_path): if not os.path.isfile(os.path.join(strategys_path, f)): continue try: name, ext = f.split(".")[:2] except AttributeError(): continue if ext == "py": files.append(name) st.subheader("Select file") file = st.radio("", files) with st.beta_expander("Backtest"): # parameter selector name = st.text_input("Strategy Name", value=file) c1, c2 = st.beta_columns(2) with c1: start_date = st.date_input("From", value=datetime.today() - timedelta(weeks=208)) with c2: end_date = st.date_input("To", value=datetime.today()) with c1: interval = st.selectbox("Data interval", interval_options, index=4) with c2: starting_cash = int(st.text_input("starting cash", value=100000)) if st.button("Run", key="backtest"): # run backtest process strategy = load_strategy(file) proc = multiprocessing.Process(target=run_backtest, args=(name, strategy, start_date, end_date, starting_cash, interval)) proc.start() with st.spinner("Running Backtest"): proc.join() st.success("Backtest complete") with st.beta_expander("Live"): if st.button("Run", key="live"): # run thread pass
def people_add(): if request.method == 'POST': name = request.form['name'] birthday = request.form['birthday'] about = request.form['about'] social_media = request.form['social_media'] # calculate age today_date = date.today() date_format = "%Y-%m-%d" b_day = datetime.datetime.strptime(birthday, date_format) age = today_date.year - b_day.year - ( (today_date.month, today_date.day) < (b_day.month, b_day.day)) # insert data into DB p = People(name=name, birthday=birthday, age=age, about=about, social_media=social_media) db.session.add(p) db.session.commit() return redirect('/people/add') return render_template('people/add.html', OUR_APP_NAME=get_value('OUR_APP_NAME'), message='')
def people_add(): if request.method == 'POST': name = request.form['name'] phone = request.form['phone'] mobile = request.form['mobile'] email = request.form['email'] linkedin = request.form['linkedin'] facebook = request.form['facebook'] twitter = request.form['twitter'] birthday = request.form['birthday'] notes = request.form['notes'] # calculate age today_date = date.today() date_format = "%Y-%m-%d" b_day = datetime.datetime.strptime(birthday, date_format) age = today_date.year - b_day.year - ( (today_date.month, today_date.day) < (b_day.month, b_day.day)) # insert data into DB person = People(name=name, phone=phone, mobile=mobile, email=email, linkedin=linkedin, facebook=facebook, twitter=twitter, age=age, birthday=birthday, notes=notes) db.session.add(person) db.session.commit() return redirect('/people/add') return render_template('people/add.html', OUR_APP_NAME=get_value('OUR_APP_NAME'), message='')
def manufac_add(): if request.method == 'POST': name = request.form['name'] m = Manufacturers(name=name) db.session.add(m) db.session.commit() return redirect('/manufac/add') return render_template('manufac_add.html', OUR_APP_NAME=get_value('OUR_APP_NAME'))
async def breaks_filter(messagecontext) -> bool: message = messagecontext.message filter_str = settings.get_value(messagecontext.guild_id(), 'filter') filter_list = json.loads(filter_str) # loads as list if messagecontext.contains_filtered_terms(filter_list): return True return False
def manufac_update(): if request.method == 'POST': #this block is only entered when the form is submitted name = request.form['manufac_name'] old_name = request.form['old_manufac_name'] try: m = Manufacturers.query.get(old_name) m.name = name db.session.commit() except sqlalchemy.exc.IntegrityError: # return redirect('/manufac/') render_template( 'manufac_message.html', message="you cannot modify to an already existing manufacturer", redirect_url="/manufac/", OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_NAME=get_value('SECTION_NAME')) #return redirect(url_for('edit', barcode=barcode)) return redirect('/manufac/')
def people_add(): if request.method == 'POST': name = request.form['name'] birthday = request.form['birthday'] age = age_from_birthday(birthday) about = request.form['about'] social_media = request.form['social_media'] p = People(name=name, about=about, birthday=birthday, social_media=social_media, age=age) db.session.add(p) db.session.commit() return redirect('/people/add') return render_template('people_add.html', OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'))
def appointment_add(): if request.method == 'POST': name = request.form['name'] date = request.form['date'] active = request.form['active'] m = Appointments(name=name, date=date, active=active) db.session.add(m) db.session.commit() return redirect('/appointment/add') return render_template('appointment_add.html', OUR_APP_NAME=get_value('OUR_APP_NAME'))
def prods_add(manufac_name): if request.method == 'POST': barcode = request.form['barcode'] price = request.form['price'] vat_price = request.form['vat_price'] selling_price = request.form['selling_price'] manufac = request.form['manufac'] p = Products(barcode=barcode, price=price, vat_price=vat_price, selling_price=selling_price, manufacturer=manufac) db.session.add(p) db.session.commit() return redirect('/prods/add/{}'.format(manufac_name)) return render_template('prods_add.html', manufac=manufac_name, OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_ITEMS=get_value('SECTION_ITEMS'))
def settings_update(): settings_name = request.form['settings_name'] settings_value = request.form['settings_value'] s = Settings.query.get(settings_name) s.value = settings_value db.session.commit() settings = Settings.query.all() return render_template('settings/index.html', settings=settings, OUR_APP_NAME=get_value('OUR_APP_NAME'))
def app(): st.title("Results") # each folder in Results is an option to select lean_location = settings.get_value("path") result_path = os.path.join(lean_location, "Results") options = [ d for d in os.listdir(result_path) if os.path.isdir(os.path.join(result_path, d)) ] algo_name = st.selectbox("Algorithm", options) parse_result(os.path.join(result_path, algo_name), algo_name)
def user_add(): if request.method == 'POST': id = request.form['id'] name = request.form['name'] password = request.form['password'] admin_user = request.form.get('admin_user') if admin_user == 'True': admin_user = True else: admin_user = False has_user = db.session.query(exists().where(Users.id == id)).scalar() if has_user is False: new_user = Users(id=id, name=name, admin_user=admin_user) new_user.set_hash(password) db.session.add(new_user) db.session.commit() return render_template('admin/add.html', OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_NAME=get_value('SECTION_NAME')) return render_template('admin/add.html', OUR_APP_NAME=get_value('OUR_APP_NAME'), SECTION_NAME=get_value('SECTION_NAME'))
async def filter_command(self, ctx, *, input=None): """Adjust filtered words""" guild_id = ctx.guild.id if not input: await ctx.send(f'Usage: filter add/remove word', delete_after=5) return args = input.split() if (len(args) < 2): await ctx.send(f'Usage: filter add/remove word', delete_after=5) return filter = json.loads(settings.get_value(guild_id, 'filter')) words = input.split() del words[0] # delete the first term, the "operand" if (args[0] == 'add'): for word in words: filter.append(word) elif (args[0] == 'remove'): for word in words: filter.remove(word) else: await ctx.send(f'Usage: filter add/remove word word word', delete_after=5) return # save the file, convert the ' to " first, since json dies settings.set_value(guild_id, 'filter', f'{filter}'.replace('\'', '"')) try: settings.save_config() if (args[0] == 'add'): await ctx.send( f'{len(words)} words added to filter, {owouwu.gen()}', delete_after=5) elif (args[0] == 'remove'): await ctx.send( f'{len(words)} words removed from filter, {owouwu.gen()}', delete_after=5) await ctx.message.add_reaction('✅') except: await ctx.send(f'Command failed to execute', delete_after=5)
def app(): st.title("Execute") st.header("Select an algorithm") st.write("choose a file") file = st.file_uploader("") if file is not None: data = file.read() expander = st.beta_expander(file.name) with expander: encoding = settings.get_value("encoding") st.code(data.decode(encoding)) st.text("") st.text("") if st.button("RUN"): run_algo(file, data)