예제 #1
0
    def fill_database(self):
        self.database.create_musicians_table()
        self.database.create_releases_table()
        self.database.create_listeners_table()
        self.database.create_listeners_releases_table()

        patokaband = Musician(name='Patoka',
                              status=Status.BAND.value,
                              members=["Skiper", "Kovalski", "Rico"])
        sportband = Musician(name='Lets sport',
                             status=Status.BAND.value,
                             members=["Skiper", "Kovalski", "Private"])
        sportsband = Musician(
            name='sports',
            status=Status.ORCHESTRA.value,
            members=["Skiper", "Kovalski", "Rico", "Private"])
        sportsportsport = Musician(
            name='sport sport sport',
            status=Status.BAND.value,
            members=["sportsman1", "sportsman2", "sportsman3"])
        release1 = Release(name='Release1',
                           date=datetime.datetime(year=1999, month=1, day=7),
                           style="Pop",
                           is_video=True,
                           musician_id=3)
        release2 = Release(name='Release2',
                           date=datetime.datetime(year=2018, month=1, day=7),
                           style="Garage rock",
                           is_video=False,
                           musician_id=1)
        release3 = Release(name='Release3',
                           date=datetime.datetime(year=2018, month=1, day=7),
                           style="Rock",
                           is_video=False,
                           musician_id=3)
        listener1 = Listener(name='Anna Siryk',
                             services=["soundcloud", "bandcamp"])
        listener2 = Listener(name='Simple Listener',
                             services=["soundcloud", "vk"])
        listener3 = Listener(name='Listener3', services=["soundcloud"])

        self.database.create_new_musician(patokaband)
        self.database.create_new_musician(sportband)
        self.database.create_new_musician(sportsband)
        self.database.create_new_musician(sportsportsport)
        # self.database.generate_random_musicians(100)

        self.database.create_new_release(release1)
        self.database.create_new_release(release2)
        self.database.create_new_release(release3)

        self.database.create_new_listener(listener1)
        self.database.create_new_listener(listener2)
        self.database.create_new_listener(listener3)

        self.database.add_listener_release(1, 1)
        self.database.add_listener_release(2, 1)
        self.database.add_listener_release(1, 2)
예제 #2
0
 def on_ok(self):
     listener = Listener(self.wgName.value, self.wgServices.value.split(','))
     if self.record_id: # We are editing an existing record
         self.parentApp.database.update_listener_by_id(self.record_id, listener)
     else: # We are adding a new record.
         self.parentApp.database.create_new_listener(listener)
     self.parentApp.switchFormPrevious()
예제 #3
0
class Slippery(FoeSkill):
    name = 'Скользкий'
    listeners = [
        Listener(
            description="В фазу Удара, если в результатах броска есть 1, отмените 1 Успех",
            phase=CombatPhase.attack_count_successes,
            func=fs_func.slippery,
            is_applicable=lambda success_count, attack: 1 in attack.roll and success_count > 0
        )
    ]
예제 #4
0
class Press(FoeSkill):
    name = 'Натиск'
    listeners = [
        Listener(
            description='Если противник не получил ран в фазу Атаки, 1 хит противника заменяется на буст',
            phase=CombatPhase.attack_count_successes,
            func=fs_func.press,
            is_applicable=lambda success_count, attack: success_count == 0 and attack.combat.foe.hits > 0
        )
    ]
예제 #5
0
class Agile(FoeSkill):
    name = 'Верткий'
    listeners = [
        Listener(
            description='При Ударе 6 не дает успехов',
            phase=CombatPhase.attack_count_successes,
            func=fs_func.agile,
            is_applicable=lambda success_count, attack: 6 in attack.roll
        )
    ]
예제 #6
0
 def generate_random_listeners(self, num: int):
     for i in range(num):
         name = self.__generate_random_string(3, 12)
         number_of_services = random.randint(1, 4)
         services = []
         for j in range(number_of_services):
             band_name = self.__generate_random_string(3, 12)
             services.append(band_name)
         listener = Listener(name, services)
         releases_count = self.get_releases_count()
         release_id = random.randint(1, releases_count)
         self.create_new_listener(listener, release_id)
예제 #7
0
class LightSilverSword3(Item):
    name = 'Легкий серебряный меч'
    traits = [ItemTrait.sword, ItemTrait.silver]
    listeners = [
        item_funcs.LsrAttackBonus(modifier=2, material=ItemTrait.silver),
        LsrBlockBonus(1),
        Listener(
            description=
            'После броска Удара добавляет +1 к кубику с наименьшим значением',
            phase=CombatPhase.attack_modify_roll,
            func=item_funcs.diceroll_modify_least({0: 1}),
        )
    ]
예제 #8
0
                    high_plateau_lr=0.0003,
                    low_plateau_lr=0.00001,
                    teacher_forcing=0.90,
                    seed=1,
                    max_len=151)

    random.seed(config.seed)
    torch.manual_seed(config.seed)
    torch.cuda.manual_seed_all(config.seed)
    cuda = config.use_cuda and torch.cuda.is_available()
    device = torch.device('cuda' if cuda else 'cpu')

    listener = Listener(in_features=80,
                        hidden_size=config.hidden_size,
                        dropout_p=config.dropout,
                        n_layers=config.listener_layer_size,
                        bidirectional=config.use_bidirectional,
                        rnn_cell='gru',
                        use_pyramidal=config.use_pyramidal,
                        device=device)
    speller = Speller(n_class=len(char2id),
                      max_length=config.max_len,
                      k=8,
                      hidden_size=config.hidden_size <<
                      (1 if config.use_bidirectional else 0),
                      sos_id=SOS_TOKEN,
                      eos_id=EOS_TOKEN,
                      n_layers=config.speller_layer_size,
                      rnn_cell='gru',
                      dropout_p=config.dropout,
                      use_attention=config.use_attention,
                      device=device)
예제 #9
0
    logger.info("CUDA is available : %s" % (torch.cuda.is_available()))
    logger.info("CUDA version : %s" % (torch.version.cuda))
    logger.info("PyTorch version : %s" % (torch.__version__))

    hparams = HyperParams()

    random.seed(hparams.seed)
    torch.manual_seed(hparams.seed)
    torch.cuda.manual_seed_all(hparams.seed)
    cuda = hparams.use_cuda and torch.cuda.is_available()
    device = torch.device('cuda' if cuda else 'cpu')

    listener = Listener(feat_size=128,
                        hidden_size=hparams.hidden_size,
                        dropout_p=hparams.dropout,
                        n_layers=hparams.listener_layer_size,
                        bidirectional=hparams.use_bidirectional,
                        rnn_cell='gru',
                        use_pyramidal=hparams.use_pyramidal,
                        device=device)
    speller = Speller(vocab_size=len(char2id),
                      max_len=hparams.max_len,
                      k=8,
                      hidden_size=hparams.hidden_size <<
                      (1 if hparams.use_bidirectional else 0),
                      sos_id=SOS_TOKEN,
                      eos_id=EOS_TOKEN,
                      n_layers=hparams.speller_layer_size,
                      rnn_cell='gru',
                      dropout_p=hparams.dropout,
                      use_attention=hparams.use_attention,
                      device=device)
예제 #10
0
def LsrBlockBonus(modifier):
    return Listener(
        description=f"Блок +{modifier}",
        phase=CombatPhase.block_collect_dice,
        func=item_funcs.flat_bonus(modifier),
    )