def marketsEdit(idCrypt): # Recuperation des ressources statiques Bokeh js_resources = INLINE.render_js() css_resources = INLINE.render_css() # Creation de la Strategie stgyObj = StgyFactory("DEV").make() # Decryptage id idDecrypt = Crypt.decode(cfg._APP_SECRET_KEY, idCrypt) # Recuperation des infos data = MarketsModel().getMarketById(idDecrypt).to_dict('Records') # Recuperation des prix stgyObj.run(symbol=data[0]['symbol'], ut='H1') # Recuperation des Ordres df_orders = OrdersModel().getOrdersBySymbol(symbol=data[0]['symbol']) # Construction du Graphique avec Ordres graph = stgyObj.plot() graph.addOrders(df_orders) script, div = components(graph.save()) # Preparation des données de la page data = { 'id': idCrypt, # Graphique 'plot_div': div, 'plot_script': script, 'js_resources': js_resources, 'css_resources': css_resources } # Renvoi de la page return Render.htmlTemplate('home/marketEdit.html', data=data)
def updateBdd(self): """ Mise à jour de la BDD """ # Initialisation du modele self._mdl = MarketsModel() for row in self._markets: self._mdl.upsert(record=row) pass
def updateById(): if request.method == 'POST': # Recuperation + traitement des données du formulaire data = Utils.parseForm(dict(request.form)) # Decryptage id data["id"] = Crypt.decode(cfg._APP_SECRET_KEY, data["id"]) # Recuperation des infos MarketsModel().update(data) # Retour du message return Render.jsonTemplate(_OPERATION, 'Changement du Statut', categorie="SUCCESS") else: abort(400)
def getAll(): """Parse un fichier de log dans un DataFrame""" if request.method == 'POST': # Recuperation des infos data = MarketsModel().getAll() # Cryptage des id data["id"] = data.apply( lambda x: Crypt.encode(cfg._APP_SECRET_KEY, x['id']), axis=1) # Retour du message return Render.jsonTemplate(_OPERATION, 'Marchés', categorie="SUCCESS", data=data.to_dict("records")) else: abort(400)
def process_markets(self): """ ============================================================= Traiter les marchés à partir de la source de marché configurée ============================================================= """ # Recuperation des Marchés à Trader markets_to_trade = MarketsModel().get_to_trade() if markets_to_trade is None or markets_to_trade.empty: raise StopIteration('Aucun marchés à trader') # Parcours des Marchés LOGGER.info("Il y a {} marché(s) à analyser".format( len(markets_to_trade))) LOGGER.info("Debut Iteration des Marchés") for idx, item in markets_to_trade.iterrows(): self.process_market(market=item) raise StopIteration("Fin iteration des Marchés")
def getMarketById(): if request.method == 'POST': # Recuperation + traitement des données du formulaire data = Utils.parseForm(dict(request.form)) # Decryptage id idDecrypt = Crypt.decode(cfg._APP_SECRET_KEY, data["id"]) # Recuperation des infos df = MarketsModel().getMarketById(idDecrypt) data = {} data["info"] = {} data["info"] = df.to_dict("Records") # Retour du message return Render.jsonTemplate(_OPERATION, 'Marchés', categorie="SUCCESS", data=data) else: abort(400)