def main():

    #Parse parameters
    parser = argparse.ArgumentParser()
    parser.add_argument("-m", "--mode", dest="mode", default = "encrypt", help="Encrypt or Decrypt")
    parser.add_argument("-i", "--inputfile", dest="inputFile", help="Input Name")
    parser.add_argument("-o", "--outputfile", dest="outputFile", help="Output Name")
    parser.add_argument("-s", "--seed", dest="seed", help="Integer seed")
    args = parser.parse_args()
    
    #generating key from seed
    key = rv.keywordFromSeed(args.seed)
    #opening an input file with read mode
    input = open(args.inputFile, 'r')
    message = input.read()
        
    cipherText = ""
    plainText = ""
    if(args.mode == 'encrypt'):
        #encryption of input message
        cipherText = rv.encryption(message,key,args.seed)
        #writing to output file
        output = open(args.outputFile,'w')
        output.write(str(cipherText))
        
    else:
        #decryption of input message
        plainText = rv.decryption(message,key,args.seed)
        #writing to output file
        output = open(args.outputFile,'w')
        output.write(str(plainText))
def main():
    # Allows us to input command line arguements
    parser = argparse.ArgumentParser()

    parser.add_argument("-m", "--mode", dest="mode", default="encrypt", help="Encrypt or Decrypt")
    parser.add_argument("-i", "--inputfile", dest="inputFile", help="Input Name")
    parser.add_argument("-o", "--outputfile", dest="outputFile", help="Output Name")
    parser.add_argument("-s", "--seed", dest="seed", help="Integer seed")

    args = parser.parse_args()

    # Seeds the random number generator with the seed from the user.
    random.seed(args.seed)
    # Generates a keyword from the seed.
    keyword = rv.keywordFromSeed(args.seed)

    # Our "Alphabet"
    symbols = """ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"""
    # Builds the Vigenere table
    vigenere = rv.buildVigenere(symbols)

    # Opens The input File
    f = open(args.inputFile, "r")
    # Reads the message from the input file for reading.
    message = f.read()

    # If the mode is encrypt, the message will be encrypted,
    # Else, it will be decrypted.
    if args.mode == "encrypt":
        data = rv.encrypt(vigenere, message, keyword)
    else:
        data = rv.decrypt(vigenere, message, keyword)
    # opens the output file for writing and writes the data to the file.
    o = open(args.outputFile, "w")
    o.write(str(data))
def main():
    parser = argparse.ArgumentParser()

    parser.add_argument("-m", "--mode", dest="mode", default = "encrypt", help="Encrypt or Decrypt")
    parser.add_argument("-i", "--inputfile", dest="inputFile", help="Input Name")
    parser.add_argument("-o", "--outputfile", dest="outputFile", help="Output Name")
    parser.add_argument("-s", "--seed", type=int,help="Integer seed")

    args = parser.parse_args()

    f = open(args.inputFile,'r')
    message = f.read()
    key = rv.keywordFromSeed(args.seed)
    print(key)
    if(args.mode == 'encrypt'):
        data = rv.encrypt(message,key,args.seed)
    else:
        data = rv.decrypt(message,key,args.seed)
    o = open(args.outputFile,'w')
    o.write(str(data))
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-m", "--mode", dest="mode", default = "encrypt", help="Encrypt or Decrypt")
    parser.add_argument("-i", "--inputfile", dest="inputFile", default = "inputFile.txt", help="Input Name")
    parser.add_argument("-o", "--outputfile", dest="outputFile", default = "outputFile.txt", help="Output Name")
    parser.add_argument("-s", "--seed", dest="seed", default =14325107, help="Integer seed")
    args = parser.parse_args()

    seed = int(args.seed)
    f = open(args.inputFile,'r')
    message = f.read()
    keyWord=rv.keywordFromSeed(seed)
    rv.printMatrix()
    if(args.mode == 'encrypt'):
        data = rv.encryption(message,keyWord)
        o = open(args.outputFile,'w')
        o.write(data)
    else:
        
        data = rv.decryption(message,keyWord)
        o = open(args.outputFile,'w')
        o.write(data)
def main():
    #this code allows for command line argument parsing and program execution
    parser = argparse.ArgumentParser()

    parser.add_argument("-m", "--mode", dest = "mode", default = "encrypt", help = "Enter: encrypt or decrypt")
    parser.add_argument("-s", "--seed", dest = "seed", default = 77065084072073083070085078, help = "Enter an integer seed value")
    parser.add_argument("-i", "--inputfile", dest = "inputFile", help = "Enter the full input filename")
    parser.add_argument("-o", "--outputfile", dest = "outputFile", help = "Enter the full output filename")
    
    args = parser.parse_args()

    print ("Vigenère Encryption Tool")
    print ("Written By: Taylor Murphy")
    print ("********************************************************")
    
    #use given seed to seed the random number generator and find the keyword
    random.seed(args.seed)
    keyWord = rv.keywordFromSeed(args.seed)

    #read in the message or the cipher text from their respecive files    
    inp1 = open(args.inputFile,'r')
    message = inp1.read()
    
    inp2 = open(args.inputFile,'r')
    ctxt = inp2.read()
    
    print("Keyword:     ", keyWord)
    print("Message:     ", message)
    
    #encrypt or decrypt based on what was passed in via command line    
    if(args.mode == 'encrypt'):
        rv.encrypt(message, keyWord)    
    else:
        rv.decrypt(ctxt, keyWord)
    
    print ("Exiting Vigenère Encryption Tool, Goodbye")
    print ("********************************************************")