Ejemplo n.º 1
0
def collect_parents(_rid):
    # Get Result html
    url = "https://racev3.netkeiba.com/race/shutuba_past.html?race_id=" + _rid + "&rf=shutuba_submenu"
    page = load(url, "Shutuba_Past5_Table")

    # Parse Race Info
    selector = "div.Shutuba_HorseList > table > tbody > tr"
    table = extract_table(page, selector)

    # Parse Odds
    parents = {}
    for line in table[1:]:
        # HORSE NAME
        horse = fmt(line.select_one("div.Horse02").text, r"[^\x01-\x7E]+")
        # PARENT NAME
        father = fmt(line.select_one("div.Horse01").text, r".+")
        mother = fmt(line.select_one("div.Horse03").text, r".+")
        grand = fmt(line.select_one("div.Horse04").text, r"\((.+)\)")
        parents[horse] = {
            "father_name": father,
            "mother_name": mother,
            "grand_name": grand
        }

    return parents
Ejemplo n.º 2
0
def collect_odds(_rid):
    # Get Result html
    url = "https://racev3.netkeiba.com/odds/index.html?type=b1&race_id=" + _rid + "&rf=shutuba_submenu"
    page = load(url, "Odds")

    # Parse Race Info
    selector = "div#odds_fuku_block > table > tbody > tr"
    table = extract_table(page, selector)

    # Parse Odds
    odds = {}
    if table is not None:
        for fuku in table[1:]:
            # HORSE NAME
            horse = fmt(
                fuku.select_one("td.Horse_Name").text, r"[^\x01-\x7E]+")
            # PLACE RATE
            rate = fuku.select_one("td.Odds").text
            min_odds = fmt(rate, r"(\d+.\d{1}) - \d+.\d{1}", "float")
            max_odds = fmt(rate, r"\d+.\d{1} - (\d+.\d{1})", "float")
            odds[horse] = {
                "place_odds_min": min_odds,
                "place_odds_max": max_odds
            }

    return odds
Ejemplo n.º 3
0
def collect(_rid):
    # Get Result html
    url = "https://racev3.netkeiba.com/race/result.html?race_id=" + _rid + "&rf=race_list"
    page = load(url, "ResultTableWrap")

    # Get Entry html
    if page is None:
        url = "https://racev3.netkeiba.com/race/shutuba.html?race_id=" + _rid + "&rf=race_submenu"
        page = load(url, "tablesorter")

    # Parse race info
    if page is not None:
        upsert_race(page)
    else:
        return {"status": "ERROR", "message": "There is no page: " + _rid}

    return {"status": "SUCCESS", "message": _rid}
Ejemplo n.º 4
0
def bulk_collect(_year, _month):
    url = "https://keiba.yahoo.co.jp/schedule/list/" + _year + "/?month=" + _month
    page = load(url, "layoutCol2M")

    # Parse race info
    if page is not None:
        race_ids = parse_spn_rids(page)
    else:
        return {"status": "ERROR", "message": "There is no page: " + url}

    if len(race_ids) > 0:
        for rid in race_ids:
            collect(rid)
    else:
        return {"status": "ERROR", "message": "There is no page: " + url}

    return {"status": "SUCCESS", "message": "Start bulk collection process"}
Ejemplo n.º 5
0
        self.totalWeight.setObjectName('totalWeight')
        font.setPointSize(13)
        self.totalWeight.setFont(font)
        self.totalWeight.setAlignment(Qt.AlignCenter)
        self.totalWeight.setText('')
        self.totalWeight.setStyleSheet('background-color: {0}; border: 1px solid black;'.format(color0))

        # total cost of all products
        self.totalCost.setFixedSize(210, 40)
        font.setBold(False)
        self.totalCost.setObjectName('totalCost')
        font.setPointSize(13)
        self.totalCost.setFont(font)
        self.totalCost.setAlignment(Qt.AlignCenter)
        self.totalCost.setText('')
        self.totalCost.setStyleSheet('background-color: {0}; border: 1px solid black;'.format(color0))


if __name__ == '__main__':
    import sys
    from PyQt5.QtWidgets import QApplication
    app = QApplication(sys.argv)
    controller.load()
    config.mainFont = 'Century Gothic'
    editWindow = editwindow.EditWindow()
    window = MainWindow()
    print(type(windowObject))
    print(type(editWindow))
    window.show()
    sys.exit(app.exec_())
Ejemplo n.º 6
0
# -*- coding: utf-8 -*-
from flask_migrate import MigrateCommand
from flask_script import Manager
from flask import Flask
import controller
# from flask_restful import Api
from flask_login import LoginManager
from flasgger import Swagger
from db.postgres import ext

app = Flask(__name__)
app.config.from_json('%s/config.json' % app.root_path)

login_manager = LoginManager()
login_manager.session_protection = 'strong'
swagger = Swagger(app)
swagger.load_config(app)
login_manager.init_app(app)
ext.load(app)
controller.load(app)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
# ========================
from models.mode_case import CaseModel

if __name__ == '__main__':
    manager.run()
else:
    application = app