Skip to main content

App for viewing, posting, reposting, and deleting your Kijiji ads

Project description

Kijiji Manager

Kijiji Manager app for viewing, posting, reposting, and deleting your Kijiji ads.

Built using the Flask framework with Python 3.6+. Completely API driven, with no web scraping. Runs a local webserver which provides the web user interface.

Kijiji Manager is able to handle all types of ads under every Kijiji category (although not every ad type has been extensively tested).

If you find any bugs with posting ads, please create a new issue to report it.

Requirements

Kijiji Manager requires Python 3.6+.

Minimum dependencies

  • Flask
  • Flask-WTF
  • Flask-Login
  • Flask-Executor
  • WTForms
  • httpx
  • xmltodict
  • is-safe-url
  • phonenumbers

Installation

  1. Install from source
    1. Clone this repository
      git clone https://github.com/jackm/kijiji-manager.git
      cd kijiji-manager
      
    2. Create a new virtualenv (optional but highly recommended)
      python -m venv venv
      source venv/bin/activate
      
      • If using a virtualenv, you must source the venv/bin/activate script each time you start a new shell, otherwise the installed Python packages will not be available
      • If using Windows, the activate script will be at venv/Scripts/Activate instead
      • See the Python virtual environments tutorial for more information
    3. Install the kijiji-manager package from the current directory
      pip install .
  2. Copy the sample config file at kijiji_manager/kijiji-manager-sample.cfg and rename it to kijiji-manager.cfg, putting it in the instance folder
    • Create a folder named instance at the root of this repository if it does not exist
  3. Edit the secret key variable on the first line in instance/kijiji-manager.cfg to a random value
    • To generate a random value you can run the following and copy the output:
      python -c "import secrets; print(secrets.token_urlsafe(16))"
  4. Run the app from a shell/terminal: python -m kijiji_manager or kijiji-manager -c instance/kijiji-manager.cfg
    • Append --help to see all possible command line arguments
  5. Open a browser and go to http://localhost:5000/ or http://127.0.0.1:5000/
    • Cookies must be enabled in order to log in
  6. Login using an existing Kijiji account
    • You must register for a new account on kijiji.ca if you do not yet have one

For all subsequent runs, start the app again using python run.py and then go to the web interface in your browser. You can also leave the app running in the terminal if you wish. No background HTTP calls are made unless you refresh or load new pages.

Screenshots

Login page

Home page

Show ad page

Post ad step 1

Post ad step 2

Credits

Many of the core architecture concepts have been borrowed from the Kijiji-Reposter project. Many thanks to rybodiddly for the work they have done, especially on the Kijiji API.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kijiji-manager-0.1.0.tar.gz (26.9 kB view hashes)

Uploaded Source

Built Distribution

kijiji_manager-0.1.0-py3-none-any.whl (37.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page