bmww-api 0.0.9
A basic unofficial batmanwonderwoman.com (bmww) api
Keywords: python,api,batman,wonderwoman,bmww,batmanwonderwoman

# bmww-api

Use : pip install bmww-api==0.0.9

to install this module

Pypi url : https://pypi.org/project/bmww-api/

Disclaimers:

- This is not an official api and it is quite weak but it gets the job done.

- DO NOT ABUSE REQUESTS SINCE IT CAN BE HARMFUL FOR THE WEB PAGE.


Notes:


- As said before this is not an official api and it was made by one person, so if you see any errors in the code or see a better way to do code it and know how to do it, you are welcome to edit it.


- Information like genres or information that can be a list (ex: genres, categories, challenges, series) can't be accessed individually due to the way that the html was written. Again if you find a way to fix it or make it possible to access this information individually you are welcome to do it


- If you want to access information like the ones stated above you would have to do .complete_info this will get the work's complete info


- I may be updating this project with new features, however i don't really have much time to do it and since this is one of my first times using beautiful soup the code maybe a bit messy and with a lot of errors.


Quick guide on how to use:

```
#import module
from bmwwAPI import bmww

#create api object
api = bmww()


# create work from api '487' being the id of the work/fanfiction
# https://batmanwonderwoman.com/fanfiction/viewstory.php?sid=487 the last 3 numbers of the url are the id of the work, those are the three numbers you need
# if an id is not given the only information available is to get a random story

# create a work object based on the api
work = api.work(#id)

# some of the functions of the api

# get information out of a work/fanfic/series

work_info = [

  work.title,           # title
  work.author,          # author
  work.reviews,         # reviews
  work.chapters,        # chapters
  work.completed,       # if its completed
  work.words,           # how many words
  work.read,            # times read
  work.published,       # publish date
  work.updated,         # last time updated
  work.url,             # its url
  work.summary,         # its summary
  work.complete_info    # the entire work's info
  work.rand_id          # the random story id
  work.random_story_url         # the random story url

]


# get information out of an users profile, this gets the information that the user chose to share, so no funny business here.
# you don't have to specify any work's id except the users id

# create an user object based on the api
user = api.users()

# some of the information that you can get from user's profiles

# keep in mind that some of this information may not be available if the user chose not to share it

user_info = [

  user.penname,              # gets the user nickname
  user.real_name,            # gets the user real name   
  user.member_status,        # gets the user member status
  user.bio,                  # gets the user bio
  user.user_url,             # gets the user page url
  user.beta_reader           # gets if the user is a beta reader
  user.gender                # gets the user gender
  user.recent_story          # gets the user's last published or updated story
  user.stories               # gets the number of user published stories
  user.series                # gets the number of user series
  user.reviews               # gets the number of the user reviews
  user.challenges            # gets the number of the user challenges
  user.favorite_series       # gets the number of the user favorite series
  user.user_favorites        # gets the number of user favorites

]

```

For more information in how to use the api, refer to ```example_code.py```