def generate_filename_from_details( *, mimetype: typing.Optional[str] = None, extension: typing.Optional[str] = None, data: typing.Optional[bytes] = None, ) -> str: """Given optional information about a resource, generate a filename. Parameters ---------- mimetype : typing.Optional[builtins.str] The mimetype of the content, or `builtins.None` if not known. extension : typing.Optional[builtins.str] The file extension to use, or `builtins.None` if not known. data : typing.Optional[builtins.bytes] The data to inspect, or `builtins.None` if not known. Returns ------- builtins.str A generated quasi-unique filename. """ if data is not None and mimetype is None: mimetype = guess_mimetype_from_data(data) if extension is None and mimetype is not None: extension = guess_file_extension(mimetype) if not extension: extension = "" elif not extension.startswith("."): extension = f".{extension}" # Nanosecond precision will be less likely to collide. return time.uuid() + extension
def __init__( self, app: traits.BotAware, guild_id: snowflakes.Snowflake, *, timeout: typing.Union[int, float, None], limit: typing.Optional[int] = None, include_presences: undefined.UndefinedOr[bool] = undefined.UNDEFINED, query_limit: int = 0, query: str = "", users: undefined.UndefinedOr[typing.Sequence[snowflakes.SnowflakeishOr[ users_.User]]] = undefined.UNDEFINED, ) -> None: super().__init__(app=app, event_type=shard_events.MemberChunkEvent, limit=limit, timeout=timeout) self._guild_id = guild_id self._include_presences = include_presences self._limit = query_limit self._missing_chunks: typing.Optional[ typing.MutableSequence[int]] = None self._nonce = time.uuid() self._query = query self._users = users self.filter(lambda event: event.nonce == self._nonce)