# -*- coding: utf-8 -*-"""Random UUID4 generator and its Alfred Script Filter entry point.UUID4 has a fixed RFC 4122 format (``8-4-4-4-12`` lowercase hex, 36 charsincl. hyphens) so this module takes no length / charset configuration —it always produces 122 bits of randomness via :func:`uuid.uuid4`."""importuuidimportafwf.apiasafwffrom.constantsimportn_uuid4
[docs]defgen_uuid4()->str:"""Generate one random UUID4 string, e.g. ``550e8400-e29b-41d4-a716-446655440000``."""returnstr(uuid.uuid4())
[docs]defgen_uuid4s()->afwf.ScriptFilter:"""Return a ``ScriptFilter`` of ``n_uuid4`` fresh UUID4s."""sf=afwf.ScriptFilter()for_inrange(n_uuid4):u=gen_uuid4()item=afwf.Item(title=u,subtitle="Hit 'Command + C' to copy",arg=u,valid=True,)sf.items.append(item)returnsf
[docs]defmain()->afwf.ScriptFilter:"""Alfred entry point. No parameters — returns ``n_uuid4`` fresh UUID4s."""returngen_uuid4s()