From ec825cc0ad865e93adec93b754f148117717ad60 Mon Sep 17 00:00:00 2001 From: acidvegas Date: Tue, 26 Nov 2024 17:57:21 -0500 Subject: [PATCH] Prepair for 1.0.3 --- pylcg/__init__.py | 8 ++++++-- pylcg/cli.py | 10 +++++++++- pylcg/core.py | 5 +++++ pylcg/state.py | 12 ++++++++---- 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/pylcg/__init__.py b/pylcg/__init__.py index abc12bb..435e3a1 100644 --- a/pylcg/__init__.py +++ b/pylcg/__init__.py @@ -1,5 +1,9 @@ +#!/usr/bin/env python +# PyLCG - Linear Congruential Generator for IP Sharding - Developed by acidvegas ib Python (https://github.com/acidvegas/pylcg) +# pylcg/__init__.py + from .core import LCG, IPRange, ip_stream __version__ = "1.0.3" -__author__ = "acidvegas" -__all__ = ["LCG", "IPRange", "ip_stream"] \ No newline at end of file +__author__ = "acidvegas" +__all__ = ["LCG", "IPRange", "ip_stream"] diff --git a/pylcg/cli.py b/pylcg/cli.py index e579752..80fb2b3 100644 --- a/pylcg/cli.py +++ b/pylcg/cli.py @@ -1,6 +1,12 @@ +#!/usr/bin/env python +# PyLCG - Linear Congruential Generator for IP Sharding - Developed by acidvegas ib Python (https://github.com/acidvegas/pylcg) +# pylcg/cli.py + import argparse + from .core import ip_stream + def main(): parser = argparse.ArgumentParser(description='Ultra-fast random IP address generator with optional sharding') parser.add_argument('cidr', help='Target IP range in CIDR format') @@ -26,5 +32,7 @@ def main(): for ip in ip_stream(args.cidr, args.shard_num, args.total_shards, args.seed, args.state): print(ip) + + if __name__ == '__main__': - main() + main() \ No newline at end of file diff --git a/pylcg/core.py b/pylcg/core.py index e7220c3..64891b7 100644 --- a/pylcg/core.py +++ b/pylcg/core.py @@ -1,6 +1,11 @@ +#!/usr/bin/env python +# PyLCG - Linear Congruential Generator for IP Sharding - Developed by acidvegas ib Python (https://github.com/acidvegas/pylcg) +# pylcg/core.py + import ipaddress import random + class LCG: '''Linear Congruential Generator for deterministic random number generation''' diff --git a/pylcg/state.py b/pylcg/state.py index 2d38412..c3ad4de 100644 --- a/pylcg/state.py +++ b/pylcg/state.py @@ -1,6 +1,11 @@ +#!/usr/bin/env python +# PyLCG - Linear Congruential Generator for IP Sharding - Developed by acidvegas ib Python (https://github.com/acidvegas/pylcg) +# pylcg/state.py + import os import tempfile + def save_state(seed: int, cidr: str, shard: int, total: int, lcg_current: int): ''' Save LCG state to temp file @@ -12,9 +17,8 @@ def save_state(seed: int, cidr: str, shard: int, total: int, lcg_current: int): :param lcg_current: Current LCG state ''' - file_name = f'pylcg_{seed}_{cidr.replace("/", "_")}_{shard}_{total}.state' - + file_name = f'pylcg_{seed}_{cidr.replace("/", "_")}_{shard}_{total}.state' state_file = os.path.join(tempfile.gettempdir(), file_name) - + with open(state_file, 'w') as f: - f.write(str(lcg_current)) \ No newline at end of file + f.write(str(lcg_current))