Best Python code snippet using avocado_python
user_interface.py
Source:user_interface.py  
...43        while package_id > 40 or package_id < 1:44            package_id = int(input('Invalid package id please enter a new package id (1-40): '))45        # Take user input for time wanting to be checked46        # set times equal to the times for the associated package id given47        departure_time = get_package_map().get_package_info(str(package_id))[9]48        arrival_time = get_package_map().get_package_info(str(package_id))[10]49        time = input('Enter a time (HH:MM:SS): ')50        if departure_time == '8:00:00':51            truck_number = '1'52        elif departure_time == '9:05:00':53            truck_number = '2'54        else:55            truck_number = '3'56        # Converts times using timedelta into HH:MM:SS format57        # to use for comparison operations58        (hours, minutes, seconds) = time.split(':')59        converted_time = datetime.timedelta(hours=int(hours), minutes=int(minutes), seconds=int(seconds))60        (hours, minutes, seconds) = departure_time.split(':')61        converted_departure_time = datetime.timedelta(hours=int(hours), minutes=int(minutes), seconds=int(seconds))62        (hours, minutes, seconds) = arrival_time.split(':')63        converted_arrival_time = datetime.timedelta(hours=int(hours), minutes=int(minutes), seconds=int(seconds))64        # Checks if package is still at hub by comparing departure time65        # to the time given by user. If it is still at hub then it66        # sets delivery status to at hub and sets when it will leave67        # then prints package info for given ID68        if converted_departure_time >= converted_time:69            get_package_map().get_package_info(str(package_id))[10] = 'Package is at hub'70            get_package_map().get_package_info(str(package_id))[9] = 'Leaves hub at ' + departure_time71            print(72                f'\n\nPackage is on truck {truck_number}\n'73                f'Package ID: {get_package_map().get_package_info(str(package_id))[0]}\n'74                f'Address: {get_package_map().get_package_info(str(package_id))[2]}\n'75                f'City: {get_package_map().get_package_info(str(package_id))[3]}\n'76                f'State: {get_package_map().get_package_info(str(package_id))[4]}\n'77                f'Zip: {get_package_map().get_package_info(str(package_id))[5]}\n'78                f'Must be delivered by: {get_package_map().get_package_info(str(package_id))[6]}\n'79                f'Package weight: {get_package_map().get_package_info(str(package_id))[7]} lbs\n'80                f'Truck status: {get_package_map().get_package_info(str(package_id))[9]}\n'81                f'Delivery status: {get_package_map().get_package_info(str(package_id))[10]}\n'82            )83        # checks if package has left hub and check if package is not delivered84        # sets delivery status to out for delivery and sets when it left hub85        # then prints package info for given ID86        elif converted_departure_time <= converted_time:87            if converted_time < converted_arrival_time:88                get_package_map().get_package_info(str(package_id))[10] = 'Package is out for delivery'89                get_package_map().get_package_info(str(package_id))[9] = 'Left hub at ' + departure_time90                print(91                    f'\n\nPackage is on truck {truck_number}\n'92                    f'Package ID: {get_package_map().get_package_info(str(package_id))[0]}\n'93                    f'Address: {get_package_map().get_package_info(str(package_id))[2]}\n'94                    f'City: {get_package_map().get_package_info(str(package_id))[3]}\n'95                    f'State: {get_package_map().get_package_info(str(package_id))[4]}\n'96                    f'Zip: {get_package_map().get_package_info(str(package_id))[5]}\n'97                    f'Must be delivered by: {get_package_map().get_package_info(str(package_id))[6]}\n'98                    f'Package weight: {get_package_map().get_package_info(str(package_id))[7]} lbs\n'99                    f'Truck status: {get_package_map().get_package_info(str(package_id))[9]}\n'100                    f'Delivery status: {get_package_map().get_package_info(str(package_id))[10]}\n'101                )102            # Else case - Package has been delivered103            # sets delivery status to delivered with time of delivery104            # then prints package info for given ID105            else:106                get_package_map().get_package_info(str(package_id))[10] = 'Package was delivered at ' + arrival_time107                get_package_map().get_package_info(str(package_id))[9] = 'Left hub at ' + departure_time108                print(109                    f'\n\nPackage is on truck {truck_number}\n'110                    f'Package ID: {get_package_map().get_package_info(str(package_id))[0]}\n'111                    f'Address: {get_package_map().get_package_info(str(package_id))[2]}\n'112                    f'City: {get_package_map().get_package_info(str(package_id))[3]}\n'113                    f'State: {get_package_map().get_package_info(str(package_id))[4]}\n'114                    f'Zip: {get_package_map().get_package_info(str(package_id))[5]}\n'115                    f'Must be delivered by: {get_package_map().get_package_info(str(package_id))[6]}\n'116                    f'Package weight: {get_package_map().get_package_info(str(package_id))[7]} lbs\n'117                    f'Truck status: {get_package_map().get_package_info(str(package_id))[9]}\n'118                    f'Delivery status: {get_package_map().get_package_info(str(package_id))[10]}\n'119                )120    except ValueError:121        print('Invalid entry. Try again.')122        single_package()123        pass124    exit()125# Outputs all package info for a user-given time126# Space-Time Complexity: O(N)127def all_packages():128    departure_time = ''129    converted_departure_time = ''130    converted_arrival_time = ''131    arrival_time = ''132    try:133        print("If you would like to return to main menu please type: back")134        # takes user input for time135        time = input("Enter a time (HH:MM:SS):")136        # Allows user to go back if they did not mean to run this function137        if time.lower() == 'back':138            user_interface()139            exit()140        # splits time into hours, min and seconds141        # for comparisons using datetime.timedelta function142        (hours, minutes, seconds) = time.split(':')143        converted_time = datetime.timedelta(hours=int(hours), minutes=int(minutes), seconds=int(seconds))144        # Finds start and end times of packages with [9] and [10] being delivery times145        # Uses timedelta function in order to compare times to determine delivery status146        # based off the user given time147        # Time Complexity O(N^2)148        for ID in range(1, 41):149            try:150                # get departure and arrival time for package151                departure_time = get_package_map().get_package_info(str(ID))[9]152                arrival_time = get_package_map().get_package_info(str(ID))[10]153                # splits departure and arrival times into hours minutes and seconds154                # then converts them into datetime.timedelta objects to be compared155                (hours, minutes, seconds) = departure_time.split(':')156                converted_departure_time = datetime.timedelta(hours=int(hours), minutes=int(minutes),157                                                              seconds=int(seconds))158                (hours, minutes, seconds) = arrival_time.split(':')159                converted_arrival_time = datetime.timedelta(hours=int(hours), minutes=int(minutes),160                                                            seconds=int(seconds))161            except ValueError:162                pass163            # Checks if package is still at hub by comparing departure time to user time164            # Prints out Package ID and delivery status for packages165            # that still remain at the hub166            if converted_departure_time >= converted_time:167                get_package_map().get_package_info(str(ID))[10] = 'Package is at hub'168                get_package_map().get_package_info(str(ID))[9] = 'Package Leaves hub at ' + departure_time169                print(170                    f'Package ID: {get_package_map().get_package_info(str(ID))[0]}, '171                    f'Delivery status: {get_package_map().get_package_info(str(ID))[10]}'172                )173            # Checks if package is out for delivery by comparing departure time to user time174            # Prints out Package ID and delivery status for packages that175            # are out for delivery176            elif converted_departure_time <= converted_time:177                if converted_time < converted_arrival_time:178                    get_package_map().get_package_info(str(ID))[10] = 'Package is out for delivery'179                    get_package_map().get_package_info(str(ID))[9] = 'Left hub at ' + departure_time180                    print(181                        f'Package ID: {get_package_map().get_package_info(str(ID))[0]}, '182                        f'Delivery status: {get_package_map().get_package_info(str(ID))[10]}'183                    )184                # Else case, package was delivered185                # Prints out Package Id and delivery status for packages that have been delivered186                # at given time187                else:188                    get_package_map().get_package_info(str(ID))[10] = 'Package was delivered at ' + arrival_time189                    get_package_map().get_package_info(str(ID))[9] = 'Left hub at ' + departure_time190                    print(191                        f'Package ID: {get_package_map().get_package_info(str(ID))[0]}, '192                        f'Delivery status: {get_package_map().get_package_info(str(ID))[10]}'193                    )194    # Checks for value error by user and restarts all_packages() function to try again195    except ValueError:196        print('Invalid input. Try again')197        all_packages()...import_utils.py
Source:import_utils.py  
...8    format="%(asctime)s - %(levelname)s - %(name)s -   %(message)s",9    datefmt="%m/%d/%Y %H:%M:%S",10    level=os.environ.get("LOGLEVEL", "INFO").upper(),11)12def get_package_info(package_name: str, verbose: bool = True):13    """14    Returns the package version as a string and the package name as a string.15    """16    _is_available = is_available(package_name)17    if _is_available:18        try:19            import importlib.metadata as _importlib_metadata20            _version = _importlib_metadata.version(package_name)21        except (ModuleNotFoundError, AttributeError):22            try:23                _version = importlib.import_module(package_name).__version__24            except AttributeError:25                _version = "unknown"26        if verbose:27            logger.info(f"{package_name} version {_version} is available.")28    else:29        _version = "N/A"30    return _is_available, _version31def print_enviroment_info():32    _torch_available, _torch_version = get_package_info("torch")33    _torchvision_available, _torchvision_version = get_package_info("torchvision")34    _tensorflow_available, _tensorflow_version = get_package_info("tensorflow")35    _tensorflow_hub_available, _tensorflow_hub_version = get_package_info("tensorflow-hub")36    _yolov5_available, _yolov5_version = get_package_info("yolov5")37    _mmdet_available, _mmdet_version = get_package_info("mmdet")38    _mmcv_available, _mmcv_version = get_package_info("mmcv")39    _detectron2_available, _detectron2_version = get_package_info("detectron2")40    _transformers_available, _transformers_version = get_package_info("transformers")41    _timm_available, _timm_version = get_package_info("timm")42    _layer_available, _layer_version = get_package_info("layer")43    _fiftyone_available, _fiftyone_version = get_package_info("fiftyone")44    _norfair_available, _norfair_version = get_package_info("norfair")45def is_available(module_name: str):46    return importlib.util.find_spec(module_name) is not None47@contextlib.contextmanager48def check_requirements(package_names):49    """50    Raise error if module is not installed.51    """52    missing_packages = []53    for package_name in package_names:54        if importlib.util.find_spec(package_name) is None:55            missing_packages.append(package_name)56    if missing_packages:57        raise ImportError(f"The following packages are required to use this module: {missing_packages}")58    yieldLearn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
