当前位置: 首页>>代码示例>>Python>>正文


Python hashids.Hashids方法代码示例

本文整理汇总了Python中hashids.Hashids方法的典型用法代码示例。如果您正苦于以下问题:Python hashids.Hashids方法的具体用法?Python hashids.Hashids怎么用?Python hashids.Hashids使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在hashids的用法示例。


在下文中一共展示了hashids.Hashids方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: generate_hashids

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def generate_hashids(apps, schema_editor):
    AccessRequest = apps.get_model("secrets", "AccessRequest")
    Secret = apps.get_model("secrets", "Secret")
    SecretRevision = apps.get_model("secrets", "SecretRevision")

    for model_class, hashid_namespace in (
        (AccessRequest, "AccessRequest"),
        (Secret, "Secret"),
        (SecretRevision, "SecretRevision"),
    ):
        for obj in model_class.objects.all():
            if not obj.hashid:
                # We cannot use the same salt for every model because
                # 1. sequentially create lots of secrets
                # 2. note the hashid of each secrets
                # 3. you can now enumerate access requests by using the same
                #    hashids
                # it's not a huge deal, but let's avoid it anyway
                hasher = Hashids(
                    min_length=settings.HASHID_MIN_LENGTH,
                    salt=hashid_namespace + settings.HASHID_SALT,
                )
                obj.hashid = hasher.encode(obj.pk)
            obj.save() 
开发者ID:seibert-media,项目名称:teamvault,代码行数:26,代码来源:0009_auto_20150322_0949.py

示例2: save

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def save(self, *args, **kwargs):
        if not self.pk:
            # need to save once to get a primary key, then once again to
            # save the hashid
            super(HashIDModel, self).save(*args, **kwargs)
        if not self.hashid:
            # We cannot use the same salt for every model because
            # 1. sequentially create lots of secrets
            # 2. note the hashid of each secrets
            # 3. you can now enumerate access requests by using the same
            #    hashids
            # it's not a huge deal, but let's avoid it anyway
            hasher = Hashids(
                min_length=settings.HASHID_MIN_LENGTH,
                salt=self.HASHID_NAMESPACE + settings.HASHID_SALT,
            )
            self.hashid = hasher.encode(self.pk)
        # we cannot force insert anymore because we might already have
        # created the object
        kwargs['force_insert'] = False
        return super(HashIDModel, self).save(*args, **kwargs) 
开发者ID:seibert-media,项目名称:teamvault,代码行数:23,代码来源:models.py

示例3: with_cache

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def with_cache():
    from hashid_field.hashid import Hashid
    from hashids import Hashids
    hashids = Hashids(salt="asdf", min_length=7)
    instances = [Hashid(i, hashids=hashids) for i in range(1, 10_000)]
    return instances 
开发者ID:nshafer,项目名称:django-hashid-field,代码行数:8,代码来源:mem.py

示例4: no_cache

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def no_cache():
    setup = dedent('''
        from hashid_field.hashid import Hashid
    ''')
    stmt = dedent('''
        Hashid(123, salt="asdf", min_length=7)
    ''')
    timer = Timer(stmt, setup)
    time = timer.timeit(10_000)
    print("No pre-generated Hashids instance: {}".format(time)) 
开发者ID:nshafer,项目名称:django-hashid-field,代码行数:12,代码来源:perf.py

示例5: with_cache

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def with_cache():
    setup = dedent('''
        from hashid_field.hashid import Hashid
        from hashids import Hashids
        hashids=Hashids(salt="asdf", min_length=7)
    ''')
    stmt = dedent('''
        Hashid(123, hashids=hashids)
    ''')
    timer = Timer(stmt, setup)
    time = timer.timeit(10_000)
    print("With pre-generated Hashids instance: {}".format(time)) 
开发者ID:nshafer,项目名称:django-hashid-field,代码行数:14,代码来源:perf.py

示例6: generate_hash

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def generate_hash(redis_connection, redis_namespace=':short', hash_salt=''):
    """
    Generates an URL hash.
    This will increase the hash counter for the current day no mater if the hash
    will be used or not.
    """
    days_since_epoch = int(time.time() / 86400)
    day_index = redis_connection.incr(redis_namespace + 'HI:' + str(days_since_epoch))
    hashids = Hashids(salt=hash_salt)
    return hashids.encode(days_since_epoch, day_index) 
开发者ID:nellessen,项目名称:tornado-shortener,代码行数:12,代码来源:utils.py

示例7: handler

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def handler(raw_event, context):
    print(raw_event)
    event = EVENT_PARSER(raw_event)

    if event.s3:
        for s3 in event.records:
            # s3의 tar.gz 파일에서 수목,좌표 csv 객체 압축 해제
            tree_csv, point_csv = get_tar(s3)
            points = get_point_data(point_csv)
            # 람다의 tmp폴더 혼용에 의한 오류방지를 위해 해시id 생성
            dt = datetime.utcnow()
            hashid = Hashids(s3.object_key).encode(dt.year, dt.month, dt.day)

            shp = make_shp(tree_csv, points, hashid)
            f = NamedTemporaryFile(delete=False)

            tmp_file = f"{hashid}.tar.gz"
            file_name = f"shp/{tmp_file}"

            root, dirs, files = list(os.walk(os.path.dirname(shp)))[0]
            shp_exts = ['prj', 'shp', 'shx', 'dbf', 'cpg']
            # 해시파일중 shp 관련 파일로 필터링
            files = [f for f in files if f.split('.')[0] == hashid and f.split('.')[-1] in shp_exts]
            with tarfile.open(f.name, mode='w:gz') as gz:
                for name in files:
                    file_path = os.path.join(root, name)
                    gz.add(file_path, arcname=name)
            metadata = s3.object.get()["Metadata"]
            metadata = {f"origin_{key}": value for key, value in zip(metadata.keys(), metadata.values())}
            metadata['upload_by'] = 'csv2shp'
            metadata['origin_data_bucket'] = s3.bucket_arn
            metadata['origin_data_key'] = s3.object_key

            s3_resource = boto3.resource('s3')
            with open(f.name, 'rb') as result:
                s3_resource.Object(s3.bucket_name, file_name).put(Body=result.read(), ContentEncoding="gzip",
                                                                  Metadata=metadata) 
开发者ID:awskrug,项目名称:handson-labs-2018,代码行数:39,代码来源:csv2shp.py

示例8: gen_hash

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def gen_hash(registered_user):
        """Generates a time dependent hash.

        Accepts an instance of user account and returns
        a reversible 'time-unique' hash for it.

        Args:
            registered_user: A user instance.
        Returns:
            A hash composed of a time-stamp hash and a
            pk-hash delimited by x.
        """

        # get a timestamp (to make each generated hash unique):
        timestamp = int(time() * 1000)

        # encode the timestamp with secret_key:
        hashids = Hashids(
            salt=UserHasher.secret_key,
            min_length=UserHasher.timehash_min_length,
            alphabet=UserHasher.alphabet
        )
        timestamp_hash = hashids.encode(timestamp)

        # encode the user's pk with timestamp:
        hashids = Hashids(
            salt=str(timestamp),
            min_length=UserHasher.pkhash_min_length,
            alphabet=UserHasher.alphabet
        )
        pk_hash = hashids.encode(registered_user.pk)

        # return the combination delimited by UserHasher.delim:
        return "%s%s%s" % (timestamp_hash, UserHasher.delim, pk_hash) 
开发者ID:andela,项目名称:troupon,代码行数:36,代码来源:hashs.py

示例9: createHash

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def createHash(identificator):
    hashids = Hashids(salt="esh2YTBZesh2YTBZ", min_length=5)

    return hashids.encrypt(identificator) 
开发者ID:bioinformatics-ua,项目名称:GenericCDSS,代码行数:6,代码来源:hashes.py

示例10: token_retrieve

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def token_retrieve(request):
  token = None
  if 'X_TOKEN' in request.META:
    token = request.META['X_TOKEN']
  elif 'HTTP_X_TOKEN' in request.META:
    token = request.META['HTTP_X_TOKEN']

  if token is not None:
    if len(token) == 20:
      token = UUID(hexlify(b85decode(token.encode())).decode())

    if len(token) == 25:
      hasher = Hasher(salt=settings.SECRET_KEY)
      token = UUID(hasher.decode(token))

    try:
      token = Token.objects.get(id=token, is_active=True, is_anonymous=False)
      request.user = token.owner

      if token.due is not None and token.due < timezone.now():
        token.is_active = False
        token.save()

        token = None
    except Exception:
      token = None

  return token 
开发者ID:indietyp,项目名称:hawthorne,代码行数:30,代码来源:auth.py

示例11: __retrieve__

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def __retrieve__(self, request):
      token, user = None, None

      if 'HTTP_X_MODIFIED_BY' in request.META:
        user = request.META['HTTP_X_MODIFIED_BY']
      if 'HTTP_X_TOKEN' in request.META:
        token = request.META['HTTP_X_TOKEN']
      else:
        return token

      if len(token) == 25:
        hasher = Hasher(salt=settings.SECRET_KEY)
        token = UUID(hasher.decode(token))

      token = Token.objects.filter(id=token, is_active=True, is_anonymous=False)
      if token:
        token = token[0]
        request.user = token.owner

        user = User.objects.filter(id=user)
        if token.has_perm('core.propagate_token') and user:
          request.user = user[0]

        if token.due and token.due < timezone.now():
          token.is_active = False
          token.save()

          token = None
      else:
        token = None

      return token 
开发者ID:indietyp,项目名称:hawthorne,代码行数:34,代码来源:middleware.py

示例12: get_hashid

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def get_hashid(self):
        hashids = Hashids(min_length=5)
        return hashids.encode(self.id) 
开发者ID:pythonindia,项目名称:junction,代码行数:5,代码来源:models.py

示例13: int_to_hashid

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def int_to_hashid(i, min_length=30, salt=settings.DJANGOCMS_FORMS_HASHIDS_SALT):
    hashids = Hashids(salt, min_length=min_length)
    return hashids.encode(i) 
开发者ID:mishbahr,项目名称:djangocms-forms,代码行数:5,代码来源:utils.py

示例14: hashid_to_int

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def hashid_to_int(hashid, min_length=30, salt=settings.DJANGOCMS_FORMS_HASHIDS_SALT):
    hashids = Hashids(salt, min_length=min_length)

    try:
        return hashids.decode(hashid)[0]
    except IndexError:
        pass 
开发者ID:mishbahr,项目名称:djangocms-forms,代码行数:9,代码来源:utils.py

示例15: get_hashids

# 需要导入模块: import hashids [as 别名]
# 或者: from hashids import Hashids [as 别名]
def get_hashids():
    return Hashids(
        salt=settings.SECRET_KEY, min_length=4, alphabet="abcdefghijklmnopqrstuvwxyz"
    ) 
开发者ID:pythonitalia,项目名称:pycon,代码行数:6,代码来源:ids.py


注:本文中的hashids.Hashids方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。