Skip to content

Commit ab9c193

Browse files
authored
Merge pull request #16 from bytesview/new_updates
New updates
2 parents de59f09 + 40d2095 commit ab9c193

4 files changed

Lines changed: 26 additions & 4 deletions

File tree

newsdataapi/constants.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
COUNT_ENDPOINT = 'count'
1717

18+
CRYPTO_COUNT_ENDPOINT = 'crypto/count'
19+
1820
# Default request values
1921
DEFAULT_REQUEST_TIMEOUT = 300
2022
DEFAULT_MAX_RETRIES = 5

newsdataapi/newsdataapi_client.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ def set_base_url(self,new_base_url:str=constants.BASE_URL)->None:
3434
self.crypto_url = urljoin(new_base_url,constants.CRYPTO_ENDPOINT)
3535
self.sources_url = urljoin(new_base_url,constants.SOURCES_ENDPOINT)
3636
self.count_url = urljoin(new_base_url,constants.COUNT_ENDPOINT)
37+
self.crypto_count_url = urljoin(new_base_url,constants.CRYPTO_COUNT_ENDPOINT)
3738

3839
def set_retries( self, max_retries:int, retry_delay:int)->None:
3940
""" API maximum retry and delay"""
@@ -323,6 +324,22 @@ def count_api(
323324
URL_parameters = self.__validate_parms(user_param=params)
324325
URL_parameters_encoded = urlencode(URL_parameters, quote_via=quote)
325326
return self.__get_feeds(url=f'{self.count_url}?{URL_parameters_encoded}')
327+
328+
def crypto_count_api(
329+
self, q:Optional[str]=None, qInTitle:Optional[str]=None, qInMeta:Optional[str]=None,language:Optional[Union[str, list]]=None,
330+
from_date:Optional[str]=None,to_date:Optional[str]=None,coin:Optional[str]=None,raw_query:Optional[str]=None
331+
) -> dict:
332+
"""
333+
Sending GET request to the crypto count api
334+
For more information about parameters and input, Please visit our documentation page: https://newsdata.io/documentation
335+
"""
336+
params = {
337+
'q':q,'qInTitle':qInTitle,'language':language,'from_date':from_date,'to_date':to_date,'coin':coin,
338+
'apikey':self.apikey,'qInMeta':qInMeta,'raw_query':raw_query
339+
}
340+
URL_parameters = self.__validate_parms(user_param=params)
341+
URL_parameters_encoded = urlencode(URL_parameters, quote_via=quote)
342+
return self.__get_feeds(url=f'{self.crypto_count_url}?{URL_parameters_encoded}')
326343

327344
def __del__(self):
328345
if isinstance(self.request_method,requests.Session):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
setup(
88
name='newsdataapi',
9-
version='0.1.25',
9+
version='0.1.26',
1010
packages=['newsdataapi'],
1111
description='Python library for newsdata client-API Call',
1212
long_description=long_description,

tests/test_newsdataapi.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ def test_crypto_api(self):
3232

3333
self.assertEqual(response['status'], "success")
3434

35-
# def test_count_api(self):
36-
# response = self.api.count_api(language='en')
35+
def test_count_api(self):
36+
response = self.api.count_api(language='en')
37+
self.assertEqual(response['status'], "success")
3738

38-
# self.assertEqual(response['status'], "success")
39+
def test_crypto_count_api(self):
40+
response = self.api.crypto_count_api(q='bitcoin',language='en')
41+
self.assertEqual(response['status'], "success")

0 commit comments

Comments
 (0)