GithubHelp home page GithubHelp logo

pombredanne / gpodder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gpodder/gpodder

0.0 1.0 0.0 24.32 MB

The gPodder podcast client, versions 2.x (two branch) and 3.x (master branch).

Home Page: http://gpodder.org/

License: GNU General Public License v3.0

gpodder's Introduction

                          ___         _    _           ____
                     __ _| _ \___  __| |__| |___ _ _  |__ /
                    / _` |  _/ _ \/ _` / _` / -_) '_|  |_ \
                    \__, |_| \___/\__,_\__,_\___|_|   |___/
                    |___/
                          Media aggregator and podcast client

  ............................................................................

             Copyright  2005-2014 Thomas Perl and the gPodder Team


 [ LICENSE ]

    gPodder is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.

    gPodder is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program. If not, see <http://www.gnu.org/licenses/>.



 [ DEPENDENCIES ]

    - Python 2.6 or newer              http://python.org/
    - "sqlite3" Python module          (usually included with Python)
    - Feedparser 5.1.2 or newer        http://code.google.com/p/feedparser/
    - mygpoclient 1.7 or newer         http://thp.io/2010/mygpoclient/
    - Python D-Bus bindings

    gPodder might still work with Python 2.5, but you may need to
    install the json module ("simplejson") manually. We reserve the
    right to drop support for Python 2.5 in future point releases.

    As an alternative to python-dbus on Mac OS X and Windows, you can use
    the dummy (no-op) D-Bus module provided in "tools/fake-dbus-module/".

    For quick testing, you can use the script tools/localdepends.py to
    install local copies of feedparser and mygpoclient into "src/" from
    PyPI. With this, you get a self-contained gPodder CLI/WebUI codebase.


 [ GTK UI - ADDITIONAL DEPENDENCIES ]

    - PyGTK 2.16 or newer              http://pygtk.org/


 [ QML UI - ADDITIONAL DEPENDENCIES ]

    - Qt 4.7.1 or newer                http://qt.nokia.com/
    - PySide 1.0.8 or newer            http://www.pyside.org/
    - Qt Mobility 1.2 or newer         http://qt.gitorious.org/qt-mobility
    - Qt Quick Components              http://qt.gitorious.org/qt-components

    The QML UI depends on the QtMultimediaKit QML bindings for playing
    back audio (libdeclarative-multimedia in Debian) and on the WebKit QML
    bindings for Flattr integration (libqtwebkit-qmlwebkitplugin in Debian).

    The QML UI now also depends on Qt Quick Components. On MeeGo 1.2 Harmattan,
    these components are pre-installed. You can install them on your Desktop by
    checking out the code from the qt-components Git repository and running the
    "./configure" script with the "-meego" parameter (+ the usual make install).

    You might also need to copy the theme from /usr/share/themes/blanco/ on a
    MeeGo 1.2 Harmattan device to your development machine in order for all UI
    elements to be displayed correctly. Alternatively, you can use the free
    "darko" theme from: https://github.com/jpavelek/meego-handset-theme-darko


 [ OPTIONAL DEPENDENCIES ]

    - Bluetooth file sending: gnome-obex-send or bluetooth-sendto
    - HTML shownotes: python-webkit
    - Flattr integration: python-webkit
    - Size detection on Windows: PyWin32
    - Native OS X support: ige-mac-integration
    - MP3 Player Sync Support: python-eyed3 (0.7 or newer)
    - iPod Sync Support: python-gpod


 [ BUILD DEPENDENCIES ]

    - help2man
    - intltool


 [ TEST DEPENDENCIES ]

    - python-minimock
    - python-coverage

 [ TESTING ]

    To run tests, use...
        make unittest

    To set a specific python binary set PYTHON:
        PYTHON=python2 make unittest

    Tests in gPodder are written in two different ways:

       - doctests (see http://docs.python.org/2/library/doctest.html)
       - unittests (see http://docs.python.org/2/library/unittest.html)

    If you want to add doctests, simply write the doctest and make sure that
    the module appears in "doctest_modules" in src/gpodder/unittests.py. For
    example, the doctests in src/gpodder/util.py are added as 'util' (the
    "gpodder" prefix must not be specified there).

    If you want to add unit tests for a specific module (ex: gpodder.model),
    you should add the tests as gpodder.test.model, or in other words:

        The file       src/gpodder/model.py
        is tested by   src/gpodder/test/model.py

    After you've added the test, make sure that the module appears in
    "test_modules" in src/gpodder/unittests.py - for the example above, the
    unittests in src/gpodder/test/model.py are added as 'model'. For unit
    tests, coverage reporting happens for the tested module (that's why the
    test module name should mirror the module to be tested).


 [ RUNNING AND INSTALLATION ]

    To run gPodder from source, use..

        bin/gpodder              for the Gtk+ UI
        bin/gpodder --qml        for the QML UI
        bin/gpo                  for the command-line interface

    To install gPodder system-wide, use "make install". By default, this
    will install *all* UIs and all translations. The following environment
    variables are processed by setup.py:

        LINGUAS                  space-separated list of languages to install
        GPODDER_INSTALL_UIS      space-separated list of UIs to install
        GPODDER_MANPATH_NO_SHARE if set, install manpages to $PREFIX/man/man1

    See setup.py for a list of recognized UIs.

    Example: Install the CLI and Gtk UI with German and Dutch translations:

        export LINGUAS="de nl"
        export GPODDER_INSTALL_UIS="cli gtk"
        make install

    The "make install" target also supports DESTDIR and PREFIX for installing
    into an alternative root (default /) and prefix (default /usr):

        make install DESTDIR=tmp/ PREFIX=/usr/local/


 [ PYTHON 3 SUPPORT ]

    The CLI version of gPodder (bin/gpo) and the QML UI are compatible with
    Python 3 after converting the codebase with the 2to3 utility:

      2to3 -w bin/* src share/gpodder/extensions

    You will also need a copy of "mygpoclient" converted using 2to3 and
    a copy of "feedparser" converted using 2to3 (see the feedparser README
    for details on how to get it set up on Python 3, including sgmllib).

    Please note that the Gtk UI is not compatible with Python 3 (it will
    be once we migrate the codebase to Gtk3/GObject Introspection).

    The QML UI has been tested with PySide (Git revision a90f3bc) and
    Python 3.2.2 - you can use the PySide buildscripts to build PySide:

        http://github.com/PySide/BuildScripts

    As of February 2012, Python 3 support is still experimental. Please
    report any bugs that you find to the gPodder bug tracker (see below).


 [ PORTABLE MODE / ROAMING PROFILES ]

    The run-time environment variable GPODDER_HOME is used to set
    the location for storing the database and downloaded files.

    This can be used for multiple configurations or to store the
    download directory directly on a MP3 player or USB disk:

        export GPODDER_HOME=/media/usbdisk/gpodder-data/


 [ CHANGING THE DOWNLOAD DIRECTORY ]

    The run-time environment variable GPODDER_DOWNLOAD_DIR is used to
    set the location for storing the downloads only (independent of the
    data directory GPODDER_HOME):

        export GPODDER_DOWNLOAD_DIR=/media/BigDisk/Podcasts/

    In this case, the database and settings will be stored in the default
    location, with the downloads stored in /media/BigDisk/Podcasts/.

    Another example would be to set both environment variables:

        export GPODDER_HOME=~/.config/gpodder/
        export GPODDER_DOWNLOAD_DIR=~/Podcasts/

    This will store the database and settings files in ~/.config/gpodder/
    and the downloads in ~/Podcasts/. If GPODDER_DOWNLOAD_DIR is not set,
    $GPODDER_HOME/Downloads/ will be used if it is set.


 [ LOGGING ]

    By default, gPodder writes log files to $GPODDER_HOME/Logs/ and removes
    them after a certain amount of times. To avoid this behavior, you can set
    the environment variable GPODDER_WRITE_LOGS to "no", e.g:

        export GPODDER_WRITE_LOGS=no


 [ EXTENSIONS ]

    Extensions are normally loaded from gPodder's "extensions/" folder (in
    share/gpodder/extensions/) and from $GPODDER_HOME/Extensions/ - you can
    override this by setting an environment variable:

        export GPODDER_EXTENSIONS="/path/to/extension1.py extension2.py"

    In addition to that, if you want to disable loading of all extensions,
    you can do this by setting the following environment variable to a non-
    empty value:

        export GPODDER_DISABLE_EXTENSIONS=yes

    If you want to report a bug, please try to disable all extensions and
    check if the bug still appears to see if an extension causes the bug.


 [ TRANSLATIONS ]

    These instructions are mostly useful for the maintainer, but they are
    documented here in case you want to update translations yourself:

    To upload a changed translation template:

        make messages       # update translations from source
        make clean          # remove temporary files after "make messages"
        tx push --source    # upload po/messages.pot to transifex.net

    To download a translation that has been updated:

        tx pull -l XX -f    # download po/XX.po from transifex.net

    To generate Git commit commands for the translation updates:

        python tools/i18n/generate_commits.py

    The "tx" command is provided by the Transifex client (transifex-client
    in Debian/Ubuntu) which can be obtained from:

        http://help.transifex.com/features/client/



 [ MORE INFORMATION ]

    - Homepage                         http://gpodder.org/
    - Bug tracker                      http://bugs.gpodder.org/
    - Mailing list                     http://freelists.org/list/gpodder
    - IRC channel                      #gpodder on irc.freenode.net

  ............................................................................
             Last updated: 2013-02-12 by Thomas Perl <thp.io/about>

gpodder's People

Contributors

brabadu avatar brot avatar crayxt avatar dovf avatar elelay avatar gmathisz avatar hoffmann avatar jnwickremasinghe avatar kvistkvist avatar marvil07 avatar mcspr avatar mortenaa avatar mrnicknoldus avatar nikosapi avatar njsf avatar nwalfield avatar paulgit avatar pieska avatar pluton8 avatar ponomarevlm avatar shanehuntley avatar sistosilvio avatar smarquespt avatar smunkel avatar stefankoegl avatar thp avatar tibonihoo avatar tomaszdom avatar umonkey avatar zombie avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.