mozdownload is a python package which handles downloading of Mozilla applications.
If the tool should only be used for downloading applications we propose to install it via pip. The following command will install the latest release:
pip install mozdownload
Otherwise follow the steps below to setup a development environment. It is recommended that virtualenv and virtualenvwrapper be used in conjunction with mozdownload. Start by installing these, and creating a virtualenv for the project. Then fork our repository into your own github account, and run:
git clone https://github.com/%your_account%/mozdownload.git
cd mozdownload
python setup.py develop
The mozdownload
command will download the application based on the provided
command line options.
Download the latest official Firefox release for your platform:
mozdownload --version=latest
Download the latest official Firefox beta release for your platform:
mozdownload --version=latest-beta
Download the latest official Firefox esr release for your platform:
mozdownload --version=latest-esr
Download the latest Firefox release candidate for your platform:
mozdownload --type candidate --version=latest
Download the latest Firefox Aurora build for Windows (32bit):
mozdownload --type=daily --branch=mozilla-aurora --platform=win32
Download the latest official Thunderbird release for your platform:
mozdownload --application=thunderbird --version=latest
Download the latest Earlybird build for Linux (64bit):
mozdownload --application=thunderbird --type=daily --branch=comm-aurora --platform=linux64
Download this README file:
mozdownload --url=https://raw.github.com/mozilla/mozdownload/master/README.md
Download a file from a URL protected with basic authentication:
mozdownload --url=http://example.com/secrets.txt --username=admin --password=password
Run mozdownload --help
for detailed information on the command line options.
To see the full list of command line options, execute the command below and check the list of options for the build type to download:
mozdownload --help
Beside the CLI mozdownload also offers an API to be used. To create specific instances of scrapers the FactoryScraper class can be used. Here some examples:
# Create a release scraper for the German locale of Firefox 40.0.3
from mozdownload import FactoryScraper
scraper = FactoryScraper('release', version='40.0.3', locale='de')
# Create a candidate scraper for Windows 32bit of Firefox 41.0b9
from mozdownload import FactoryScraper
scraper = FactoryScraper('candidate', version='41.0b9', platform='win32')
# Create a daily scraper for the latest Dev Edition build on the current platform
from mozdownload import FactoryScraper
scraper = FactoryScraper('daily', branch='mozilla-aurora')
All those scraper instances allow you to retrieve the url which is used to download the files, and the filename for the local destination:
from mozdownload import FactoryScraper
scraper = FactoryScraper('daily')
print(scraper.url)
print(scraper.filename)
To actually download the remote file the download() method has to be called:
from mozdownload import FactoryScraper
scraper = FactoryScraper('daily')
filename = scraper.download()
To run the entire test suite to check if your changes create any errors, run tox
.
If you only run very specific tests, please specify it via tox -- -k <keyword>
.
For example, if you are only interested in tests that look at tinderbox builds, run tox -- -k tinderbox
.
The -k <keyword>
works for folders, filenames and even names of test methods.