Metadata-Version: 2.1
Name: AdvertsAPI
Version: 1.0.1
Summary: An unofficial API for the community based Irish marketplace, adverts.ie
Home-page: https://github.com/ahmedhamedaly/Adverts-API
Author: Ahmed Hamed Aly
Author-email: hamedala@tcd.ie
License: UNKNOWN
Description: # AdvertsAPI
        
        An unofficial API for the community based Irish marketplace, **adverts.ie**.
        
        ## Getting Started
        
        ### Prerequisites
        
        * Python 3.6 >=
        
        ### Installing
        
        ``` shell
        pip install AdvertsAPI
        ```
        
        ### Dependecies
        
        ``` shell
        pip install requests
        pip install beautifulsoup4 
        pip install mechanize
        ```
        
        ### Imports
        
        ``` python
        import AdvertsAPI
        from AdvertsAPI.category import Category
        from AdvertsAPI.utils import pretty_json
        ```
        
        ## Available Methods
        
        * Constructor
        * login
        * get_ad_panel
        * place_offer
        * withdraw_offer
        * full_ad_info
        * search_query
        * logout
        
        ## Constructor
        
        **Default:** category=None, county=None, min_price=0, max_price=0, view='grid_view', search=None
        
        ``` python
        advert = AdvertsAPI.AdvertsAPI()
        ```
        
        **Bike in Dublin:** category=Category.SPORTS_FITNESS__BIKES, county='Dublin', min_price=0, max_price=0, view='grid_view', search=None
        
        ``` python
        advert = AdvertsAPI.AdvertsAPI(category=Category.SPORTS_FITNESS__BIKES, county='Dublin')
        ```
        
        **Mountain bike in Dublin:** category=Category.SPORTS_FITNESS__BIKES, county='Dublin', min_price=0, max_price=0, view='grid_view', search='mountain'
        
        ``` python
        advert = AdvertsAPI.AdvertsAPI(category=Category.SPORTS_FITNESS__BIKES, county='Dublin', search='mountain')
        ```
        
        **ps4 between 100-300 euro:** category=Category.CONSOLES_GAMES, county=None, min_price=100, max_price=300, view='grid_view', search='ps4'
        
        ``` python
        advert = AdvertsAPI.AdvertsAPI(category=Category.CONSOLES_GAMES, min_price=100, max_price=300, search='ps4')
        ```
        
        **free items in Dublin:** category=None, county='Dublin', min_price=0, max_price=0, view='grid_view', search=None
        
        ``` python
        advert = AdvertsAPI.AdvertsAPI(county='Dublin')
        ```
        
        ## login
        
        ``` python
        adverts = AdvertsAPI.AdvertsAPI()
        adverts.login('username', 'password')
        ```
        
        ## get_ad_panel
        
        **NOTE:** given the contructor details, it will produce the url for the search.
        
        ``` python
        ads = advert.get_ad_panel()
        ```
        
        However you could also pass in the url of the search and it will compute for you.
        
        ``` python
        ads = advert.get_ad_panel('https://www.adverts.ie/for-sale/price_0-0/')
        ```
        
        It will return a list of the top 30 ads for that search. The attributes that can be retreived are: `price`, `title`, `area`, `county`, `category` and `url`
        
        ``` python
        for ad in ads:
            print(ad.price)
            print(ad.title)
            print(ad.area)
            print(ad.county)
            print(ad.category)
            print(ad.url)
        ```
        
        ## place_offer
        
        This will place an offer given the url of the ad directly.
        
        Below is an example given a url that is static.
        
        ``` python
        advert.place_offer('ad_url', 100)   
        ```
        
        Below will place an offer on the first ad of the ads retreieved [above](#get_ad_panel).
        
        ``` python
        advert.place_offer(ads[0].url, 0)
        ```
        
        ## withdraw_offer
        
        Withdraws an offer to a particular ad, given the url. You must have an active offer to withdraw the ad.
        
        ``` python
        advert.withdraw_offer('ad_url')    
        ```
        
        ## full_ad_info
        
        This will return all the information of the ad given the url. The attributes that can be retreived are: `title`, `price`, `seller`, `positive`, `negative`, `location` `date_entered`, `ad_views` and `description`.
        
        ``` python
        advert.full_ad_info('ad_url')
        ```
        
        ``` python
        ads = advert.full_ad_info(ads[0].url)
        ```
        
        You can retreive the data as follows:
        
        ``` python
        for ad in ads:
            print(ad.title)
            print(ad.price)
            print(ad.seller)
            print(ad.positive)
            print(ad.negative)
            print(ad.location)
            print(ad.date_entered)
            print(ad.ad_views)
            print(ad.description)
        ```
        
        ## search_query
        
        Search query will use the constructor generated url to search for ads.
        
        ``` python
        advert.search_query()
        ```
        
        However you can pass a search query to the method and it will return the search results of the query.
        
        ``` python
        # search_query (given query)
        ads = advert.search_query('mountain bikes')
        ```
        
        Similar to the [get_ad_panel](#get_ad_panel) method, you can retreive the data as below:
        
        ``` python
        for ad in ads:
            print(ad.title)
            # ...
            print(ad.url)
        ```
        
        ## logout
        
        Not very necessary as it will discard the cookies as the program stops.
        
        ``` python
        adverts.logout()
        ```
        
        ## Usage
        
        For documented examples see [examples.py](https://github.com/ahmedhamedaly/Adverts-API/blob/master/examples/examples.py)
        
        ## Contributing
        
        Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
        
        ## Roadmap
        
        See the [open issues](https://github.com/ahmedhamedaly/Adverts-API/issues) for a list of proposed features (and known issues).
        
        ## License
        
        Distributed under the [MIT](https://github.com/ahmedhamedaly/Adverts-API/blob/master/LICENSE) License. See `LICENSE` for more information.
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
