util.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:monique 作者: monique-dashboards 项目源码 文件源码
def uuid_with_timestamp(microseconds, lowest_val=False, randomize=False):
    ts = int(microseconds * 10) + long(0x01b21dd213814000)
    time_low = ts & long(0xffffffff)
    time_mid = (ts >> 32) & long(0xffff)
    time_hi_version = (ts >> long(48)) & long(0x0fff)
    if randomize:
        cs = random.randrange(1 << long(14))
        clock_seq_low = cs & long(0xff)
        clock_seq_hi_variant = (cs >> long(8)) & long(0x3f)
        node = uuid.getnode()
    else:
        if lowest_val: # uuid with lowest possible clock value
            clock_seq_low = 0 & long(0xff)
            clock_seq_hi_variant = 0 & long(0x3f)
            node = 0 & long(0xffffffffffff) # 48 bits
        else: # UUID with highest possible clock value
            clock_seq_low = long(0xff)
            clock_seq_hi_variant = long(0x3f)
            node = long(0xffffffffffff) # 48 bits
    return uuid.UUID(
        fields=(time_low, time_mid, time_hi_version,
                clock_seq_hi_variant, clock_seq_low, node),
        version=1
    )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号