






"""simple docstring"""







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


_UpperCamelCase     			=  {"""configuration_vilt""": ["""VILT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """ViltConfig"""]}

try:
  if not is_vision_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _UpperCamelCase     			=  ["""ViltFeatureExtractor"""]
  _UpperCamelCase     			=  ["""ViltImageProcessor"""]
  _UpperCamelCase     			=  ["""ViltProcessor"""]

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _UpperCamelCase     			=  [
      """VILT_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """ViltForImageAndTextRetrieval""",
      """ViltForImagesAndTextClassification""",
      """ViltForTokenClassification""",
      """ViltForMaskedLM""",
      """ViltForQuestionAnswering""",
      """ViltLayer""",
      """ViltModel""",
      """ViltPreTrainedModel""",
  ]


if TYPE_CHECKING:
  from .configuration_vilt import VILT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViltConfig

  try:
    if not is_vision_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .feature_extraction_vilt import ViltFeatureExtractor
    from .image_processing_vilt import ViltImageProcessor
    from .processing_vilt import ViltProcessor

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_vilt import (
        VILT_PRETRAINED_MODEL_ARCHIVE_LIST,
        ViltForImageAndTextRetrieval,
        ViltForImagesAndTextClassification,
        ViltForMaskedLM,
        ViltForQuestionAnswering,
        ViltForTokenClassification,
        ViltLayer,
        ViltModel,
        ViltPreTrainedModel,
    )


else:
  import sys

  _UpperCamelCase     			=  _LazyModule(__name__, globals()["""__file__"""], _import_structure)











"""simple docstring"""







from urllib.error import HTTPError

from bsa import BeautifulSoup
from requests import exceptions, get

_UpperCamelCase     			=  """https://www.wellrx.com/prescriptions/{0}/{1}/?freshSearch=true"""

def _a (		_snake_case      ,       _snake_case							):







      """simple docstring"""






      try:
            # Has user provided both inputs?
            if not drug_name or not zip_code:
                  return None

            UpperCAmelCase							=       BASE_URL.format(_snake_case      ,       _snake_case							)
            UpperCAmelCase							=       get(_snake_case							)

            # Is the response ok?
            response.raise_for_status()

            # Scrape the data using bs4
            UpperCAmelCase							=       BeautifulSoup(response.text      ,       """html.parser"""							)

            # This list will store the name and price.
            UpperCAmelCase							=       []

            # Fetch all the grids that contains the items.
            UpperCAmelCase							=       soup.find_all("""div"""      ,       {"""class""": """grid-x pharmCard"""}							)
            if grid_list and len(_snake_case							) > 0:
                  for grid in grid_list:
                        # Get the pharmacy price.
                        UpperCAmelCase							=       grid.find("""p"""      ,       {"""class""": """list-title"""}							).text

                        # Get price of the drug.
                        UpperCAmelCase							=       grid.find("""span"""      ,       {"""p""", """price price-large"""}							).text

                        pharmacy_price_list.append(
                            {
                                """pharmacy_name""": pharmacy_name,
                                """price""": price,
                            }							)

            return pharmacy_price_list

      except (HTTPError, exceptions.RequestException, ValueError):
            return None


if __name__ == "__main__":
  # Enter a drug name and a zip code
  _UpperCamelCase     			=  input("""Enter drug name: """).strip()
  _UpperCamelCase     			=  input("""Enter zip code: """).strip()

  _UpperCamelCase     			=  fetch_pharmacy_and_price_list(
      drug_name, zip_code
  )

  if pharmacy_price_list:
    print(F"""\nSearch results for {drug_name} at location {zip_code}:""")
    for pharmacy_price in pharmacy_price_list:
      _UpperCamelCase     			=  pharmacy_price["""pharmacy_name"""]
      _UpperCamelCase     			=  pharmacy_price["""price"""]

      print(F"""Pharmacy: {name} Price: {price}""")
  else:
    print(F"""No results found for {drug_name}""")



