Skip to content

Commit

Permalink
Refactor sms_services module to centralize SMS service instance retri…
Browse files Browse the repository at this point in the history
…eval
  • Loading branch information
david96182 committed May 6, 2024
1 parent 206b7b3 commit f9e57b3
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const defaultConfig = {
// API key
apiKey: '',
apiKey: 'test_key'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}'token': 'aaaaaaaa'}',
// Your Developer appId, Apply in dashboard's developer section
appId: '',
Expand Down
17 changes: 2 additions & 15 deletions ninjemail/email_providers/gmail.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.remote.webelement import WebElement
from sms_services import getsmscode, smspool, fivesim
from sms_services import get_sms_instance

URL = 'https://accounts.google.com/signup'
WAIT = 5
Expand Down Expand Up @@ -56,20 +56,7 @@ def create_account(driver,
"""
SMS_SERVICE = sms_key['name']

if SMS_SERVICE == 'getsmscode':
data = sms_key['data']
data.update({'project': 1,
'country': 'hk'})
sms_provider = getsmscode.GetsmsCode(**data)
elif SMS_SERVICE == 'smspool':
data = sms_key['data']
data.update({'service': 395})
sms_provider = smspool.SMSPool(**data)
elif SMS_SERVICE == '5sim':
data = sms_key['data']
data.update({'service': 'google'})
sms_provider = fivesim.FiveSim(**data)
sms_provider = get_sms_instance(sms_key, 'google')

logging.info('Creating Gmail account')

Expand Down
17 changes: 2 additions & 15 deletions ninjemail/email_providers/yahoo.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
from sms_services import getsmscode, smspool, fivesim
from sms_services import get_sms_instance

URL = 'https://login.yahoo.com/account/create'
WAIT = 25
Expand Down Expand Up @@ -40,20 +40,7 @@ def create_account(driver,
"""
SMS_SERVICE = sms_key['name']

if SMS_SERVICE == 'getsmscode':
data = sms_key['data']
data.update({'project': 15,
'country': 'us'})
sms_provider = getsmscode.GetsmsCode(**data)
elif SMS_SERVICE == 'smspool':
data = sms_key['data']
data.update({'service': 1034})
sms_provider = smspool.SMSPool(**data)
elif SMS_SERVICE == '5sim':
data = sms_key['data']
data.update({'service': 'yahoo'})
sms_provider = fivesim.FiveSim(**data)
sms_provider = get_sms_instance(sms_key, 'yahoo')

logging.info('Creating Yahoo account')

Expand Down
38 changes: 38 additions & 0 deletions ninjemail/sms_services/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from sms_services import getsmscode
from sms_services import smspool
from sms_services import fivesim

def get_sms_instance(sms_info, email_provider):
"""
Retrieves an instance of an SMS provider based on the given SMS information.
Args:
sms_info (dict): A dictionary containing the SMS service name and associated data.
Returns:
object: An instance of the SMS provider based on the provided SMS service.
"""
service_name = sms_info['name']

if service_name == 'getsmscode':
data = sms_info['data']
project = 1
if email_provider == 'yahoo':
project = 15
data.update({'project': project, 'country': 'us'})
sms_provider = getsmscode.GetsmsCode(**data)
elif service_name == 'smspool':
data = sms_info['data']
service = 395
if email_provider == 'yahoo':
service = 1034
data.update({'service': service})
sms_provider = smspool.SMSPool(**data)
elif service_name == '5sim':
data = sms_info['data']
data.update({'service': email_provider})
sms_provider = fivesim.FiveSim(**data)

print(data)

return sms_provider

0 comments on commit f9e57b3

Please sign in to comment.