當前位置: 首頁>>代碼示例>>Python>>正文


Python secrets.choice方法代碼示例

本文整理匯總了Python中secrets.choice方法的典型用法代碼示例。如果您正苦於以下問題:Python secrets.choice方法的具體用法?Python secrets.choice怎麽用?Python secrets.choice使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在secrets的用法示例。


在下文中一共展示了secrets.choice方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: save

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def save(self, *args, **kwargs):
        """Generate the oauth consumer key and shared secret randomly upon creation.

        Parameters
        ----------
        args : list
            Passed onto parent's `save` method
        kwargs: dict
            Passed onto parent's `save` method

        """
        self.full_clean()
        if not self.oauth_consumer_key:
            self.oauth_consumer_key = "".join(
                secrets.choice(OAUTH_CONSUMER_KEY_CHARS)
                for _ in range(OAUTH_CONSUMER_KEY_SIZE)
            )
        if not self.shared_secret:
            self.shared_secret = "".join(
                secrets.choice(SHARED_SECRET_CHARS) for _ in range(SHARED_SECRET_SIZE)
            )
        super().save(*args, **kwargs) 
開發者ID:openfun,項目名稱:marsha,代碼行數:24,代碼來源:account.py

示例2: get_result_dict

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def get_result_dict(self):
        res = []
        for choice in self.choice_set.all():
            d = {}
            alert_class = ['primary', 'secondary', 'success',
                           'danger', 'dark', 'warning', 'info']

            d['alert_class'] = secrets.choice(alert_class)
            d['text'] = choice.choice_text
            d['num_votes'] = choice.get_vote_count
            if not self.get_vote_count:
                d['percentage'] = 0
            else:
                d['percentage'] = (choice.get_vote_count /
                                   self.get_vote_count)*100

            res.append(d)
        return res 
開發者ID:devmahmud,項目名稱:Django-Poll-App,代碼行數:20,代碼來源:models.py

示例3: accept_duel

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def accept_duel(channel: str, challenger: str, target: str) -> Tuple[Optional[str], Optional[int]]:
    """
    accepts a duel from [target] issued by [challenger]
    returns tuple of (winner, bet) if duel exists and has not expired, else (None, None)

    :param channel: the channel which the challenger / target is in
    :param challenger: the user who initialized a challenge to [target]
    :param target: the user who was challenged
    :return: (winner, bet) if duel exists and has not expired, else (None, None)
    """
    duel = get_duel(channel, challenger, target)
    remove_duel(channel, challenger, target)

    if not duel or duel_expired(duel):
        return None, None

    return choice((challenger, target)), duel.bet 
開發者ID:sharkbound,項目名稱:PythonTwitchBotFramework,代碼行數:19,代碼來源:duel.py

示例4: _start_arena

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def _start_arena(self):
        if len(self.users) < self.min_users:
            await self.channel.send_message(
                f'not enough users joined the arena to start, everyone that entered was issued a refund')

            for user in self.users:
                add_balance(self.channel.name, user, self.entry_fee)

        else:
            currency = get_currency_name(self.channel.name).name
            winner = choice(tuple(self.users))
            winnings = self.entry_fee * len(self.users)

            add_balance(self.channel.name, winner, winnings)
            await self.channel.send_message(
                choice(VICTORY_MESSAGES).format(winner=winner, winnings=winnings, currency=currency))

            self.users.clear()

        if self.on_arena_ended_func:
            self.on_arena_ended_func(self)

        self.running = False 
開發者ID:sharkbound,項目名稱:PythonTwitchBotFramework,代碼行數:25,代碼來源:arena.py

示例5: randstr

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def randstr(self, unique: bool = False,
                length: Optional[int] = None) -> str:
        """Generate random string value.

        This method can be especially useful when you need to generate
        only unique values in your provider. Just pass parameter unique=True.

        Basically, this method is just a simple wrapper around uuid.uuid4().

        :param unique: Generate only unique values.
        :param length: Length of string. Default range is (min=16, max=128).
        :return: Random string.

        """
        if unique:
            return str(uuid.uuid4().hex)

        if length is None:
            length = self.randint(16, 128)

        _string = string.ascii_letters + string.digits
        _string = ''.join(
            secrets.choice(_string) for _ in range(length)
        )
        return _string 
開發者ID:lk-geimfari,項目名稱:mimesis,代碼行數:27,代碼來源:random.py

示例6: mutate

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def mutate(self, info, email):
        user = User.objects.get(email=email)
        if user is not None:
            newPassword = ''.join(secrets.choice(string.ascii_letters + string.digits) for i in range(10))
            user.set_password(newPassword)
            user.save()
            context = {
                "password": newPassword,
                "username": user.username
            }
            message = render_to_string('email/password_reset_email.html', context)
            send_mail('Reset Password | amFOSS CMS', strip_tags(message), from_email, [email], fail_silently=False,
                      html_message=message)
            return userStatusObj(status=True)
        else:
            raise APIException('Email is not registered',
                               code='WRONG_EMAIL') 
開發者ID:amfoss,項目名稱:cms,代碼行數:19,代碼來源:schema.py

示例7: handler

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def handler(event, context):
    response_code = cfnresponse.SUCCESS
    response_data = {}
    print(event)
    if event['RequestType'] == 'Create':
        phys_id = ''.join(random.choice(alnum) for _ in range(16))
    else:
        phys_id = event['PhysicalResourceId']
    try:
        if event['RequestType'] in ['Create', 'Update']:
            if 'Length' in event['ResourceProperties']:
                pw_len = int(event['ResourceProperties']['Length'])
            else:
                pw_len = 16
            response_data['EMRClusterName'] = generate_password(pw_len)
        cfnresponse.send(event, context, response_code, response_data, phys_id)
    except Exception as e:
        print(str(e))
        traceback.print_exc()
        cfnresponse.send(event, context, cfnresponse.FAILED, response_data, phys_id, str(e)) 
開發者ID:awslabs,項目名稱:aws-servicebroker,代碼行數:22,代碼來源:lambda_function.py

示例8: handler

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def handler(event, context):
    response_code = cfnresponse.SUCCESS
    response_data = {}
    print(event)
    if event['RequestType'] == 'Create':
        phys_id = ''.join(random.choice(alnum) for _ in range(16))
    else:
        phys_id = event['PhysicalResourceId']
    try:
        if event['RequestType'] in ['Create', 'Update']:
            if 'Length' in event['ResourceProperties']:
                pw_len = int(event['ResourceProperties']['Length'])
            else:
                pw_len = 16
            response_data['DBName'] = generate_password(pw_len)
        cfnresponse.send(event, context, response_code, response_data, phys_id)
    except Exception as e:
        print(str(e))
        traceback.print_exc()
        cfnresponse.send(event, context, cfnresponse.FAILED, response_data, phys_id, str(e)) 
開發者ID:awslabs,項目名稱:aws-servicebroker,代碼行數:22,代碼來源:lambda_function.py

示例9: get_headers

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def get_headers(params: Dict) -> Dict:
    api_key: str = str(params.get('apikey'))
    api_key_id: str = str(params.get('apikey_id'))
    nonce: str = "".join([secrets.choice(string.ascii_letters + string.digits) for _ in range(64)])
    timestamp: str = str(int(datetime.now(timezone.utc).timestamp()) * 1000)
    auth_key = "%s%s%s" % (api_key, nonce, timestamp)
    auth_key = auth_key.encode("utf-8")
    api_key_hash: str = hashlib.sha256(auth_key).hexdigest()

    headers: Dict = {
        "x-xdr-timestamp": timestamp,
        "x-xdr-nonce": nonce,
        "x-xdr-auth-id": str(api_key_id),
        "Authorization": api_key_hash,
        "x-iocs-source": "xsoar"
    }

    return headers 
開發者ID:demisto,項目名稱:content,代碼行數:20,代碼來源:XDR_iocs.py

示例10: write_records

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def write_records(players, filename):
    # given a list of players, write records
    player_names = set([player[0] for player in players])
    rows = []
    for player in players:
        for i in range(random.randint(4, 14)):
            sender = player[0]
            msg = make_a_msg(sender, secrets.choice(
                list(player_names - set((sender,)))))
            if sender == players[0][0]:  # this is the security flaw
                rows.append(make_signed_message(msg, player, 0))
            else:
                rows.append(make_signed_message(msg, player, i))
    random.shuffle(rows)  # to make it a little less obvious
    with open(filename, 'w') as outfile:
        outcsv = csv.writer(outfile)
        for row in rows:
            outcsv.writerow(row) 
開發者ID:fbsamples,項目名稱:fbctf-2019-challenges,代碼行數:20,代碼來源:generate.py

示例11: server_instance

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def server_instance(monkeypatch, managed_tmpdir, worker_id):
    from secrets import choice
    from hangar.remote import server
    monkeypatch.setattr(server, 'server_config', mock_server_config)

    possibble_addresses = [x for x in range(50000, 59999)]
    chosen_address = choice(possibble_addresses)
    address = f'localhost:{chosen_address}'
    base_tmpdir = pjoin(managed_tmpdir, f'{worker_id[-1]}')
    mkdir(base_tmpdir)
    server, hangserver, _ = server.serve(base_tmpdir, overwrite=True, channel_address=address)
    server.start()
    yield address

    hangserver.close()
    server.stop(0.1)
    server.wait_for_termination(timeout=2) 
開發者ID:tensorwerk,項目名稱:hangar-py,代碼行數:19,代碼來源:conftest.py

示例12: bot_move

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def bot_move(self, last: int):
        """

        :param last:
        :type last:
        :return:
        :rtype:
        """
        choice, bad_col = None, True
        while bad_col:
            move = secrets.randbelow(3)
            if move == 0:
                mod = secrets.choice([-1, 0, 1])
                choice = max(min(6, last + mod), 0)
            else:
                choice = secrets.randbelow(6)
            if not self.column_full(choice):
                bad_col = False
        return choice 
開發者ID:lu-ci,項目名稱:apex-sigma-core,代碼行數:21,代碼來源:core.py

示例13: pick_item_in_rarity

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def pick_item_in_rarity(self, item_category, rarity):
        """
        Picks a random item within the given rarity.
        :param item_category: The type of the item.
        :type item_category: str
        :param rarity: The rarity to choose from.
        :type rarity: int
        :return:
        :rtype: SigmaRawItem
        """
        in_rarity = []
        for item in self.all_items:
            if item.type.lower() == item_category:
                if item.rarity == rarity:
                    in_rarity.append(item)
        choice = secrets.choice(in_rarity)
        return choice 
開發者ID:lu-ci,項目名稱:apex-sigma-core,代碼行數:19,代碼來源:item_core.py

示例14: generate_embed

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def generate_embed(post, titles, color=0xff6699, icon='https://i.imgur.com/WQbzk9y.png'):
    """

    :param post:
    :type post:
    :param titles:
    :type titles:
    :param color:
    :type color:
    :param icon:
    :type icon:
    :return:
    :rtype:
    """
    image_url = post.attrib['file_url']
    image_source = f'http://safebooru.org/index.php?page=post&s=view&id={post.attrib["id"]}'
    if image_url.startswith('//'):
        image_url = 'https:' + image_url
    response = discord.Embed(color=color)
    response.set_author(name=secrets.choice(titles), icon_url=icon, url=image_source)
    response.set_image(url=image_url)
    response.set_footer(
        text=f'Score: {post.attrib["score"]} | Size: {post.attrib["width"]}x{post.attrib["height"]}')
    return response 
開發者ID:lu-ci,項目名稱:apex-sigma-core,代碼行數:26,代碼來源:safe_core.py

示例15: keyvis

# 需要導入模塊: import secrets [as 別名]
# 或者: from secrets import choice [as 別名]
def keyvis(_cmd, pld):
    """
    :param _cmd: The command object referenced in the command.
    :type _cmd: sigma.core.mechanics.command.SigmaCommand
    :param pld: The payload with execution data and details.
    :type pld: sigma.core.mechanics.payload.CommandPayload
    """
    keys = [key for key in key_vn_list]
    choice = pld.args[0].lower() if pld.args else secrets.choice(keys)
    item = key_vn_list.get(choice)
    if item:
        image_number = secrets.randbelow(item[2]) + item[1]
        url_base = 'https://vncg.org'
        image_url = f'{url_base}/f{image_number}.jpg'
        response = discord.Embed(color=0x744EAA)
        response.set_image(url=image_url)
    else:
        response = not_found('No results.')
    await pld.msg.channel.send(embed=response) 
開發者ID:lu-ci,項目名稱:apex-sigma-core,代碼行數:21,代碼來源:keyvis.py


注:本文中的secrets.choice方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。