I am reworking a project of mine by trying out classes and def's, but cannot figure out how to use them correctly, I have one functional for pulling values from a json file, but I'm struggling to get another definition to pull data and print it out for the user to see.
Code:
import json
import requests
#Read user-specific information from 'config.json'
class Config:
def __init__(self, config_file):
self.file = config_file
with open(self.file, 'r') as file:
self.config = json.load(file)
def ParseConfig(self):
self.Instance = self.config['config']['InstanceURL']
self.User = self.config['config']['UUID']
self.RPC_ID = self.config['config']['RpcClientID']
config = Config('config.json')
config.ParseConfig()
class Data:
def __init__(self, api_link):
self.link = api_link
link = requests.get(api_link)
json_response = link.json()
def ParseData(self):
self.roomState = json_response["data"]["activeRoom"]
print(self.roomState)
print(config.Instance + 'api/v3/users/uuid/' + config.User)
link = config.Instance + 'api/v3/users/uuid/' + config.User
link.ParseData()
###---DEBUG---
print(config.Instance)
print(config.User)
print(config.RPC_ID)
###===========
Error:
Traceback (most recent call last):
File "/home/kraken/Projects/PyFreshPresence/PyFreshPresence_rewrite.py", line 32, in <module>
link.ParseData()
^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'ParseData'