Example #1
0
    def execute_shorthand(self):
        try:
            self.parse()

            # Create & Save activity
            new_activity = Activity(
                self.start_time,
                self.end_time,
                self.activity_descr)

            current_year_number = self.shell.current_date.year
            current_month_number = self.shell.current_date.month
            current_day_number = self.shell.current_date.day

            current_year = Calendar.load_year(current_year_number)
            current_month = current_year.get_month(current_month_number)
            current_day = current_month.get_day(current_day_number)
            current_day.add_activity(new_activity)

            Calendar.save_year(current_year)
            print("Activity successfuly added.")

        except InvalidUserInputError as err:
            print(err)
        except:
            raise
Example #2
0
    def execute_shorthand(self):
        try:
            # Get number
            choice = int(self.arg)

            # Query events of current day
            current_year_number = self.shell.current_date.year
            current_month_number = self.shell.current_date.month
            current_day_number = self.shell.current_date.day

            current_year = Calendar.load_year(current_year_number)
            current_month = current_year.get_month(current_month_number)
            current_day = current_month.get_day(current_day_number)
            activities = current_day.activities

            if len(activities) <= 0:
                print("There are no activities this day")
                # End execution
            elif choice >= 1 and choice <= len(activities):
                if current_day.remove_activity(choice - 1):
                    Calendar.save_year(current_year)
                    print("You removed event # " + str(choice))
                else:
                    raise InvalidUserInputError("Invalid number")
            else:
                print("No activity # " + str(choice))
        except InvalidUserInputError as err:
            print(err)
        except:
            raise
Example #3
0
    def test_folderDoesntExist_newYearCreated(self):
        # arrange
        test_year = Year(2015)

        # act
        file_path = 'saves/' + str(2015) + '.p'
        Calendar.save_year(test_year)
        year = pickle.load(open(file_path, 'rb'))
        year_number = year.number

        # assert
        self.assertEqual(year_number, 2015)
Example #4
0
    def execute_full(self):
        try:
            # Query events of current day
            current_year_number = self.shell.current_date.year
            current_month_number = self.shell.current_date.month
            current_day_number = self.shell.current_date.day

            current_year = Calendar.load_year(current_year_number)
            current_month = current_year.get_month(current_month_number)
            current_day = current_month.get_day(current_day_number)
            activities = current_day.activities

            if len(activities) <= 0:
                print("No activities on this day")
                # End execution
            else:
                for i in range(0, len(activities)):
                    print(str(i + 1) + '. ' + activities[i].formatted_string())

                print(
                    "\nEnter number of activity you would like to remove" +
                    "(enter c to cancel):")

                while True:
                    choice = input(">> ")
                    exit_options = ['c', 'cancel', 'exit']
                    if choice in exit_options:
                        break
                    try:
                        if int(choice) < 1 or int(choice) > len(activities):
                            print(
                                "Number out of range! (select between 1 and " +
                                len(activities))
                        else:
                            if current_day.remove_activity(int(choice) - 1):
                                Calendar.save_year(current_year)
                                print("You removed event # " + str(choice))
                                break
                            else:
                                raise InvalidUserInputError("Invalid number")

                    except ValueError:
                        print("Invalid number, please re enter a number")
                        choice = input(">> ")

                    except InvalidUserInputError as err:
                        print(err)
        except:
            raise
Example #5
0
    def test_folderDoesntExists_newYearCreated(self):
        # act
        year = Calendar.load_year(2015)
        year_number = year.number

        # assert
        self.assertEqual(year_number, 2015)
Example #6
0
    def execute_full(self):
        # Query events of current day
        current_year_number = self.shell.current_date.year
        current_month_number = self.shell.current_date.month
        current_day_number = self.shell.current_date.day

        current_year = Calendar.load_year(current_year_number)
        current_month = current_year.get_month(current_month_number)
        current_day = current_month.get_day(current_day_number)

        exit_options = ['c', 'cancel', 'exit']

        while True:
            try:
                user_input = input("Enter start time (enter c to cancel): ")
                if user_input in exit_options:
                    return
                start_time = time_functions.parse_time(user_input)
                break
            except ValueError:
                print("Invalid time, please try again...")

        while True:
            try:
                user_input = input("Enter end time (enter c to cancel): ")
                if user_input in exit_options:
                    return
                end_time = time_functions.parse_time(user_input)
                break
            except ValueError:
                print("Invalid time, please try again")

        description = input("Enter activity description: ")

        new_activity = Activity(start_time,
                                end_time,
                                description)

        current_day.add_activity(new_activity)
        Calendar.save_year(current_year)
        print("Activity successfuly added.")
Example #7
0
    def test_folderAlreadyExists_yearReturned(self):
        # arrange
        sample_year = Year(2015)
        os.makedirs('saves')
        pickle.dump(sample_year, open(
            'saves/' + str(sample_year.number) + '.p', 'wb'))

        # act
        year = Calendar.load_year(2015)
        year_number = year.number

        # assert
        self.assertEqual(year_number, 2015)
Example #8
0
    def execute(self):
        try:
            # First parse arguments
            self.parse()

            # Then validate arguments
            self.validate()

            # Load activities of current day
            current_year_number = self.shell.current_date.year
            current_month_number = self.shell.current_date.month
            current_day_number = self.shell.current_date.day

            current_year = Calendar.load_year(current_year_number)
            current_month = current_year.get_month(current_month_number)
            current_day = current_month.get_day(current_day_number)

            if len(current_day.activities) == 0:
                print("There are no activities this day")
            else:
                print(' #           Time           Activity')
                print('---    -----------------   ------------')

                for i in range(0, len(current_day.activities)):
                    index = str(i + 1)
                    if i < 10:
                        index += ' '
                    print (
                        ' ' + index +
                        '     ' +
                        current_day.activities[i].formatted_string())

        except InvalidUserInputError as err:
            print(err)
        except:
            raise