def __init__(self, context): if isinstance(context, str): try: context = Jison(context).parse() except: raise Exception('Invalid Json for entity data') for key in context: setattr(self, key, context.get(key))
def __init__(self, basic_context, partnership_context): super().__init__(basic_context) if isinstance(partnership_context, str): try: partnership_context = Jison(partnership_context).parse() except: raise Exception('Invalid Json for entity data') for key in partnership_context: setattr(self, key, partnership_context.get(key))
def __init__(self, company: str, f_jison: Jison = None, i_jison: Jison = None, f_db=None, i_db=None): if not f_jison: f_jison = Jison() if not i_jison: i_jison = Jison() self.f_db = f_db self.i_db = i_db self.company = company self.terminate = False self.field_fetcher = FieldFetcher(company, f_jison, f_db) self.interface_fetcher = InterfaceFetcher(company, i_jison, i_db)
def __init__(self, basic_context, client_context: dict = None): super().__init__(basic_context) if isinstance(client_context, str): try: client_context = Jison(client_context).parse() except: raise Exception('Invalid Json for entity data') if client_context: for key in client_context: setattr(self, key, client_context.get(key))
def __init__(self, user: dict): self.id = str(user.get('_id')) self.email = user.get('email') self.username = user.get('username') self.password = user.get('password') # store hash result self.is_confirmed = user.get('is_confirmed') self.role = Role(Meta.db.Role.find_one({'type': user.get('role')})) self.name = user.get('name') self.location = user.get('location') self.about_me = user.get('about_me') self.avatar_hash = user.get('avatar_hash') self.last_login = user.get('last_login') self.member_since = user.get('member_since') self.company = user.get('company') self.db = Meta.db if self.company == MongoConfig.HOME else \ mongo_connect(self.company) try: self.jison = Jison(file_name=user.get('company')) except: # if user is login into an empty company (no database) self.jison = Jison()
import requests import re from pprint import pprint as pp from fuzzier.jison import Jison company = 'ytml' username = '******' password = '******' jison = Jison() URL_SOURCE = f'https://{company.lower()}.xplan.iress.com.au/RPC2/' interface_header = { 'Content-Type': 'application/json', 'referer': f'https://{company.lower()}.xplan.iress.com.au/portfolio/list_position', } with requests.session() as session: payload = { "userid": username, "passwd": password, "rolename": "User", "redirecturl": '' } ips_post = { "method": "portfolio.getMarketValueReport", "params": [2846, "V0I1E2W3_A4L5L6", "prod_name", False], "id": 1 } # send POST to login page, check login status
import requests import re from pprint import pprint as pp from fuzzier.jison import Jison import urllib3 from pprint import pprint from bs4 import BeautifulSoup company = 'ytml' username = '******' password = '******' sample_client = 'Duran Wendy' jison = Jison() URL_SOURCE = f'https://{company.lower()}.xplan.iress.com.au/RPC2/' URL_SEARCH = f'https://{company.lower()}.xplan.iress.com.au/factfind/quicksearch?role=client&q={{}}' URL_LIST = f'https://{company.lower()}.xplan.iress.com.au/factfind/search/list_entity?async=3' links = {} client = {} partner = {} joint = {}
def search(jison: Jison, pattern: str, count: int = 8) -> list: if hasattr(jison, 'json') and jison.json: return jison.search(pattern=pattern, ratio_method=ratio, count=count) else: return []