Пример #1
0
 def on_click_bt_on_sell(self):
     from model.database import Database
     db = Database()
     db.update_player_on_sell(p_id=self.player.id, on_sell=1)
     from model.my_player_store import my_player_store
     my_player_store.update_from_db()
     self.ON_SELL_PLAYER.emit()
Пример #2
0
 def open_database(self):
     dialog = QFileDialog()
     if(self.model.gamestate.last_open_dir != None):
         dialog.setDirectory(self.model.gamestate.last_open_dir)
     filename = dialog.getOpenFileName(self.mainAppWindow.chessboard_view, self.mainAppWindow.trUtf8('Open PGN'), \
                                       None, 'PGN (*.pgn)', QFileDialog.DontUseNativeDialog)
     if filename:
         db = Database(filename)
         db.init_from_pgn(self.mainAppWindow,self.mainAppWindow.trUtf8("Scanning PGN File..."))
         self.model.database = db
         self.model.user_settings.active_database = db.filename
         selectedGame = 0
         if(db.no_of_games() > 1):
             dlg = DialogBrowsePgn(db)
             if dlg.exec_() == QDialog.Accepted:
                 items = dlg.table.selectedItems()
                 selectedGame = int(items[0].text())-1
             else:
                 selectedGame = None
         if(not selectedGame == None and db.no_of_games() > 0):
             loaded_game = db.load_game(selectedGame)
             self.model.gamestate.current = loaded_game
             self.mainAppWindow.chessboard_view.update()
             self.mainAppWindow.chessboard_view.emit(SIGNAL("statechanged()"))
             self.mainAppWindow.save.setEnabled(False)
             self.mainAppWindow.setLabels()
             self.mainAppWindow.moves_edit_view.setFocus()
             self.model.gamestate.last_open_dir = QFileInfo(filename).dir().absolutePath()
             self.model.gamestate.init_game_tree(self.mainAppWindow)
     self.mainAppWindow.moves_edit_view.setFocus()
Пример #3
0
 def on_click_bt_delete(self):
     from model.database import Database
     db = Database()
     db.delete_my_player(p_id=self.player.id)
     from model.my_player_store import my_player_store
     my_player_store.update_from_db()
     self.ON_DELETE_PLAYER.emit()
def main():
    ''' Main function '''
    database_handle = Database()
    telegram_client = TelegramUserClient(database_handle)
    client = Client(database_handle, telegram_client)
    client.start()
    client.idle()
Пример #5
0
 def delete(self):
     learning_material = str(request.form['learning-material'])
     if learning_material == "Boy that Italian family over there sure is quiet":
         db = Database()
         db.delete_collection()
         return "dropped"
     return "not dropped"
Пример #6
0
 def get_mentor_by_id(cls, idx):
     db = Database()
     query = """SELECT * FROM Mentor WHERE id =(?)"""
     person = db.get(query, (idx, ))[0]
     print(person)
     new_mentor = Mentor(person[0], person[1], person[2], person[3],
                         person[4], person[5], person[6], person[7])
     return new_mentor
Пример #7
0
 def on_click_favorite(self):
     from model.database import Database
     db = Database()
     favorite = 0 if self.player.favorite else 1
     self.player.favorite = favorite
     db.update_favorite(p_id=self.player.id, favorite=favorite)
     self.update_ui()
     self.ON_FAVORITE_CHANGED.emit()
Пример #8
0
 def get_employee_by_id(cls, idx):
     db = Database()
     query = """SELECT * FROM Employee WHERE id =(?)"""
     person = db.get(query, (idx, ))[0]
     print(person)
     new_employee = Employee(person[0], person[1], person[2], person[3],
                             person[4], person[5], person[6], person[7])
     return new_employee
Пример #9
0
 def keyPressEvent(self, e):
     if type(e) == QKeyEvent and e.key() == Qt.Key_F1:
         c.ech += 1
         if c.ech > 3:
             c.ech = 1
         from model.database import Database
         db = Database()
         db.update_constant(c.ech)
         self.close()
Пример #10
0
 def on_click_save(self):
     from model.database import Database
     db = Database()
     p_id = self.player.id
     solding_price = int(self.sell_edit.text().replace(" ", ""))
     db.update_player_solding(p_id, solding_price)
     from model.my_player_store import my_player_store
     my_player_store.update_from_db()
     self.close()
Пример #11
0
 def submit_answer(cls, answer_text, student_id, assigment_id):
     db = Database()
     task_type = db.get("SELECT Task_type FROM Assignments WHERE id=(?)",
                        (assigment_id, ))[0][0]
     if task_type == "Personal":
         cls.submit_personal_answer(answer_text, student_id, assigment_id)
     elif task_type == "Team":
         cls.submit_team_answer(answer_text, student_id, assigment_id)
     db.close()
Пример #12
0
def main():
    db = Database(mode='PROD', echo=True)
    if not db.has_tables():
        db.make_tables()
    with open('.smurfs.txt') as f:
        for line in f:
            fetch_and_store_summoner(line.strip(), db)

    session = db.SessionMaker()
    print(session.query(GameStats, GameStats.champion).all())
Пример #13
0
 def get_student_by_id(cls, idx):
     db = Database()
     query = """SELECT * FROM Student WHERE id =(?)"""
     person = db.get(query, (idx, ))[0]
     print(person)
     person_object = Student(person[0], person[1], person[2], person[3],
                             person[4], person[5], person[6], person[7],
                             person[9], person[10])
     db.close()
     return person_object
Пример #14
0
def cli(ctx, db_host, db_port, db_password, db_username):
    try:
        logger.info(f"Connecting to mysql database {db_username}@{db_host}:{db_port}")
        db = Database(host=db_host, port=db_port, username=db_username, password=db_password)
        logger.info("Connected to database successfully.")
        ctx.obj = db
    except Exception as e:
        click.echo("Unable to connect to the database")
        click.echo(e)
        sys.exit(1)
Пример #15
0
    def get_list_of_mentors(cls):
        list_of_mentors = []
        db = Database()
        query = """SELECT * FROM Mentor;"""
        for person in db.get(query):
            person_object = Mentor(person[0], person[1], person[2], person[3],
                                   person[4], person[5], person[6], person[7])
            list_of_mentors.append(person_object)

        db.close()
        return list_of_mentors
Пример #16
0
    def get_list_of_students(cls):
        list_of_students = []
        db = Database()
        query = """SELECT * FROM Student;"""
        for person in db.get(query):
            person_object = Student(person[0], person[1], person[2], person[3],
                                    person[4], person[5], person[6], person[7],
                                    person[9], person[10])
            list_of_students.append(person_object)

        db.close()
        return list_of_students
Пример #17
0
    def get(self, clientId, month):
        db = Database(None)
        df = Dataframe(None)

        query = {"clientId": clientId, "month": month}
        result = db.doQuery(self.db, self.coll, query)
        orders = df.createDf(result)

        if len(result) > 0:
            orders = df.deleteCol(orders, "_id")

        return df.toJson(orders, True)
Пример #18
0
    def get_list_of_employees(cls):
        list_of_employees = []
        db = Database()
        query = """SELECT * FROM Employee;"""
        for person in db.get(query):
            person_object = Employee(person[0], person[1], person[2],
                                     person[3], person[4], person[5],
                                     person[6], person[7])
            list_of_employees.append(person_object)

        db.close()
        return list_of_employees
Пример #19
0
 async def setUpClass(cls):
     telegram_client = TelegramClient()
     # A hack to ensure dispatcher exist
     Dispatcher._set_singleton(  # pylint: disable=W0212
         telegram_client.updater.dispatcher)  # pylint: disable=W0212
     database_handle = Database(testing=True)
     database_handle.drop_testing_database()
     cls.client = Client(database_handle, telegram_client)
     cls.client.start()
     cls.user = TelegramUser()
     await cls.user.start()
     await cls.user.setup_chat()
Пример #20
0
    def save(self):
        db = Database()
        values = (self.name, self.surname, self.email, self.date_of_birth,
                  self.city, self.phone, self.login, self.user_id)

        if not self.user_id:
            values = values[:-1]
            query = """INSERT INTO Employee(Name, Surname, Email, Date_of_birth, City, Phone, Login) VALUES (?,?,?,?,?,?,?);"""
        else:
            query = """UPDATE Employee SET Name=(?), Surname=(?), Email=(?), Date_of_birth=(?), City=(?), Phone=(?), Login=(?) WHERE id =(?);"""

        db.set(query, values)
        db.close()
Пример #21
0
 def on_click_save(self):
     from model.database import Database
     db = Database()
     from utils.price import get_max_buy_price
     p_id = self.player.id
     buy_price = int(self.buy_edit.text().replace(" ", ""))
     max_buy_price = get_max_buy_price(self.player.price)
     db.add_my_player(player_id=p_id,
                      buy_price=buy_price,
                      max_buy_price=max_buy_price)
     from model.my_player_store import my_player_store
     my_player_store.update_from_db()
     self.close()
Пример #22
0
def update_price(progress_bar):
    value_progress_bar = 0
    progress_bar.setValue(value_progress_bar)
    player_store.players = []
    for page_index in range(0, 100):
        url = "https://www.futwiz.com/en/fifa19/players?page=" + str(
            page_index)
        query = requests.get(url)
        page = query.content
        html_data = BeautifulSoup(page, features="html.parser")
        rows = html_data.find_all("tr", attrs={"table-row"})
        for row in rows:
            p = Player()
            player = row.find("td", attrs={"player"})
            tds = row.find_all("td", width=True)
            price = None
            for td in tds:
                if td["width"] == "30":
                    price = td.string.strip()
            price = int(price.replace(",", ""))
            if price == 0:
                continue
            ovr = row.find("td", attrs={"ovr"})
            gen = ovr.a.div.div.string
            _type = ovr.a.div["class"][1]
            _type = _type.replace("otherversion19-", "")
            nom = player.find("p", attrs={"name"}).a.b.string
            nom = nom.replace("'", "")
            team = player.find("p", attrs={"team"})
            index = 0
            club = None
            championnat = None
            for string in team.strings:
                if string and (not string.isspace()):
                    if index == 0:
                        club = string
                    if index == 2:
                        championnat = string
                    index += 1
            p.nom = nom
            p.club = club
            p.championnat = championnat
            p.gen = gen
            p._type = _type
            p.price = price
            player_store.players.append(p)
            from model.database import Database
            db = Database()
            db.update_price(nom=nom, price=price, type=_type, gen=gen)
        value_progress_bar += 1
        progress_bar.setValue(value_progress_bar)
Пример #23
0
 def update_from_db(self):
     self.my_players = []
     from model.my_player import MyPlayer
     from model.database import Database
     db = Database()
     my_players = db.get_my_players()
     for player in my_players:
         new_my_player = MyPlayer(player_id=player[0],
                                  buy_price=player[1],
                                  max_buy_price=player[2],
                                  on_sell=player[3],
                                  id=player[4],
                                  solding_price=player[5])
         self.my_players.append(new_my_player)
Пример #24
0
 def get_assigment_by_id(task_id):
     db = Database()
     assigment_data = db.get("SELECT * FROM Assignments WHERE id=(?)",
                             (task_id, ))[0]
     answers = db.get(
         "SELECT * FROM Answers WHERE Assignment_ID=(?)",
         (assigment_data[0], ))  # get answers for assigment with a[0]-id
     answers = [
         Answer(d[0], d[1], d[2], d[3], d[4], d[5], d[6]) for d in answers
     ]
     assigment_object = Assigment(assigment_data[0], assigment_data[1],
                                  assigment_data[2], answers)
     db.close()
     return assigment_object
Пример #25
0
 def submit_personal_answer(cls, answer_text, student_id, assigment_id):
     db = Database()
     is_answer_exist = db.get(
         "SELECT EXISTS (SELECT * FROM Answers WHERE Student_ID=(?) AND Assignment_ID=(?))",
         (student_id, assigment_id))
     if is_answer_exist[0][0]:
         db.set(
             "UPDATE Answers SET Answer_text=(?) WHERE Student_ID=(?) AND Assignment_ID=(?)",
             (answer_text, student_id, assigment_id))
     else:
         db.set(
             "INSERT INTO Answers(Answer_text, Student_ID, Assignment_ID) VALUES (?,?,?)",
             (answer_text, student_id, assigment_id))
     db.close()
Пример #26
0
    def create_on_startup(cls, parentWidget):

        # default gamestate is just entering moves
        gamestate = gs.GameState()
        gamestate.mode = gs.MODE_ENTER_MOVES

        # default active engine is the internal one (Stockfish)
        user_settings = us.UserSettings()
        user_settings.engines.append(us.InternalEngine())
        user_settings.active_engine = user_settings.engines[0]

        database = None

        # if existing, recover game state, user settings, and
        # database that user used before exiting app last time
        # (by unpickling)
        # TODO: replace by proper JSON serialization
        fn = ad.user_data_dir(appname, appauthor)
        save_dir = fn
        try:
            with open(fn+os.sep+"current.pgn") as pgn:
                game = chess.pgn.read_game(pgn)
                gamestate.current = game
                gamestate.init_game_tree(mainAppWindow=parentWidget)
            pgn.close()
        except BaseException as e:
            print(e)
            pass
        user_settings.load_from_file(fn+os.sep+"settings.ini")
        if(not user_settings.active_database == None):
            database = Database(user_settings.active_database)
        else:
            default_db_path = fn + os.sep + "mygames.pgn"
            database = Database(default_db_path)

        return Model(gamestate,database,user_settings, save_dir)
Пример #27
0
 def new_database(self):
     ret = self.mainAppWindow.gamestateController.unsaved_changes()
     if(not ret == QMessageBox.Cancel):
         file_dialog = QFileDialog()
         filename = file_dialog.getSaveFileName(self.mainAppWindow, self.mainAppWindow.trUtf8('Create New PGN'), \
                                                None, 'PGN (*.pgn)', QFileDialog.DontUseNativeDialog)
         if(filename):
             if(not filename.endswith(".pgn")):
                 filename = filename + ".pgn"
             self.model.gamestate.last_save_dir = QFileInfo(filename).dir().absolutePath()
             db = Database(filename)
             db.create_new_pgn()
             self.mainAppWindow.save.setEnabled(False)
             self.model.database = db
             self.model.user_settings.active_database = db.filename
     self.mainAppWindow.moves_edit_view.setFocus()
Пример #28
0
 def get_list_of_assigments():
     db = Database()
     assigments_data_list = db.get("SELECT * FROM Assignments")
     assigments_objects_list = []
     for a in assigments_data_list:
         answers = db.get(
             "SELECT * FROM Answers WHERE Assignment_ID=(?)",
             (a[0], ))  # get answers for assigment with a[0]-id
         answers = [
             Answer(d[0], d[1], d[2], d[3], d[4], d[5], d[6])
             for d in answers
         ]
         assigments_objects_list.append(Assigment(a[0], a[1], a[2],
                                                  answers))
     db.close()
     return assigments_objects_list
Пример #29
0
 def submit_team_answer(cls, answer_text, student_id, assigment_id):
     db = Database()
     team_id = db.get("SELECT Team_ID FROM Student WHERE id=(?)",
                      (student_id, ))[0][0]
     is_answer_exist = db.get(
         "SELECT EXISTS (SELECT * FROM Answers WHERE Team_ID=(?) AND Assignment_ID=(?))",
         (team_id, assigment_id))
     if is_answer_exist[0][0]:
         db.set(
             "UPDATE Answers SET Answer_text=(?) WHERE Team_ID=(?) AND Assignment_ID=(?)",
             (answer_text, team_id, assigment_id))
     else:
         db.set(
             "INSERT INTO Answers(Answer_text, Team_ID, Assignment_ID) VALUES (?,?,?)",
             (answer_text, team_id, assigment_id))
     db.close()