From eec72326d893b7b6ebc89f0cdbc6cad17c0e5d7c Mon Sep 17 00:00:00 2001 From: Joseph T Lyons Date: Wed, 25 Mar 2020 22:52:53 -0400 Subject: [PATCH] Allow user to specify the license separator and file extension --- src/file_options.py | 8 ++++++++ src/license_generator.py | 11 ++++++++--- src/main.py | 9 ++++++--- 3 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 src/file_options.py diff --git a/src/file_options.py b/src/file_options.py new file mode 100644 index 0000000..0d34094 --- /dev/null +++ b/src/file_options.py @@ -0,0 +1,8 @@ +class FileOptions: + def __init__(self): + self.license_separator = input("License separator (keep blank for newline): ") + + if self.license_separator == "": + self.license_separator = "\n" + + self.file_extension = input("File extension: ") diff --git a/src/license_generator.py b/src/license_generator.py index 557f912..89b5b52 100644 --- a/src/license_generator.py +++ b/src/license_generator.py @@ -1,20 +1,25 @@ from pathlib import Path from random import shuffle +from file_options import FileOptions from index_list import IndexList from serial_characteristics import SerialCharacteristics class LicenseGenerator: - def __init__(self, requested_amount, serial_characteristics): + def __init__(self, requested_amount, serial_characteristics, file_options): self.requested_amount = requested_amount self.serial_characteristics = serial_characteristics + self.file_options = file_options self.list_of_character_lists = self.__create_list_of_character_lists() self.index_list = IndexList(self.serial_characteristics.len, self.serial_characteristics.number_of_characters) - self.file_name = str(self.requested_amount) + "_unique_serials.txt" + self.file_name = str(self.requested_amount) \ + + "_unique_serials" \ + + "." \ + + self.file_options.file_extension def generate(self): if (self.serial_characteristics.total_possible_serial_numbers < self.requested_amount): @@ -61,7 +66,7 @@ def __print_serial_numbers_to_file(self): if self.index_list.has_over_flown: raise ValueError("Index List has overflown.") - serial_file.write(single_serial_number_string + "\n") + serial_file.write(single_serial_number_string + self.file_options.license_separator) single_serial_number_string = "" # print(self.index_list.get_index_string()) diff --git a/src/main.py b/src/main.py index 9f8a669..cb61f53 100755 --- a/src/main.py +++ b/src/main.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +from file_options import FileOptions from license_generator import LicenseGenerator from serial_characteristics import SerialCharacteristics @@ -7,9 +8,11 @@ def main(): print() - requested_amount = int(input("Serial number amount: ")) - serial_characteristics = SerialCharacteristics() - LicenseGenerator(requested_amount, serial_characteristics).generate() + LicenseGenerator( + int(input("Serial number amount: ")), + SerialCharacteristics(), + FileOptions(), + ).generate() print()