Skip to content

Commit

Permalink
Dealing with long lines
Browse files Browse the repository at this point in the history
  • Loading branch information
JosephTLyons committed Mar 29, 2020
1 parent 20331d2 commit 608b3d6
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 10 deletions.
22 changes: 16 additions & 6 deletions src/license_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,20 @@ def __init__(self, file_options_dict, batch_license_dict, license_characteristic
self.license_characteristics_dict = license_characteristics_dict

self.list_of_character_lists = self.__create_list_of_character_lists()
self.index_list = IndexList(self.license_characteristics_dict["length"],
self.license_characteristics_dict["number_of_characters"])
self.index_list = IndexList(
self.license_characteristics_dict["length"],
self.license_characteristics_dict["number_of_characters"]
)

self.file_name = str(self.batch_license_dict["number_of_licenses"]) \
+ "_unique_licenses" \
+ "." \
+ self.file_options_dict["file_extension"]

def generate(self):
if self.license_characteristics_dict["total_possible_licenses"] < self.batch_license_dict["number_of_licenses"]:
if self.license_characteristics_dict["total_possible_licenses"] < self.batch_license_dict[
"number_of_licenses"
]:
self.__print_error_message()
return

Expand All @@ -33,12 +37,16 @@ def __create_list_of_character_lists(self):

for i in range(self.license_characteristics_dict["length"]):
shuffle(self.license_characteristics_dict["character_list"])
list_of_character_lists.append(self.license_characteristics_dict["character_list"].copy())
list_of_character_lists.append(
self.license_characteristics_dict["character_list"].copy()
)

return list_of_character_lists

def __print_error_message(self):
print("Requested number of licenses: {}".format(self.batch_license_dict["number_of_licenses"]))
print(
"Requested number of licenses: {}".format(self.batch_license_dict["number_of_licenses"])
)
print("Total possible licenses given current inputs: ", end='')
print(self.license_characteristics_dict["total_possible_licenses"])
print("Try one or more of the following:")
Expand All @@ -49,7 +57,9 @@ def __print_error_message(self):
def __print_licenses_to_file(self):
with open(self.file_name, "w") as license_file:
single_license_string = ""
distance_between_licenses = self.license_characteristics_dict["total_possible_licenses"] // self.batch_license_dict["number_of_licenses"]
distance_between_licenses = self.license_characteristics_dict[
"total_possible_licenses"
] // self.batch_license_dict["number_of_licenses"]

for i in range(self.batch_license_dict["number_of_licenses"]):
for j in range(self.license_characteristics_dict["length"]):
Expand Down
7 changes: 5 additions & 2 deletions src/main.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
#!/usr/bin/env python3

from license_generator import LicenseGenerator
from options_dictionaries import get_batch_license_dict, get_file_options_dict, get_license_characteristics_dict
from options_dictionaries import get_batch_license_dict, get_file_options_dict, \
get_license_characteristics_dict


def main():
Expand All @@ -16,7 +17,9 @@ def main():
print()

print_header("License Characteristics Options")
license_characteristics_dict = get_license_characteristics_dict(batch_license_dict["license_separator_character"])
license_characteristics_dict = get_license_characteristics_dict(
batch_license_dict["license_separator_character"]
)
print()

print_header("Results")
Expand Down
9 changes: 7 additions & 2 deletions src/options_dictionaries.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ def get_batch_license_dict():
license_separator_character = ""

while len(license_separator_character) != 1:
license_separator_character = input("License separator character (keep blank for newline): ")
license_separator_character = input(
"License separator character (keep blank for newline): "
)

if len(license_separator_character) > 1:
print("Only a single character can be used for a license separator character")
Expand Down Expand Up @@ -43,7 +45,10 @@ def get_license_characteristics_dict(license_separation_character):
if license_separation_character != "\n" and license_separation_character in character_list:
character_list.remove(license_separation_character)
print()
print("License separation character was found in requested license characters and has been removed")
print(
"License separation character was found in requested license characters and has been \
removed"
)

number_of_characters = len(character_list)
total_possible_licenses = number_of_characters ** length
Expand Down

0 comments on commit 608b3d6

Please sign in to comment.