class CharacterAPI: requestUrl = 'http://api.obsidianportal.com/v1/campaigns/' #assumes the existence of a valid local configuration file def __init__(self, config): self.connection = OPOAuthConnection(config) def get(self, campaign_id): url = CharacterAPI.requestUrl + campaign_id + "/characters.json" content = self.connection.get(url) characters = json.loads(content) ret = [] for c in characters: ret.append(Character(c)) return ret def show_by_id(self, campaignID, characterID): campaign_url = CampaignAPI.requestUrl + campaignID + "/characters/" + characterID + ".json" content = self.connection.get(campaign_url) character = Character(json.loads(content)) return character def show_by_slug(self, campaignID, slug): campaign_url = CampaignAPI.requestUrl + campaignID + "/characters/" + slug + ".json" content = self.connection.get(campaign_url, {'use_slug': '1'}) character = Character(json.loads(content)) return character
class CharacterAPI: requestUrl = 'http://api.obsidianportal.com/v1/campaigns/' #assumes the existence of a valid local configuration file def __init__(self, config): self.connection = OPOAuthConnection(config) def get(self, campaign_id ): url = CharacterAPI.requestUrl + campaign_id + "/characters.json" content = self.connection.get(url) characters = json.loads( content ) ret = [] for c in characters: ret.append( Character( c ) ) return ret def show_by_id(self, campaignID, characterID): campaign_url = CampaignAPI.requestUrl + campaignID + "/characters/" + characterID + ".json" content = self.connection.get( campaign_url ) character = Character( json.loads( content )) return character def show_by_slug(self, campaignID, slug ): campaign_url = CampaignAPI.requestUrl + campaignID + "/characters/" + slug + ".json" content = self.connection.get( campaign_url, {'use_slug': '1'} ) character = Character( json.loads( content )) return character
class WikiAPI: requestUrl = 'http://api.obsidianportal.com/v1/campaigns/' #assumes the existence of a valid local configuration file def __init__(self, config): self.connection = OPOAuthConnection(config) def get(self, campaignID ): # http://api.obsidianportal.com/v1/campaigns/campaign_id/wikis.format is the format of the request url url = WikiAPI.requestUrl + campaignID + "/wikis.json" content = self.connection.get( url, {'campaign_id' : campaignID } ) wiki = Wiki(json.loads( content )) return wiki def show_page(self, campaignID, wikiID ): url = WikiAPI.requestUrl + campaignID + "/wikis/" + wikiID + ".json" content = self.connection.get( url, {'campaign_id' : campaignID, 'id' : wikiID } ); wikiPage = WikiPage( json.loads( content )) return wikiPage def show_by_slug(self, campaignID, slug ): url = WikiAPI.requestUrl + campaignID + "/wikis/" + slug + ".json" print url content = self.connection.get( url, {'campaign_id' : campaignID, 'use_slug' : 1 } ) wikiPage = WikiPage( json.loads( content )) return wikiPage
class UserAPI: requestUrl = 'http://api.obsidianportal.com/v1/users/' #assumes the existence of a valid local configuration file def __init__(self, config): self.connection = OPOAuthConnection(config) def get_me(self): url = UserAPI.requestUrl + "me.json" content = self.connection.get(url) user_info = User(json.loads(content)) return user_info def show_by_id(self, id): url = UserAPI.requestUrl + id + ".json" content = self.connection.get(url) user_info = User(json.loads(content)) return user_info def show_by_username(self, name): url = UserAPI.requestUrl + name + ".json" content = self.connection.get(url, {'use_username': "******"}) user_info = User(json.loads(content)) return user_info
class UserAPI: requestUrl = 'http://api.obsidianportal.com/v1/users/' #assumes the existence of a valid local configuration file def __init__(self, config): self.connection = OPOAuthConnection(config) def get_me(self): url = UserAPI.requestUrl + "me.json" content = self.connection.get( url ) user_info = User(json.loads( content )) return user_info def show_by_id(self, id): url = UserAPI.requestUrl + id + ".json" content = self.connection.get( url ) user_info = User(json.loads( content )) return user_info def show_by_username( self, name): url = UserAPI.requestUrl + name + ".json" content = self.connection.get( url, { 'use_username': "******" } ) user_info = User(json.loads( content )) return user_info
class WikiAPI: requestUrl = 'http://api.obsidianportal.com/v1/campaigns/' #assumes the existence of a valid local configuration file def __init__(self, config): self.connection = OPOAuthConnection(config) def get(self, campaignID): # http://api.obsidianportal.com/v1/campaigns/campaign_id/wikis.format is the format of the request url url = WikiAPI.requestUrl + campaignID + "/wikis.json" content = self.connection.get(url, {'campaign_id': campaignID}) wiki = Wiki(json.loads(content)) return wiki def show_page(self, campaignID, wikiID): url = WikiAPI.requestUrl + campaignID + "/wikis/" + wikiID + ".json" content = self.connection.get(url, { 'campaign_id': campaignID, 'id': wikiID }) wikiPage = WikiPage(json.loads(content)) return wikiPage def show_by_slug(self, campaignID, slug): url = WikiAPI.requestUrl + campaignID + "/wikis/" + slug + ".json" print url content = self.connection.get(url, { 'campaign_id': campaignID, 'use_slug': 1 }) wikiPage = WikiPage(json.loads(content)) return wikiPage
class CampaignAPI: requestUrl = 'http://api.obsidianportal.com/v1/campaigns/' #assumes the existence of a valid local configuration file def __init__(self, config): self.connection = OPOAuthConnection(config) def get(self, campaignID): campaign_url = CampaignAPI.requestUrl + campaignID + ".json" content = self.connection.get( campaign_url) campaign = Campaign( json.loads( content )) return campaign def get_by_slug( self, slug ): campaign_url = CampaignAPI.requestUrl + slug + ".json" content = self.connection.get( campaign_url, { 'use_slug': 'true' } ) campaign = Campaign( json.loads( content )) return campaign
class CampaignAPI: requestUrl = 'http://api.obsidianportal.com/v1/campaigns/' #assumes the existence of a valid local configuration file def __init__(self, config): self.connection = OPOAuthConnection(config) def get(self, campaignID): campaign_url = CampaignAPI.requestUrl + campaignID + ".json" content = self.connection.get(campaign_url) campaign = Campaign(json.loads(content)) return campaign def get_by_slug(self, slug): campaign_url = CampaignAPI.requestUrl + slug + ".json" content = self.connection.get(campaign_url, {'use_slug': 'true'}) campaign = Campaign(json.loads(content)) return campaign
def __init__(self, config): self.connection = OPOAuthConnection(config)