An XDCC Downloader
Project description
XDCC Downloader
===============
.. figure:: xdcc_dl/resources/logo/logo_256.png
:alt: Logo
Logo
An XDCC File downloader based on the
`irclib <https://github.com/jaraco/irc>`__ framework.
Installation
------------
Via Pip (Preferred):
~~~~~~~~~~~~~~~~~~~~
**As User (Preferred)**
::
$ pip install xdcc_dl --user
**Systemwide**
::
# pip install xdcc_dl
or
$ sudo pip install xdcc_dl
Via setup.py
~~~~~~~~~~~~
**As User (Preferred)**
::
$ python setup.py install --user
**Systemwide**
::
# python setup.py install
or
$ sudo python setup.py install
Binaries
~~~~~~~~
The supplied binaries at the `Github
Releases <https://github.com/namboy94/xdcc-downloader/releases>`__ page
do not require installation nor any dependencies. They can simply be
executed.
Usage
-----
Message-based CLI
~~~~~~~~~~~~~~~~~
XDCC Packlists usually list xdcc commands in the folowing form:
::
/msg <BOTNAME> xdcc send #<PACKNUMBER>
By supplying this message as the ``-m`` parameter, the pack can be
downloaded.
**Examples:**
::
# This is the xdcc message: '/msg the_bot xdcc send #1'
# This command downloads pack 1 from the_bot
$ xdcc_dl -m "/msg the_bot xdcc send #1"
# It's possible to download a range of packs (1-10 in this case):
$ xdcc_dl -m "/msg the_bot xdcc send #1-10"
# Range stepping is also possible:
$ xdcc_dl -m "/msg the_bot xdcc send #1-10,10"
# (This will download packs 1,3,5,7,9)
# you can also specify the destination file or directory:
$ xdcc_dl -m "/msg the_bot xdcc send #1" -d /home/user/Downloads
# The destination defaults to your current working directory
# if the bot is on a different server than irc.rizon.net, a server
# has to be specified:
$ xdcc_dl -m "/msg the_bot xdcc send #1" --server irc.freenode.org
# You can also specify an IRC username. If none was supplied, a
# random string of numbers will be used instead
$ xdcc_dl -m "/msg the_bot xdcc send #1" --user Me
# To specify how verbose the program is, you can pass the
# verbosity parameter as a number between 0 and 6:
$ xdcc_dl -m "/msg the_bot xdcc send #1" --verbosity 3
GUI
~~~
By calling the program with the ``-g`` flag (or without arguments on
Windows) a graphical user interface is started. It offers searching for
packs using various web scrapers or adding packs manually like with the
CLI, adding these packs to a download queue and then downloading these
queued packs.
.. figure:: xdcc_dl/resources/screenshots/opm_gui_example.png
:alt: Screenshot
Screenshot
CLI
~~~
Similar to the GUI, a textual user interface can be used by calling the
program in conjunction with the ``-t`` flag.
.. figure:: xdcc_dl/resources/screenshots/tui_basic_screenshot.png
:alt: Screenshot
Screenshot
As a library:
~~~~~~~~~~~~~
xdcc-downloader is built to be used as a library for use in other
projects. To make use of the XDCC downloader in your application, you
will first need to create a list of
`XDCCPack <xdcc_dl/entitites/XDCCPack.py>`__ objects, either by hand or
by using the `PackSearcher <xdcc_dl/pack_searchers/PackSearcher.py>`__.
Once this list of XDCCPacks is created, use one of the following
classes:
- `XDCCDownloader <xdcc_dl/xdcc/XDCCDownloader.py>`__, if you can
guarantee that every pack is on the same server
- `MultipleServerDownloader <xdcc_dl/xdcc/MultipleServerDownloader>`__,
if the packs are on different IRC servers
Do not use any classes in ``xdcc_dl.xdcc.layers``, those all work in
tandem to create these two higher-level classes.
Both classes are initialized using the following parameters:
**user**: Either a string, or a `User <xdcc_dl/entitites/User.py>`__
object which specifies the username for connecting to the IRC network. A
random username can be generated when passing 'random' as the username
**logger**: Either pass an integer value between 0 and 6 to set the
verbosity, a `Logger <xdcc_dl/logging/Logger.py>`__ object or another
object of a class that implements all of Logger's methods.
Once initialized, start the XDCC downloads by passing the list of
XDCCPacks to the downloader's download() method.
A second optional Parameter is the progress. This parameter is an
instance of the `Progress <xdcc_dl/entitites/Progress.py>`__ class and
can be used to see the progress of the downloads from a different point
in the application
Projects using xdcc-downloader
------------------------------
- `toktokkie <https://gitlab.namibsun.net/namboy94/toktokkie>`__
Further Information
-------------------
- `Changelog <https://gitlab.namibsun.net/namboy94/xdcc-downloader/raw/master/CHANGELOG>`__
- `Gitlab <https://gitlab.namibsun.net/namboy94/xdcc-downloader>`__
- `Github <https://github.com/namboy94/xdcc-downloader>`__
- `Python Package Index Site <https://pypi.python.org/pypi/xdcc_dl>`__
- `Documentation(HTML) <https://docs.namibsun.net/html_docs/xdcc_downloader/index.html>`__
- `Documentation(PDF) <https://docs.namibsun.net/pdf_docs/xdcc_downloader.pdf>`__
- `Git Statistics
(gitstats) <https://gitstats.namibsun.net/gitstats/xdcc_downloader/index.html>`__
- `Git Statistics
(git\_stats) <https://gitstats.namibsun.net/git_stats/xdcc_downloader/index.html>`__
- `Test
Coverage <https://coverage.namibsun.net/xdcc-downloader/index.html>`__
===============
.. figure:: xdcc_dl/resources/logo/logo_256.png
:alt: Logo
Logo
An XDCC File downloader based on the
`irclib <https://github.com/jaraco/irc>`__ framework.
Installation
------------
Via Pip (Preferred):
~~~~~~~~~~~~~~~~~~~~
**As User (Preferred)**
::
$ pip install xdcc_dl --user
**Systemwide**
::
# pip install xdcc_dl
or
$ sudo pip install xdcc_dl
Via setup.py
~~~~~~~~~~~~
**As User (Preferred)**
::
$ python setup.py install --user
**Systemwide**
::
# python setup.py install
or
$ sudo python setup.py install
Binaries
~~~~~~~~
The supplied binaries at the `Github
Releases <https://github.com/namboy94/xdcc-downloader/releases>`__ page
do not require installation nor any dependencies. They can simply be
executed.
Usage
-----
Message-based CLI
~~~~~~~~~~~~~~~~~
XDCC Packlists usually list xdcc commands in the folowing form:
::
/msg <BOTNAME> xdcc send #<PACKNUMBER>
By supplying this message as the ``-m`` parameter, the pack can be
downloaded.
**Examples:**
::
# This is the xdcc message: '/msg the_bot xdcc send #1'
# This command downloads pack 1 from the_bot
$ xdcc_dl -m "/msg the_bot xdcc send #1"
# It's possible to download a range of packs (1-10 in this case):
$ xdcc_dl -m "/msg the_bot xdcc send #1-10"
# Range stepping is also possible:
$ xdcc_dl -m "/msg the_bot xdcc send #1-10,10"
# (This will download packs 1,3,5,7,9)
# you can also specify the destination file or directory:
$ xdcc_dl -m "/msg the_bot xdcc send #1" -d /home/user/Downloads
# The destination defaults to your current working directory
# if the bot is on a different server than irc.rizon.net, a server
# has to be specified:
$ xdcc_dl -m "/msg the_bot xdcc send #1" --server irc.freenode.org
# You can also specify an IRC username. If none was supplied, a
# random string of numbers will be used instead
$ xdcc_dl -m "/msg the_bot xdcc send #1" --user Me
# To specify how verbose the program is, you can pass the
# verbosity parameter as a number between 0 and 6:
$ xdcc_dl -m "/msg the_bot xdcc send #1" --verbosity 3
GUI
~~~
By calling the program with the ``-g`` flag (or without arguments on
Windows) a graphical user interface is started. It offers searching for
packs using various web scrapers or adding packs manually like with the
CLI, adding these packs to a download queue and then downloading these
queued packs.
.. figure:: xdcc_dl/resources/screenshots/opm_gui_example.png
:alt: Screenshot
Screenshot
CLI
~~~
Similar to the GUI, a textual user interface can be used by calling the
program in conjunction with the ``-t`` flag.
.. figure:: xdcc_dl/resources/screenshots/tui_basic_screenshot.png
:alt: Screenshot
Screenshot
As a library:
~~~~~~~~~~~~~
xdcc-downloader is built to be used as a library for use in other
projects. To make use of the XDCC downloader in your application, you
will first need to create a list of
`XDCCPack <xdcc_dl/entitites/XDCCPack.py>`__ objects, either by hand or
by using the `PackSearcher <xdcc_dl/pack_searchers/PackSearcher.py>`__.
Once this list of XDCCPacks is created, use one of the following
classes:
- `XDCCDownloader <xdcc_dl/xdcc/XDCCDownloader.py>`__, if you can
guarantee that every pack is on the same server
- `MultipleServerDownloader <xdcc_dl/xdcc/MultipleServerDownloader>`__,
if the packs are on different IRC servers
Do not use any classes in ``xdcc_dl.xdcc.layers``, those all work in
tandem to create these two higher-level classes.
Both classes are initialized using the following parameters:
**user**: Either a string, or a `User <xdcc_dl/entitites/User.py>`__
object which specifies the username for connecting to the IRC network. A
random username can be generated when passing 'random' as the username
**logger**: Either pass an integer value between 0 and 6 to set the
verbosity, a `Logger <xdcc_dl/logging/Logger.py>`__ object or another
object of a class that implements all of Logger's methods.
Once initialized, start the XDCC downloads by passing the list of
XDCCPacks to the downloader's download() method.
A second optional Parameter is the progress. This parameter is an
instance of the `Progress <xdcc_dl/entitites/Progress.py>`__ class and
can be used to see the progress of the downloads from a different point
in the application
Projects using xdcc-downloader
------------------------------
- `toktokkie <https://gitlab.namibsun.net/namboy94/toktokkie>`__
Further Information
-------------------
- `Changelog <https://gitlab.namibsun.net/namboy94/xdcc-downloader/raw/master/CHANGELOG>`__
- `Gitlab <https://gitlab.namibsun.net/namboy94/xdcc-downloader>`__
- `Github <https://github.com/namboy94/xdcc-downloader>`__
- `Python Package Index Site <https://pypi.python.org/pypi/xdcc_dl>`__
- `Documentation(HTML) <https://docs.namibsun.net/html_docs/xdcc_downloader/index.html>`__
- `Documentation(PDF) <https://docs.namibsun.net/pdf_docs/xdcc_downloader.pdf>`__
- `Git Statistics
(gitstats) <https://gitstats.namibsun.net/gitstats/xdcc_downloader/index.html>`__
- `Git Statistics
(git\_stats) <https://gitstats.namibsun.net/git_stats/xdcc_downloader/index.html>`__
- `Test
Coverage <https://coverage.namibsun.net/xdcc-downloader/index.html>`__
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xdcc_dl-1.0.0.tar.gz
(43.9 kB
view details)
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
xdcc_dl-1.0.0-py3-none-any.whl
(93.1 kB
view details)
xdcc_dl-1.0.0-py2-none-any.whl
(94.0 kB
view details)
File details
Details for the file xdcc_dl-1.0.0.tar.gz.
File metadata
- Download URL: xdcc_dl-1.0.0.tar.gz
- Upload date:
- Size: 43.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c604d01d3175cc44e46aeb133ef7f4e152622cf946202f527f6b8cd554c50d55
|
|
| MD5 |
cee321b75121c439a0c216bbe3abc537
|
|
| BLAKE2b-256 |
ed2eac6e29e84ebc9cd7e356c3d1a4a5983292019f58e4ffa17b02e3c05afbcb
|
File details
Details for the file xdcc_dl-1.0.0-py3-none-any.whl.
File metadata
- Download URL: xdcc_dl-1.0.0-py3-none-any.whl
- Upload date:
- Size: 93.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc756a2aff1966d5a24b071e7fbf7adfd25182f07faa6607d1d4f92bd7ee32e3
|
|
| MD5 |
829edd2ffe7fe1ef475fa9b188a3ec92
|
|
| BLAKE2b-256 |
be11fb242e26412a21bc9960d679f50fa3acf1d73b44f68122300a1e5fb43b03
|
File details
Details for the file xdcc_dl-1.0.0-py2-none-any.whl.
File metadata
- Download URL: xdcc_dl-1.0.0-py2-none-any.whl
- Upload date:
- Size: 94.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e25b72079863e366c3df20bc1ea4c177a1b113f383a259cd6e1571303d812a0
|
|
| MD5 |
8a231168a9d62ab22708113f9e0a03a5
|
|
| BLAKE2b-256 |
9343c200a4bb71590f9568f975ddb5808b3feca4b9055d354a613a6f5e458a90
|