



import os
import tempfile
from functools import partial
from unittest import TestCase
from unittest.mock import patch

import datasets
import datasets.config

from .utils import require_beam


class 	lowerCamelCase__	(       datasets.BeamBasedBuilder):



 """simple docstring"""

 def     snake_case_      (    self					:					List[Any]      )   ->	List[str]:
    return datasets.DatasetInfo(
        features=datasets.Features({'''content''': datasets.Value('''string'''      )}      )			,						supervised_keys=__lowerCAmelCase			,						)

 def     snake_case_      (    self					:					Optional[Any]			,						__lowerCAmelCase					:					List[str]			,						__lowerCAmelCase					:					Dict      )   ->	List[Any]:
    return [datasets.SplitGenerator(name=datasets.Split.TRAIN			,						gen_kwargs={'''examples''': get_test_dummy_examples()}      )]

 def     snake_case_      (    self					:					List[Any]			,						__lowerCAmelCase					:					Optional[int]			,						__lowerCAmelCase					:					Tuple      )   ->	List[str]:
    import apache_beam as beam

    return pipeline | "Load Examples" >> beam.Create(__lowerCAmelCase      )


class 	lowerCamelCase__	(       datasets.BeamBasedBuilder):



 """simple docstring"""

 def     snake_case_      (    self					:					Tuple      )   ->	int:
    return datasets.DatasetInfo(
        features=datasets.Features({'''a''': datasets.Sequence({'''b''': datasets.Value('''string'''      )}      )}      )			,						supervised_keys=__lowerCAmelCase			,						)

 def     snake_case_      (    self					:					List[str]			,						__lowerCAmelCase					:					Optional[int]			,						__lowerCAmelCase					:					Optional[int]      )   ->	Dict:
    return [
        datasets.SplitGenerator(name=datasets.Split.TRAIN			,						gen_kwargs={'''examples''': get_test_nested_examples()}      )
    ]

 def     snake_case_      (    self					:					Optional[int]			,						__lowerCAmelCase					:					Tuple			,						__lowerCAmelCase					:					Any      )   ->	str:
    import apache_beam as beam

    return pipeline | "Load Examples" >> beam.Create(__lowerCAmelCase      )

def 	SCREAMING_SNAKE_CASE_							(	)  ->     Any:
   return [(i, {"content": content}) for i, content in enumerate(['''foo''', '''bar''', '''foobar''']				)]

def 	SCREAMING_SNAKE_CASE_							(	)  ->     Tuple:
   return [(i, {"a": {"b": [content]}}) for i, content in enumerate(['''foo''', '''bar''', '''foobar''']				)]


class 	lowerCamelCase__	(       _A):



 """simple docstring"""

 @require_beam
 def     snake_case_      (    self					:					Union[str, Any]      )   ->	List[str]:
    _A      =       len(get_test_dummy_examples()      )
    with tempfile.TemporaryDirectory() as tmp_cache_dir:
       _A      =       DummyBeamDataset(cache_dir=__lowerCAmelCase			,						beam_runner='''DirectRunner'''      )
       builder.download_and_prepare()
       self.assertTrue(
           os.path.exists(
               os.path.join(__lowerCAmelCase			,						builder.name			,						'''default'''			,						'''0.0.0'''			,						f'''{builder.name}-train.arrow'''      )      )      )
       self.assertDictEqual(builder.info.features			,						datasets.Features({'''content''': datasets.Value('''string'''      )}      )      )
       _A      =       builder.as_dataset()
       self.assertEqual(dset['''train'''].num_rows			,						__lowerCAmelCase      )
       self.assertEqual(dset['''train'''].info.splits['''train'''].num_examples			,						__lowerCAmelCase      )
       self.assertDictEqual(dset['''train'''][0]			,						get_test_dummy_examples()[0][1]      )
       self.assertDictEqual(
           dset['''train'''][expected_num_examples - 1]			,						get_test_dummy_examples()[expected_num_examples - 1][1]      )
       self.assertTrue(
           os.path.exists(os.path.join(__lowerCAmelCase			,						builder.name			,						'''default'''			,						'''0.0.0'''			,						'''dataset_info.json'''      )      )      )
       del dset

 @require_beam
 def     snake_case_      (    self					:					int      )   ->	str:
    import apache_beam as beam

    _A      =       beam.io.parquetio.WriteToParquet

    _A      =       len(get_test_dummy_examples()      )
    with tempfile.TemporaryDirectory() as tmp_cache_dir:
       _A      =       DummyBeamDataset(cache_dir=__lowerCAmelCase			,						beam_runner='''DirectRunner'''      )
       with patch('''apache_beam.io.parquetio.WriteToParquet'''      ) as write_parquet_mock:
          _A      =       partial(__lowerCAmelCase			,						num_shards=2      )
          builder.download_and_prepare()
       self.assertTrue(
           os.path.exists(
               os.path.join(
                   __lowerCAmelCase			,						builder.name			,						'''default'''			,						'''0.0.0'''			,						f'''{builder.name}-train-00000-of-00002.arrow'''      )      )      )
       self.assertTrue(
           os.path.exists(
               os.path.join(
                   __lowerCAmelCase			,						builder.name			,						'''default'''			,						'''0.0.0'''			,						f'''{builder.name}-train-00000-of-00002.arrow'''      )      )      )
       self.assertDictEqual(builder.info.features			,						datasets.Features({'''content''': datasets.Value('''string'''      )}      )      )
       _A      =       builder.as_dataset()
       self.assertEqual(dset['''train'''].num_rows			,						__lowerCAmelCase      )
       self.assertEqual(dset['''train'''].info.splits['''train'''].num_examples			,						__lowerCAmelCase      )
       # Order is not preserved when sharding, so we just check that all the elements are there
       self.assertListEqual(sorted(dset['''train''']['''content''']      )			,						sorted(['''foo''', '''bar''', '''foobar''']      )      )
       self.assertTrue(
           os.path.exists(os.path.join(__lowerCAmelCase			,						builder.name			,						'''default'''			,						'''0.0.0'''			,						'''dataset_info.json'''      )      )      )
       del dset

 @require_beam
 def     snake_case_      (    self					:					Optional[Any]      )   ->	Optional[int]:
    with tempfile.TemporaryDirectory() as tmp_cache_dir:
       _A      =       DummyBeamDataset(cache_dir=__lowerCAmelCase      )
       self.assertRaises(datasets.builder.MissingBeamOptions			,						builder.download_and_prepare      )

 @require_beam
 def     snake_case_      (    self					:					Any      )   ->	int:
    _A      =       len(get_test_nested_examples()      )
    with tempfile.TemporaryDirectory() as tmp_cache_dir:
       _A      =       NestedBeamDataset(cache_dir=__lowerCAmelCase			,						beam_runner='''DirectRunner'''      )
       builder.download_and_prepare()
       self.assertTrue(
           os.path.exists(
               os.path.join(__lowerCAmelCase			,						builder.name			,						'''default'''			,						'''0.0.0'''			,						f'''{builder.name}-train.arrow'''      )      )      )
       self.assertDictEqual(
           builder.info.features			,						datasets.Features({'''a''': datasets.Sequence({'''b''': datasets.Value('''string'''      )}      )}      )      )
       _A      =       builder.as_dataset()
       self.assertEqual(dset['''train'''].num_rows			,						__lowerCAmelCase      )
       self.assertEqual(dset['''train'''].info.splits['''train'''].num_examples			,						__lowerCAmelCase      )
       self.assertDictEqual(dset['''train'''][0]			,						get_test_nested_examples()[0][1]      )
       self.assertDictEqual(
           dset['''train'''][expected_num_examples - 1]			,						get_test_nested_examples()[expected_num_examples - 1][1]      )
       self.assertTrue(
           os.path.exists(os.path.join(__lowerCAmelCase			,						builder.name			,						'''default'''			,						'''0.0.0'''			,						'''dataset_info.json'''      )      )      )
       del dset








import requests
from bsa import BeautifulSoup

def 	SCREAMING_SNAKE_CASE_							(	_snake_case	:str = "AAPL"				)  ->     str:
   _A      =       F'''https://in.finance.yahoo.com/quote/{symbol}?s={symbol}'''
   _A      =       BeautifulSoup(requests.get(_snake_case				).text	,   '''html.parser'''				)
   _A      =       '''My(6px) Pos(r) smartphone_Mt(6px)'''
   return soup.find('''div'''	,   class_=class_				).find('''span'''				).text


if __name__ == "__main__":
   for symbol in "AAPL AMZN IBM GOOG MSFT ORCL".split():
      print(f'Current {symbol:<4} stock price is {stock_price(symbol):>8}')



