Python Forum
Help with pyGenealogical-Tools (Updated) - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: Help with pyGenealogical-Tools (Updated) (/thread-21823.html)



Help with pyGenealogical-Tools (Updated) - Matan_ran - Oct-16-2019

Hey everyone!

I am a little bit of struggling with a project in Python

here is the link for the software: https://pypi.org/project/pyGenealogicalTools/#description

I have been installed all of the programs in the description, but I can't handle to properly "Run" the programme.

This is my main programme as in the description - GeniTools.py:

--------------

from pyGeni import profile

from pyGeni.geniapi_common import geni_calls

from parser_input import reader_input

from analyzefamily.ancerstors_climb import climb

from messages.genitools_messages import *

import logging


def main():
    logging.basicConfig(filename='GeniToools.log', level=logging.INFO)

    logging.info('Starting GeniTools\n' + "=" * 20 + "\n")

    # Firstly the Input File is Read

    data = reader_input.reader_input("INPUT")

    base_call = geni_calls(data.genikey)

    if (data.continue_execution and base_call.check_valid_genikey()):

        # We only continue if inputs are correct!

        test_profile = profile.profile(data.profile, data.genikey)

        if (data.climbancestors or data.climbcousins):

            climber = climb(test_profile)

            if (data.climbcousins):
                ancestors, matrix_count, included_profiles = climber.get_cousins(data.generations)

                print(matrix_count)

            if (data.climbancestors):
                ancestors, affected_profiles = climber.get_ancestors(data.generations)

    else:

        logging.error(ERROR_MISSING_DATA)

    logging.info('Finishing GeniTools' + "=" * 20 + "\n")


if __name__ == '__main__':
    main()
------------------------------

Here is the reader_input file:

import logging
from messages.parser_messages import *

class reader_input:
    '''
    General class parsing the data input
    '''
    def __init__(self, file_path):
        self.file = open(file_path, "r")

        self.profile = ""
        self.genikey = ""
        self.read_file()

        self.file.close()

    def read_file(self):
        '''
        Internal function reading the input file line by line
        '''
        self.continue_execution = True
        self.profile_given = False
        self.generations_given = False
        self.genikey_given = False
        self.climbancestors = False
        self.climbcousins = False
        for line in self.file:
            divided = line.split()
            if (divided[0] == "PROFILE"):
                self.profile = str(divided[1])
                self.profile_given = True
            elif (divided[0] == "GENIKEY"):
                self.genikey = str(divided[1])
                self.genikey_given = True
            elif (divided[0] == "CLIMB_ANCESTORS"):
                self.climbancestors = True
            elif (divided[0] == "CLIMB_COUSINS"):
                self.climbcousins = True
            elif (divided[0] == "GENERATIONS"):
                self.generations = int(divided[1])
                self.generations_given = True
        if (not self.genikey_given):
            logging.warning(GENI_KEY_MISSING)
            self.continue_execution = False
        if (self.climbancestors or self.climbcousins):
            if (not self.profile_given):
                logging.warning(PROFILE_MISSING)
                self.continue_execution = False
            if (not self.generations_given):
                logging.warning(GENERATIONS_MISSING)
                self.continue_execution = False
------------------------------

Here is my line I am getting when I Run the main programme - GeniTools.py:

Error:
Traceback (most recent call last): File "C:/Users/97252/PycharmProjects/Girffe/matan.py", line 51, in <module> main() File "C:/Users/97252/PycharmProjects/Girffe/matan.py", line 21, in main data = reader_input.reader_input("INPUT") File "C:\Users\97252\PycharmProjects\Girffe\venv\lib\site-packages\parser_input\reader_input.py", line 9, in __init__ self.file = open(file_path, "r") FileNotFoundError: [Errno 2] No such file or directory: 'INPUT' Process finished with exit code 1
------------------------------------

Please help me know what I need to do in order to run this software without errors.

Thank you,

Matan.


RE: Help with pyGenealogical-Tools (Updated) - Larz60+ - Oct-16-2019

The error message tells all. It can't find a file named INPUT.
If the file exists, perhaps it's a path issue.
so:
  • Does the file exist?
  • is INPUT a declared constant? (if so, remove quotes around INPUT)
  • is the file located is the Current working directory?



RE: Help with pyGenealogical-Tools (Updated) - Matan_ran - Oct-16-2019

There is no such file named “INPUT”


RE: Help with pyGenealogical-Tools (Updated) - Larz60+ - Oct-16-2019

Then how can it be opened?
data = reader_input.reader_input("INPUT")


RE: Help with pyGenealogical-Tools (Updated) - Matan_ran - Oct-16-2019

From what I understand the reader_input file is referred as the INPUT file


RE: Help with pyGenealogical-Tools (Updated) - Larz60+ - Oct-16-2019

This is plain python.
It is looking for a file named 'INPUT' and not finding it.