first commit
This commit is contained in:
173
test.py
Normal file
173
test.py
Normal file
@@ -0,0 +1,173 @@
|
||||
import asyncio
|
||||
import json
|
||||
import requests
|
||||
from altair import DateTime
|
||||
from streamlit.runtime.state.query_params import QueryParams
|
||||
import pandas as pd
|
||||
from datetime import datetime
|
||||
from neoserra_api_module import EcCenterId, CounselingSessionRepository, ClientRepository, ClientType, DefaultFundingSource
|
||||
|
||||
async def main():
|
||||
repo = ClientRepository("https://pasbdc.neoserra.com/api/v1/", "03776e46-a914-4996-95a0-3451ff68ebaa")
|
||||
#sessions = repo.get_sessions(datetime(2025, 10, 1), datetime(2026, 9, 30), is_reportable=True, centers=[EcCenterId.KUTZTOWN_UNIVERSITY_SBDC, EcCenterId.PENN_STATE_SBDC], neoserra_columns=["center_id", "date", "is_reportable", "clients"])
|
||||
centers = [c for c in EcCenterId]
|
||||
funding_sources = [DefaultFundingSource.CORE_SERVICES, DefaultFundingSource.EMAP, DefaultFundingSource.LEXNET, DefaultFundingSource.NAP, DefaultFundingSource.PDA]
|
||||
active_statuses = [ClientType.ACTIVE_CLIENT, ClientType.INACTIVE_CLIENT]
|
||||
|
||||
batch_size = 4
|
||||
|
||||
tasks = []
|
||||
for center in centers:
|
||||
tasks.append(repo.get_clients_async(centers=center, active_status=active_statuses, funding_sources=funding_sources))
|
||||
|
||||
print(f"Number of calls: {len(tasks)}")
|
||||
all_results = []
|
||||
for i in range(0, len(tasks), batch_size):
|
||||
current_batch = tasks[i:i + batch_size]
|
||||
print("starting batch!")
|
||||
batch_results = await asyncio.gather(*current_batch)
|
||||
print("batch completed!\n")
|
||||
all_results.extend(batch_results)
|
||||
|
||||
for client_list in all_results:
|
||||
all_results.extend(client_list)
|
||||
|
||||
pd.DataFrame(all_results).to_csv("api_clients.csv")
|
||||
|
||||
exit(0)
|
||||
all_results = []
|
||||
for i in range(0, len(tasks), batch_size):
|
||||
current_batch = tasks[i:i + batch_size]
|
||||
print("starting batch!")
|
||||
batch_results = await asyncio.gather(*current_batch)
|
||||
print("batch completed!\n")
|
||||
all_results.extend(batch_results)
|
||||
|
||||
df = pd.DataFrame(all_results)
|
||||
df.to_csv("api_clients.csv")
|
||||
|
||||
asyncio.run(main())
|
||||
exit(0)
|
||||
|
||||
clients = repo.get_clients_sync(
|
||||
centers=[EcCenterId.KUTZTOWN_UNIVERSITY_SBDC],
|
||||
active_status=[ClientType.ACTIVE_CLIENT, ClientType.INACTIVE_CLIENT],
|
||||
funding_sources=[DefaultFundingSource.CORE_SERVICES]
|
||||
)
|
||||
|
||||
for client in clients:
|
||||
print(json.dumps(client, indent=4))
|
||||
print(f"\n\n")
|
||||
|
||||
exit(0)
|
||||
for session in sessions:
|
||||
print(json.dumps(session, indent=4))
|
||||
print(f"\n\n")
|
||||
|
||||
test_df = pd.DataFrame(sessions)
|
||||
print(f"HEAD OF DF:\n\n")
|
||||
print(test_df.head())
|
||||
|
||||
"""
|
||||
base_url = "https://pasbdc.neoserra.com/api/v1/"
|
||||
endpoint = "centers/"
|
||||
|
||||
# Added the new fields to the columns parameter so the API actually returns them
|
||||
new_columns = ",ecCenterId,ecCenterName,ecDescription,ecBannerLogo,ecBannerBkgd,ecBannerTextColor,urlEctrBanner,ecPocFirst,ecPocLast,ecPocEmail,ecPocPhone,sbaAreas,ecSignupInfoLevel,ecPayeeId,url1Type,url1,url2Type,url2,url3Type,url3,centerNotes"
|
||||
query = f"?visibility=N&columns=center,visibility,centerName,centerType,orgType,taRel,taServices,taBudget,sediOwned,region,sbaLoc,commnavs,counselId,phone,fax,email,url,account,accountPassword,mailaddr,mailcity,mailst,mailzip,county,country,clientidmask,nextclientnbr,conferenceidmask,nextconferencenbr{new_columns}"
|
||||
|
||||
headers = {"Authorization": "Bearer 03776e46-a914-4996-95a0-3451ff68ebaa"}
|
||||
|
||||
response = requests.get(f"{base_url}{endpoint}{query}", headers=headers)
|
||||
|
||||
if response.status_code == 200:
|
||||
json_object = response.json()
|
||||
print("RAW JSON")
|
||||
print("=======================")
|
||||
print(json.dumps(json_object, indent=4))
|
||||
|
||||
print("Converted center records")
|
||||
print("=======================")
|
||||
centers = Center.from_api_json_list(json_object)
|
||||
for center in centers:
|
||||
print(f"Center id: {center.center_id.name if center.center_id else None}")
|
||||
print(f"Center name: {center.center_name.name if center.center_name else None}")
|
||||
print(f"Center visibility: {center.center_visibility.name if center.center_visibility else None}")
|
||||
print(f"Center type: {center.center_type.name if center.center_type else None}")
|
||||
print(f"Org type: {center.org_type.name if center.org_type else None}")
|
||||
print(f"TA Grant Relationship: {center.ta_grant_relationship.name if center.ta_grant_relationship else None}")
|
||||
|
||||
print(f"TA Services:", end='')
|
||||
if center.ta_services:
|
||||
for ta_service in center.ta_services:
|
||||
print(f"{ta_service.name}", end=',')
|
||||
print()
|
||||
|
||||
print(f"TA Budget: ${center.ta_budget}")
|
||||
print(f"SEDI Owned: {center.sedi_owned}")
|
||||
print(f"Region: {center.region}")
|
||||
print(f"SBA Loc: {center.sba_location}")
|
||||
print(f"Commnavs: {center.navigator_location_id}")
|
||||
print(f"Default Contact: {center.default_contact_id}")
|
||||
print(f"Phone: {center.phone_number}")
|
||||
print(f"Fax: {center.fax_number}")
|
||||
print(f"Email: {center.email}")
|
||||
print(f"url: {center.website_url}")
|
||||
print(f"Account: {center.outreach_account}")
|
||||
print(f"Account Password: {center.outreach_account_password}")
|
||||
print(f"Mail Address: {center.mailing_address}")
|
||||
print(f"Mail City: {center.mailing_address_city}")
|
||||
print(f"Mail State: {center.mailing_address_state}")
|
||||
print(f"Mail Zip: {center.mailing_address_zip}")
|
||||
print(f"Physical Address County: {center.physical_address_county}")
|
||||
print(f"Country Code: {center.country}")
|
||||
print(f"Client ID Mask: {center.client_id_format}")
|
||||
print(f"Next client id: {center.next_client_id}")
|
||||
print(f"Training ID Format: {center.training_event_id_format}")
|
||||
print(f"Next training id: {center.next_training_id}")
|
||||
|
||||
# --- NEW FIELDS START HERE ---
|
||||
print(f"eCenter ID: {center.ec_center_id.name if center.ec_center_id else None}")
|
||||
print(f"eCenter Name: {center.ec_center_name}")
|
||||
print(f"eCenter Description: {center.ec_description}")
|
||||
print(f"eCenter Banner Logo: {center.ec_banner_logo}")
|
||||
print(f"eCenter Banner Background: {center.ec_banner_background}")
|
||||
print(f"eCenter Banner Text Color: {center.ec_banner_text_color.name if center.ec_banner_text_color else None}")
|
||||
print(f"eCenter Banner URL: {center.url_ectr_banner}")
|
||||
print(f"eCenter POC First Name: {center.ec_poc_first}")
|
||||
print(f"eCenter POC Last Name: {center.ec_poc_last}")
|
||||
print(f"eCenter POC Email: {center.ec_poc_email}")
|
||||
print(f"eCenter POC Phone: {center.ec_poc_phone}")
|
||||
|
||||
print(f"SBA Areas:", end='')
|
||||
if center.sba_areas:
|
||||
for area in center.sba_areas:
|
||||
print(f"{area.name}", end=',')
|
||||
print()
|
||||
|
||||
print(f"eCenter Signup Info Level: {center.ec_signup_info_level.name if center.ec_signup_info_level else None}")
|
||||
print(f"eCenter Payee ID: {center.ec_payee_id.name if center.ec_payee_id else None}")
|
||||
print(f"URL 1 Type: {center.url1_type.name if center.url1_type else None}")
|
||||
print(f"URL 1: {center.url1}")
|
||||
print(f"URL 2 Type: {center.url2_type.name if center.url2_type else None}")
|
||||
print(f"URL 2: {center.url2}")
|
||||
print(f"URL 3 Type: {center.url3_type.name if center.url3_type else None}")
|
||||
print(f"URL 3: {center.url3}")
|
||||
print(f"Center Notes: {center.center_notes}")
|
||||
print("=======")
|
||||
|
||||
else:
|
||||
print(f"status: {response.status_code}")
|
||||
print(f"{response.content}")
|
||||
"""
|
||||
"""
|
||||
headers = {"Authorization": "Bearer 03776e46-a914-4996-95a0-3451ff68ebaa"}
|
||||
response = requests.get(f"https://pasbdc.neoserra.com/api/v1/clients?centerId=13&type2=AC&columns=client", headers=headers)
|
||||
|
||||
json_object = response.json()
|
||||
print("RAW JSON")
|
||||
print("=======================")
|
||||
print(json.dumps(json_object, indent=4))
|
||||
"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user