-
Notifications
You must be signed in to change notification settings - Fork 2
Dev guide
Welcome to SJdownloader dev-guide. This guide is intended for developers who want to contribute in development and improvement of the project. This guide will walk you through the steps to begin with the project and how to contribute.
- [Know the basics] (#know-the-basics)
- [Getting requirements] (#getting-requirements)
- [Selecting scope] (#selecting-scope)
- [Getting examples] (#getting-examples)
- [Getting help] (#getting-help)
SJdownloader has two main parts:
- GUI
- Back-end i.e. downloading and configuration.
GUI: Interface which user will interact to. Wrapped with buttons, text ctrls and different widgets.
Back-end: Deals with the process of connecting to server and fetching data from there. Also deals with options for
configurations that can be set as defaults.
First you need [python] (https://www.python.org) installed.
-
GUI: wxpython is used for creating the GUI. It has a rich demo to help you in creating widgets and handling events on them. you can get wxpython for:
- Linux:
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev
- Windows: http://www.wxpython.org/download.php#msw
Windows user can get the wx-demo from the same page.
- Linux:
-
Back-end: No external modules are used. All the modules are in python standard library.
You need to have basic knowledge of them, they are:- urllib2: used for connecting with server and fetching data.
- threading: used for stabilizing the GUI with ongoing download procedure.
- os: used for file operations.
- sys
- json: used for reading and writing configurations.
- time: used for saving history.
[Here] (https://github.com/swati-jaiswal/SJdownloader/wiki#future-scope) is a list of future improvement scope in SJdownloader. You can add new features too.
If you find a bug, try resolving that.
You can look into wx-demo for live demos of widgets with code. For standard library modules, look their documentation in [python documentation]. If you download python, you get an offline copy of python documentaion in PythonXX/docs/ directory of your python installation.
For any kind of help related to project, you can contact [@swati12jaiswal] (https://twitter.com/swati12jaiswal) or drop a mail at jaiswalswati94AtTheRateGmail Dot Com.