Skip to content

Commit 7acd8ff

Browse files
committed
save file
1 parent 3341e7d commit 7acd8ff

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

bulk_user_creator.py

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
import os
2+
import random
3+
from databunkerpro import DatabunkerproAPI
4+
5+
# Get credentials from environment
6+
api_url = os.getenv("DATABUNKER_API_URL", "https://pro.databunker.org")
7+
api_token = os.getenv("DATABUNKER_API_TOKEN", "")
8+
tenant_name = os.getenv("DATABUNKER_TENANT_NAME", "")
9+
10+
def generate_random_user_data():
11+
"""Generate random user data with 120 fields."""
12+
# Base fields that are always present
13+
base_fields = {
14+
"email": f"user{random.randint(1000, 999999)}@example.com",
15+
"name": f"User {random.randint(1000, 999999)}",
16+
"phone": f"+1{random.randint(1000000000, 9999999999)}",
17+
}
18+
19+
# Additional fields to reach 120 fields
20+
additional_fields = {
21+
f"field_{i}": f"value_{random.randint(1000, 999999)}" for i in range(117)
22+
}
23+
24+
return {**base_fields, **additional_fields}
25+
26+
def create_bulk_users(api, num_batches=100, users_per_batch=100):
27+
"""Create multiple batches of users and save tokens to results file."""
28+
all_tokens = []
29+
30+
for batch in range(num_batches):
31+
print(f"Processing batch {batch + 1}/{num_batches}")
32+
33+
# Generate user data for this batch
34+
users_data = [
35+
{"profile": generate_random_user_data()}
36+
for _ in range(users_per_batch)
37+
]
38+
39+
# Create users in bulk
40+
result = api.create_users_bulk(users_data)
41+
42+
if result.get("status") == "ok":
43+
# Extract 10 random tokens from this batch
44+
created_users = result.get("created", [])
45+
if created_users:
46+
batch_tokens = random.sample(
47+
[user["token"] for user in created_users],
48+
min(10, len(created_users))
49+
)
50+
all_tokens.extend(batch_tokens)
51+
52+
# Save tokens to file after each batch, one token per line
53+
with open("user_tokens.txt", "w") as f:
54+
f.write("\n".join(all_tokens))
55+
56+
print(f"Successfully created {len(created_users)} users in batch {batch + 1}")
57+
print(f"Saved {len(batch_tokens)} tokens to user_tokens.txt")
58+
else:
59+
print(f"Error in batch {batch + 1}: {result.get('message', 'Unknown error')}")
60+
61+
return all_tokens
62+
63+
def main():
64+
65+
if not all([api_token, tenant_name]):
66+
print("Error: DATABUNKER_API_TOKEN and DATABUNKER_TENANT_NAME environment variables must be set")
67+
return
68+
69+
# Initialize API client
70+
api = DatabunkerproAPI(api_url, api_token, tenant_name)
71+
72+
# Create users in bulk
73+
tokens = create_bulk_users(api)
74+
print(f"\nTotal tokens saved: {len(tokens)}")
75+
76+
if __name__ == "__main__":
77+
main()

0 commit comments

Comments
 (0)