From 6e8e51c2002dd1e3db6f696767d6219cefc363be Mon Sep 17 00:00:00 2001 From: Jan Kuzelik Date: Thu, 5 Dec 2024 11:01:04 +0100 Subject: [PATCH] chore: Move crypto_random_object_id to shared package --- src/apify_shared/utils.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/apify_shared/utils.py b/src/apify_shared/utils.py index 11e697e..013e30b 100644 --- a/src/apify_shared/utils.py +++ b/src/apify_shared/utils.py @@ -4,6 +4,7 @@ import io import json import re +import secrets from datetime import datetime, timezone from enum import Enum from typing import Any, TypeVar, cast @@ -115,3 +116,9 @@ def parse(key: str, value: object) -> object: return {key: parse(key, value) for (key, value) in data.items()} return data + +@ignore_docs +def crypto_random_object_id(length: int = 17) -> str: + """Generates a random object ID.""" + chars = 'abcdefghijklmnopqrstuvwxyzABCEDFGHIJKLMNOPQRSTUVWXYZ0123456789' + return ''.join(secrets.choice(chars) for _ in range(length))