Exemplo n.º 1
0
    def do_select(self, line):
        """
        Select a data source
        :param line: <String> Source name
        :return: None
        :Author: Vaishali Patel
        """
        # Available data sources
        options = "-csv", "-db"
        args = list(arg.lower() for arg in str(line).split())

        try:
            # Check if the input data source is available in this program or not
            if args[0] not in options:
                raise ValueError("The data resource is not available.")
            else:
                # Code for initialise CSV data source
                if args[0] == "-csv":
                    try:
                        if len(args) == 1:
                            self._shw.select_source(args[0][1:],
                                                    "employeeinfo.csv")
                            View.warning(
                                "No CSV file path specified. A default file \"employeeinfo.csv\" will be used."
                            )
                        elif len(args) == 2:
                            self._shw.select_source(args[0][1:], args[1])
                        elif len(args) == 3:
                            if args[1] == "-a":
                                self._shw.select_source(
                                    args[0][1:], args[2], True)
                    except (CSVError, OSError) as e:
                        View.error(e)
                    except Exception as e:
                        View.error(e)
                    else:
                        View.success("Data source CSV is selected.")

                # Code for initialise database source
                elif args[0] == "-db":
                    try:
                        self._shw.select_source(args[0][1:])
                    except (ConnectionError, TypeError) as e:
                        View.error(e)
                    except Exception as e:
                        View.error(e)
                    else:
                        View.success("Data source Database is selected.")

                # Code for initialise XXXX data source
                else:
                    pass
        # Catch and display error message
        except ValueError as e:
            View.error(str(e) + "\n")
            View.help_select()
        except Exception as e:
            View.error(e)
Exemplo n.º 2
0
 def do_quit(self, line):
     arg = str(line).lower()
     if not arg == "-f" and not len(self._shw.new_data) == 0:
         View.warning(
             "The new data hasn't been saved. Enter \"quit -f\" to quit without saving."
         )
     else:
         View.display("Thanks for using. Bye!")
         return True