Commit graph

11 commits

Author SHA1 Message Date
wiz
88cd1165a4 Update to 2.3.0.3:
== 2.3 ==

2.3.0.3  Mon May 02 2011  Toni Gundogdu
Changes:
        - Add support to read input from files


2.3.0.2  Tue Mar 15 2011  Toni Gundogdu
Changes:
        - Make --version less verbose
        - Manual: Add SYNOPSIS
        - examples/cliverc, Manual: Add --category-http (quvi 0.2.12+)
Bugfixes:
        - examples/cliverc: Typo in --get-with


2.3.0.1  Sat Feb 12 2011    Toni Gundogdu
Changes:
        - Replace outdated webm_480p with mp4_360p in examples
        - README: Cleanup, add notes for packagers
        - Add examples/git/hooks/pre-commit
        - Manual: Cleanup, add HISTORY
        - Add vim modeline
Other:
        - Create "2.2" branch from "master"
        - Merge "2.3_gws" into "master" branch
        - http://sourceforge.net/apps/trac/clive/wiki/Changes-2.3


2.3.0_4 (beta 4, 2.3_gws)  Sat Dec 18 2010  Toni Gundogdu
Changes:
        - Generate ChangeLog from git log


2.3.0_3 (beta 3, 2.3_gws)  Wed Dec 01 2010  legatvs
Changes:
        - Add support for /etc/xdg/clive/clive.conf
        - Add support /etc/xdg/clive.conf
        - Add --format list pattern
        - Add --format list
        - Add --format help


2.3.0_2 (beta 2, 2.3_gws)  Thu Nov 04 2010  legatvs
Changes:
        - Use quvi(1) for parsing video details, --quvi arg
        - Use external command to download, --get-with arg
        - Use version->declare instead of version::qv
        - Add JSON::XS dependency
        - Add examples/cliverc
        - Additional config file search paths (e.g. system-wide)
        - Remove WWW::Quvi dependency
        - Remove WWW::Curl dependency
        - Remove Term::ReadKey dependency
        - Remove --continue, --overwrite, --proxy
        - Remove --no-proxy, --agent, --throttle


2.3.0_1 (beta 1)  Wed Oct 27 2010

Changes:
        - Use libquvi (WWW::Quvi) to parse video details
        - Remove options / features
        - Rename options
        - Prerequisites
Bugfixes:
        - Progressbar unicode issues


2.3.0  "Glorified Wrapper Script" (2.3_gws)

* Single-script vs. multiple-clive-modules
    - clive is no longer dispersed all over the file system in Perl packages

* Use quvi(1) to parse the video details
    - 2.3 was going to use WWW::Quvi and libquvi (beta 1)
    - Had a piffany (beta 2)

* Leave downloading for an external 3rd party command to do
    - e.g. curl, wget or whatever

* Complete command line interface clean up
    - Esoteric, or otherwise now completely obsoleted, features were discarded

See also:
  <http://sourceforge.net/apps/trac/clive/wiki/DevelopmentStatus>
2011-05-16 11:10:04 +00:00
wiz
9175fa2ce0 Update to 2.2.1. Set LICENSE.
Version 2.2.1
(June 21, 2009)

 User-visible changes:
  * Add: support for Vimeo (closes issue #19)
  * Add: return codes for each error case (closes issue #22)
  * Fix: return code is always 0 (closes issue #20)
  * Change: --hosts output now matches cclive output

Version 2.2.0
(June 14, 2009)

FOREWORD
--------

This release is a major overhaul aimed to fix the previous design flaws
and clean up the codebase. Note that 2.2.0 breaks compatibility with
the earlier versions of clive.

Most users will not notice much differences after upgrading to 2.2.0
but those users who have used clive for anything more than "clive URL"
should read the changes carefully. The summary of changes section
includes more detailed changes that is recommended reading for all
users and maintainers.

2.2.0 changes the license from ISC to GPLv3. The license was last
changed in 2.1.0 to ISC but has now been reverted back to GPLv3 after
some further consideration.

Config::Tiny has been replaced with Getopt::ArgvFile. The latter had
some advantages over Config::Tiny that lead to the switch. For example,
instead of trying to memorize the (often confusing) config variable
names, users can now use command line options in the config file.

This also means that everytime a new feature is added to the program,
we are no longer required to modify the code responsible for parsing
the config file. Using Getopt::ArgvFile also required adding only one
line of code to the project whereas Config::Tiny required several.

cache no longer reads by default. This means that --cache-read option
must be invoked for clive to read previously stored video records
from the cache. The change was made after seeing how most users found
the reading from cache too confusing and frequently reported expired
link errors such as HTTP 403 as bugs even though the behaviour was
documented in the manual page. DAERTM?

--emit-csv now outputs very few details about the videos. Only those
fields that are known to be any use are printed out.

2.2.0 also removes a number of less used features that have lingered
in the project since the 1.x. Most of these features were never
requested and have only been burdening the program codebase since
their introduction.

Part time hackers and/or developers will notice that clive now follows
a new OO design -- as well as Perl5 allows it. While there are still
some considerations regarding the design and limitations that could not
quite be ported from C++ used in cclive, WYSIWYG.

Package/port maintainers will want to read the README file. The previously
used GNU Makefile is no longer used and clive installation now depends on
ExtUtils::MakeMaker instead.

SUMMARY of CHANGES
------------------

 User-visible changes:

  * License change
    1. ISC -> GPLv3
    2. Last changed in 2.1.0 (-> ISC)

  * Slight improvements to program startup time

  * Config file format changes (Config::Tiny -> Getopt::ArgvFile)
    1. Command line options can now be used in config file
    2. Breaks compatibility with previous versions
    3. Cleaner and new format allows using cmdline options in configs
    4. Format was last changed in 2.0.0
    Example:
    -----------------------------------------------
        # Config::Tiny: clive 2.0 - 2.1
        cat >> ~/.config/clive/config
        [http]
            proxy = "http://foo:1234"
        [output]
            savedir = "/home/user/videos"

        # Getopt::ArgvFile: clive 2.2
        cat >> ~/.cliverc
        --proxy="http://foo:1234"
        --savedir="/home/user/videos"
    -----------------------------------------------

  * Fix: Redtube video title parsing

  * Cache changes
    1. Cache is now passive (read:no, write:yes)
    2. Add: --cache- option prefix
    3. New option: --cache-read, --no-cache
    5. Rename: misc. options (e.g. --show -> --cache-dump)
    6. Record field changes
        o Breaks compatibility with previous versions
    7. New field delimiter '#'
    8. New field order

  * File path changes
    1. ~/.config/clive/config -> ~/.cliverc
    2. ~/.config/clive/recall -> ~/.clivelast
    3. ~/.config/clive/cache -> ~/.clivecache

  * --format changes
    1. Add: --format=best support (closes  issue #15 )
    2. Rename: mp4 -> fmt18 (Youtube)
    3. Rename: Dailymotion ID spark -> flv

  * Bugfixes
    1. cURL error handling
    2. Google mp4 support
    3. Do not strip link params (closes debian bug #530659)
    4. --format=fmt6 (no longer supported by Youtube?)
    5. Dailymotion ID parsing

  * New options:
    1. --home-dir
    2. --recall-file
    3. --cache-file
    4. --no-cclass
    5. --raw
    6. --stop-after (closes issue #18)

  * --emit-csv: changes to CSV fields (cleanup, print only the necessary fields)
    1. clive 2.0 - 2.1:
        page_link,          video_link,     filename,   file_length_mb,
        file_length_bytes,  video_id,       time_stamp, page_title,
        initial_length,     remaining_bytes
    2. clive 2.2:
        base_filename, file_length, video_link

  * Remove options:
    1. --savebatch
    2. --renew (now obsolete)
    3. --youtube-user (broken since 2.1)
    4. --youtube-pass (...)
    5. --no-login (...)
    6. --clivepass (...)
    7. --emit-xml
    8. --background
    9. --progress
    10. --output
    11. --append
    12. --paste
    13. --format=fmt6

  * Other changes:
    1. Long options: aliases (e.g. --output_file | --output-file | --outputfile)
    2. --filename-format: new specifiers, rename some of the old ones
    3. --format: exit with an error if id is not recognized by clive
    4. Rename: -r -> -l (--recall)
    5. Many short options have been removed (or reused)

Version 2.1.14
(May 25, 2009)

 User-visible changes:
  * Add: support for youtube-nocookie.com (closes issue #12)
  * Add: fmt35 format ID for Youtube [closes issue #10 (and #13)]
  * Fix: liveleak id parsing
  * Rename: --format IDs for Youtube
    ** mp4_hd -> fmt22
    ** 3gpp -> fmt17
    ** xflv -> fmt6
  * Rename: --output-video -> --output-file
  * Rename: output:file -> output:filename_format (config file)
  * Remove: --overwrite option (use --output-file instead)
2009-07-18 19:52:27 +00:00
wiz
9a2f5743ff Update to 2.1.2:
Version 2.1.2
(December 29, 2008)

  * Removed "See --manual" from --version output
  * Added support for evisortv
    - http://code.google.com/p/clive/issues/detail?id=4
  * Fixed: reused incorrectly last http error code for remaining urls in queue
  * Fixed: progressbar reported 100% even if error had occurred (e.g. http/403)

Version 2.1.1
(December 19, 2008)

  * Fixed "Requested range was not delivered by the server (http/33)" w/ -c
    - this would occur with a batch of URLs while using the --continue option,
    e.g. if the first file was continued, the following page fetches exited
    with the above error
  * Added --savebatch option
  * Added --overwrite option
  * Replaced the buggy progressbar with a "lazy man's progressbar"
  * Fixed "print() on closed filehandle STDOUT" with --grep+delete
  * Fixed progressbar display with --continue

Version 2.1.0
(December 10, 2008)

 NOTE: Changed license GPL3 => ISC/OpenBSD.

  * Added --modversion option
  * Replaced Term::Progressbar with a built-in thermometer progressbar
  * Removed --progress=bar:nominor support due to above changes
  * Added liveleakcom support
    - http://code.google.com/p/clive/issues/detail?id=3

Version 2.0.0
(December 2, 2008)

   * Fixed gvideo/mp4 support (http/404 even if the extraction link existed)
   * Changed "found redirect" message
   * Changed --play, --rencode status messages to use file basename

Version 2.0beta4
(November 22, 2008)

   * Removed metacafe support until fixed (see known issues)
   * Changed Youtube login to report if there were "too many login failures"
   * Fixed Youtube login support: reported failures incorrectly as OK
   * Added support clivepass(1) utility (http://code.google.com/p/clive-utils)
   * Added support for metacafe and sevenload embed URL translation

version 2.0beta3
(November 1, 2008)

  * Fixed pasting from clipboard containing multiple URLs
  * Fixed page fetch progress glitch that occured with 1+ batches
  * Added --agent option
  * Added --proxy option
  * Added --savedir option
  * Added --cclass option
  * Added --filename-format option
  * Added --show-format option
  * Added --youtube-user and --youtube-pass options
  * Added --emit-xml option
  * Added --progress=[none|bar|dot]
  * Replaced --noprogress with --progress=none
  * Added avg. transfer rate notification
  * Fixed filename printing for existing output files (e.g. output.flv.1)
  * Added --play option
  * Fixed metacafe support (error: failed to extract videoCDNURL)
  * Added --rencode option

Version 2.0beta2
(October 15, 2008)

  * clive now ignores input lines that start with the '#' character
  * Added support for CLIVE_CONFIGDIR environment variable
  * Ported lastfm video support from 1.x
  * --version now displays XML::Simple
  * Changed "= Play:" to "=> Playing ..."
  * Playing occurs now subsequently after going over the URL batch

Version 2.0beta1
(September 23, 2008)

A complete overhaul and rewrite of 1.x.

  * Users are expected to use the --continue/-c option to resume transfers
  * Configuration file format (=> INI), path was changed (=> ~/.config/clive)
  * All extractions now assume flv as the default download format
  * Users are expected to understand when/how use the --format/-f option
  * Reading input from multiple sources is possible (e.g. % clive -x URL URL)
  * Added: --grep: used to grep and recall cached URL entries
  * Added: --background and --output=logfile, --append=logfile options
  * Many old cmdline and config options were removed due to new design
  * Improved GoogleVideo support: handles redirects to other hosts
  * Pager is used where needed (e.g. --show/-s)
  * Changed default output file naming format to "%n-(%i)-[%d].%s"
  * Removed: guba (deadweight), myvideo (borked), dmotion (bitches @ anon users)
2009-01-08 16:08:57 +00:00
wiz
3ae2f685c5 Update to 1.0.1:
Version 1.0.1
(August 30 2008, from branches/release/1.0.x)
svn://svn.gna.org/svn/clive/tags/1.0.1

 User-visible changes:
    * minor startup performance improvements
    * config: warn/error messages now contain absolute path to config file
    * fixed: VGoogle: embedded URL -> video page URL conversion (patch #1097)
    * fixed: scan: progress is now immediately flushed to stdout
    * console: renamed commands
        - q_r_file -> q_import
        - q_w_write -> q_export
        - q_r_paste -> q_paste
        - q_r_recall -> q_recall

 Developer-visible changes:
    * Youtube: parser no longer attempts to "guess" whether video is available
        - Had a long history of detecting errors incorrectly
        - Ignorant of non-English errors.
    * ~/.clive/passwd: permissions are set to 0600
    * added: HACKING file
    * import statements are now used conservatively to reduce overhead
        - clive.modules.Modules caches the most commonly used imports
    * runtime options are no longer passed and copied back and forth
    * clive.modules.Modules is now a singleton
    * clive.opts.Options is now a singleton
    * added: src/clive/singleton.py
    * Makefile.am: clean-local: remove dist/ subdir

 Known issues:
  * Myvideo extraction fails ("error: extraction url not found")
2008-09-06 14:28:43 +00:00
wiz
0594ed5c58 Update to 1.0.0:
Version 1.0.0
(August 9 2008, from branches/release/1.0.x)
svn://svn.gna.org/svn/clive/tags/1.0.0

 User-visible changes:
  - Major new features:
    * added: support for encrypted passwords, see clive(1) (--youtube,--dmotion)
    * added: clive-passwd utility for storing encrypted login passwords
    * added: --passwd option for using encrypted login passwords

  - Minor improvements:
    * fixed: some errors were still using "--youtube-user" and "--dmotion-user"
    * --version: print pycrypto, pysqlite and newt (? if found, otherwise -)

 Developer-visible changes:
    * urlgrabber is now the only prerequisite that is needed to run clive:
      features that req. other modules are disabled if a module is not found
    * added: prerequisite pycrypto
    * added: man/clive-passwd.1
    * added: src/clive/passwd.py
    * added: run-passwd.py
    * added: src/clive/modules.py
    * fixed: sqlite3 ImportError is now handled (src/clive/cache.py)
    * removed: *all* bundled packages
      - each dep. is best installed separately for security reasons
    * removed: --with-installed-PACKAGE configure options
      - now obsolete due to above change
    * removed: obsolete configuration scripts
      - acinclude.m4, config.guess, config.h.in, config.sub, depcomp, ltmain.sh
    * removed: obsolete src/clive/*.py.in files
      - src/clive/__init__.py.in remains
    * cleanups: INSTALL, README, NEWS, ChangeLog, TODO, configure.ac
    * configure.ac: if trunk: use revision for release date string


Version 0.5.0
(August 5 2008, from branches/release/0.5.x)
svn://svn.gna.org/svn/clive/tags/0.5.0

 New features, enhancements:
    * Added support for break.com
        Thanks to Jan Hulsbergen <afoo@gmail.com> for the initial patch
    * Added CHANGES file (ChangeLog and NEWS files are no longer updated)
    * Added xine,mplayer detection (--write-conf)
    * Added --no-login option
    * Added --no-proxy option
    * Added --no-confirm option (closes sr #2065)
    * Replaced --$host-(user|pass) with --$host=$username:$password
    * Replaced config $host_(user|pass) with $host_login="$username:$password"
    * Revived AC_PROG_RANLIB in configure.ac
    * Tweaked program description

 Bugfixes
    * --check-update: flawed version checking (e.g. 0.5.0 < 0.4.20)

 Other
    * Trackers now allow anononymous submissions
        https://gna.org/projects/clive

    * Added clive-users mailing list (General questions and discussion)
        https://lists.sourceforge.net/lists/listinfo/clive-users

        At the moment anything clive related can be discussed here including
        development related issues. clive-dev is likely to be added later.

    * Release branches are now used in the development
        svn://svn.gna.org/svn/clive/branches
        svn://svn.gna.org/svn/clive/trunk
        svn://svn.gna.org/svn/clive/tags

    * Release numbering is no longer as ad hoc as before
        Starting with this release, the project follows the following
        release numbering strategy:

        major.minor.micro

        major = Expected to have new features or entire feature sets
        marks compatibility boundaries - may be forward/backward incompatible

        minor = New features, usually only few at once
        must be backward compatible, not necessarily forward compatible

        micro = Bug fixes only or minor enhancements to existing features
        must be forward/backward compatible, no new features
2008-08-14 19:38:27 +00:00
wiz
76647b44b0 Update to 0.4.20:
Version 0.4.20                                       [2008-07-29]
=================================================================
focus: minor improvements

* Fixed some typos in the manual page

* Upgraded license to GPLv3

* --version: prints now build date and cleaned up the print out

* src/clive/util.py: added

* update config.{guess,sub} (sr #2064):

    * Upgraded autoconf: 2.61 -> 2.62 (automake: 1.10.1)

    * config.guess: replaced version 2003-07-02 with 2008-03-12

    * config.sub: replaced version 2003-07-04 with 2008-03-26

    * depcomp: replaced version 2005-07-09.11 with 2007-03-29.01

    * install-sh: replaced version 2005-05-14.22 with 2006-12-25.00

    * missing: replaced version 2005-06-08.21 with 2006-05-10.23

    * ltmain.sh: replaced version 1.5.24 with 1.5.26

* Added more comments and cleaned up the code here and there


Version 0.4.19                                       [2008-07-22]
=================================================================
+new !fix ~change -remove | focus: minor improvements, bugfixes

+ tests/scan.lst
    Related to the "--scan: multiple url disarray" issue described
    further below.

! "OperationalError: Could not decode to UTF-8 column 'cache_title'"
    Endless string of encoding issues. An attempt was made to improve
    the overall unicode/string handling throughout the program.

    Ditched HTMLParser in favor for a custom SGMLParser.

    Related to this: UnicodeDecodeError should no longer cause
    instability as much anymore. Added safeguards (ignore 'n forget)
    for these errors.

! --scan: Multiple URL disarray
    The list was filled incorrectly if multiple scan URLs were supplied,
    e.g.: % clive -S < tests/scan.lst

~ Improved: Youtube: HQ video not available (error: no-content) [bug #12000]
    clive would previously exit with "no-content" error if the automatic
    quality switching failed for still unknown reason.

    This was originally fixed in the last release but that created a new
    bug which caused clive to crash with the "CliveNoMediaError" exception.

    Because this crash is very difficult to reproduce, the original code
    was slightly modified so that clive should now report it as a "host
    returned zero file length (timeout?)" error instead of crashing.

    Should this error occur, re-extraction usually sorts it out.

~ Video filenames: "/" are no longer permitted in filenames
    These characters are now converted by the program to "_". This
    caused crashing for obvious reasons. Using the --filter option
    does not have any effect on this.

~ Updated: README, INSTALL files
    Description was changed, removed obsolete text. Added a note
    about using --with-installed-PACKAGE.

~ Updated: Manual page (clive.1)
    Complete overhaul.

~ --version:
    OS release and locale encoding are now printed.

~ $HOME/.clive/config: renamed "youtube_id" to "youtube_user"
~ $HOME/.clive/config: renamed "dmotion_id" to "dmotion_user"

~ Modified: "warn: ... (same length) exists already"
    Added "skipped:" to the message.

- Arcane filename limitation
    Filename length is no more limited to 64 characters.


Version 0.4.18                                       [2008-07-15]
=================================================================
+new !fix ~change -remove | focus: major bugfixes

! Metacafe:  Extraction fails ("HTTP/404 error")
    Due to changes made to the website.

! Youtube: HQ video not available (error: no-content) [bug #12000]
    Automatic quality detection would fail with some videos. clive
    now switches to low quality if the host returns zero length
    for a video file.

! --rss: Do not display empty feeds
    Show no more feeds without items.

~ Updated: INSTALL and README files
    INSTALL was rewritten, README was cleaned up.

~ NEWS: Utilized
    All user-visible changes are now described in the NEWS file.

~ configure: --with-PACKAGE renamed (downstream maintainers take a note)
    Renamed the --with-PACKAGE options to --with-installed-PACKAGE.
    See the NEWS and the INSTALL files for more details.

~ Cleaned up: Version and options display at start
    Less is more. Use --version for more detailed information, e.g. modules.

~ Cleaned up: removed unnecessary module import calls
    Should speed up program start.

~ --rss, --cache, --scan: Utilize terminal size better
~ --scan, --cache, --rss: "OK - Extract" -> "Extract"
~ --scan, --cache, --rss: "Refresh" -> "Resize"

~ Removed remaining "notice:" messages
    These messages were either renamed or removed.


Version 0.4.17                                       [2008-06-29]
=================================================================
+new !fix ~change -remove | focus: minor bugfixes, improvements

NOTE: Feature freeze (0.5.0).Shifting the effort towards fixing any
remaining bugs and improving the usability.

+ Locale settings
    All printed (stdout, stderr, newt) strings are now encoded.
    clive depends on the locale settings for this. If the setting
    is not found, clive defaults the encoding to "iso-8859-1".
    This change is related to the bug #11848.

+ --cache, --rss, --cache: Refresh function
    Added a new button. Refresh can be used to resize the widgets
    if the terminal size was changed.

+ --clear-cache,-d
    Clears all cache data from ~/.clive/cache.

+ --clear-last,-D
    Clears last batch data from ~/.clive/recall.

! --scan, --rss, --cache: Hitting F12 would result in "TypeError" crash
    Hitting F12 is now the same as hitting "OK".

! Typo: src/clive/login.py.in (ln:99)
    The exception instance was referred incorrectly.

! --scan: "UnicodeDecodeError: 'unicodeescape'" (bug #11848)
    Should no longer occur. All printed (stdout, stderr, newt) strings are
    now encoded to the locale encoding.

~ Print out: Tweaked
    Making better use of available line space.

~ Startup: Options display
    Replaced "exist" with "locale".

~ --cache: Changed data layout
    Changed from the old layout (VideoTitle) to (VideoTitle / VideoURL).

~ --scan: Changed data layout (sr #2032)
    Scrapped the old layout (ScanURL / VideoTitle) in favor for (VideoTitle /
    VideoURL). The CheckboxTree widget has its limitations.

~ --recall: Changed no data error message
    Exits now with "error: no recall data".

~ --cache: Check for existing data
    clive now checks if cache data is available before displaying it.

~ Run and terminate options can be chained
    Chaining the "run and terminate" options, such as --write-conf and
    --clear-cache, is now possible. For example:
        % clive -udDw

~ --scan: Improved duplicate URL checking (sr #2032)
    For example:

    * http://video.google.com/videoplay?docid=-1943351180544198777
    * http://video.google.com/googleplayer.swf?docid=-1943351180544198777

    Are considered to be the same.

~ --scan, --rss, --cache: Improved title clipping (sr #2032)
    Titles are no longer clipped unnecessarily if there's enough
    space left. clive will now also attempt to maximize the use
    of the terminal area instead of using hardcoded dimensions.
2008-07-29 21:30:10 +00:00
wiz
60e7f00d4f Update to 0.4.13:
Version 0.4.13                                       [2008-05-20]
=================================================================
+new !fix ~change -remove | focus: minor feature enhancements

+ --scan, -S
    Causes clive to scan the fed URLs for identifiable video links.
    The found links are then checked and displayed to the user for
    selection.

    Example:
        % clive -S "http://fakesteve.blogspot.com/"

    This feature currently scans for Youtube video links only.
    Googlevideo support will follow.

! manual page
    Cleaned up and fixed some typos.

~ config: url_feed -> feed_url
    Renamed config file command "url_feed" to "feed_url".


Version 0.4.12                                       [2008-05-12]
=================================================================
+new !fix ~change -remove | focus: Minor bugfixes

! VGoogle: OSError: [Errno 2] No such file or directory (bug #11668)
    Affected versions: clive 0.4.10, 0.4.11

    Extraction would fail for google videos that did not have mp4
    link available. See also:
        http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480444

! cache: "OperationalError: no such column: cache_lowq" [blocker]
    Affected versions: clive 0.4.10, 0.4.11

    Cache upgrade would fail on some configurations for still unknown
    reasons. clive will attempt to recreate the cache if the above error
    occurs. Any existing cache data will be lost. See also:
        http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479315

~ configure.ac: module checks
    configure no longer checks for modules (urlgrabber, feedparser) when
    --without-PACKAGE or --with-PACKAGE=no are being used.

~ Warnings: tweaked
    Some warnings have been tweaked.
2008-05-21 13:50:30 +00:00
wiz
4d2ed5326e Update to 1.4.11:
pkgsrc change: use python dependencies from pkgsrc instead
of the ones delivered with clive.

Version 0.4.11                                       [2008-04-24]
=================================================================
+new !fix ~change -remove | focus: Major bugfixes

+ --with-PACKAGE[=yes|no] (sr #1986)
    See the INSTALL file for more details.

~ Prerequisite: newt (snack) module
    The module is now expected to be found.

! Youtube: "video removed" (bug #11564) [blocker]
    Affected versions: clive < 0.4.11

! Unportable test(1) construct (bug #11552) [0.4.10]
    configure used previously the unportable bash "==" comparison
    operator for test(1) which is not supported by most other shells.
2008-04-26 01:23:58 +00:00
wiz
457439ab53 Update to 0.4.10:
Version 0.4.10                                       [2008-04-21]
=================================================================
+new !fix ~change -remove | focus: Major bugfixes

+ newt library
    The library, which is written in C and depends on the libslang, is now
    part of the clive distribution. For more details, see the README file.

+ configure: --with-newt[=yes/no] (default:yes)
    If disabled:
        - python newt module will not be built
        - The --rss feature will be disabled

+ Prerequisite: libslang >= 2.0
    The newt library depends on this library.

+ Google Video: mp4 support
    clive will now attempt to download mp4 format from the host by
    default. --low-quality option can be used to override this. Falls
    back to flv if the mp4 link is not found.

    Example:
        mp4: Video: h264, yuv420p, 320x240, 29.97 fps(r)
        mp4: Audio: mpeg4aac, 48000 Hz, stereo

        flv: Video: flv, yuv420p, 320x240, 29.75 fps(r)
        flv: Audio: mp3, 22050 Hz, mono, 64 kb/s

+ Google Video: Partial support for continuing transfers
    Continuing partially downloaded files is now possible for the mp4 transfers
    introduced in this release.

    As with Youtube/FLV, continuing GoogleVideo/FLV files still fails.

~ Program start options stdout
    clive now prints out the bundled newt version (if any).

! Cache: --low-quality
    Caching should now work properly with the --low-quality option. If the
    cache entry was previously recorded using different video quality, the
    video page is re-visited and the cache is updated.

    A new column 'cache_lowq' was added to the 'cache' sqlite table.
    Should the upgrade from a previous version fail, remove the existing
    ~/.clive/cache file.

! Bug #11523: Google video extraction fails
    Affected versions: clive < 0.4.10

! Various typos
    Mostly in the manual page.

- Prerequisite: python-newt module
    The module is now part of the distribution.
2008-04-22 23:05:49 +00:00
wiz
1be9406a6a Update to 0.4.9:
Version 0.4.9                                        [2008-04-09]
=================================================================
+new !fix ~change -remove | focus: major feature improvements

+ RSS/Atom parser (req. python newt module >= 0.51)
    Designed to be used with video host feeds. Parses and displays
    found videos available for extraction. If the required newt module
    is not found, the feature is disabled.

    Note that the python feedparser module is now part of the clive
    distribution, for more details, see the README file.

    Option:
        --rss (config: url_feed)

    When the --rss option is used, the URLs are treated as RSS/Atom feed URLs,
    for example:
        % clive --rss http://youtube.com/rss/global/recently_featured.rss

    Downstreamers: Python newt module is a new prerequisite. Note that the
    program still runs without it, only the --rss feature is disabled.

    FreeBSD: the newt library needs to be built with WITH_PYTHON,
    for example:
        % cd /usr/ports/devel/newt
        % make WITH_PYTHON=yes install clean

    Ubuntu: https://bugs.launchpad.net/ubuntu/+source/newt/+bug/110880

+ Dailymotion: Log-in support (sr #1834)
    Options:
        --dmotion-user=USERNAME (config: dmotion_id)
        --dmotion-pass=PASSWORD (config: dmotion_password)

+ Metacafe: Family filter off (sr #1956)
    The family filter is disabled for all extractions.

+ Youtube: Log-in support (sr #1953)
    Resurrected the log-in support that was previously available in 0.2.x
    but removed in 0.3.0 due to the complete program overhaul.

    Options:
        --youtube-user=USERNAME (config: youtube_id)
        --youtube-pass=PASSWORD (config: youtube_password)

! ~/.clive/config; improved parsing
    The parser is now more resistant to invalid values. clive will now also
    exit if an error occurs while parsing.

! ~/.clive/config; output_if_file_exists
    Accepts "RENAME" as it should have.

! Console; q_r_paste command
    Crash at: "UnboundLocalError: local variable 'cmd' referenced before assignment"

~ --write-conf; increased verbosity
    clive is now more verbose about found 3rd party programs.

~ --write-conf; sort commands
    The written commands are now sorted alphabetically.


Version 0.4.8                                        [2008-03-31]
=================================================================
+new !fix ~change -remove | focus: minor bugfixes

+ Youtube: HTTP/415 No media fallback
    Extract low quality (flv) video if better quality (mp4) is not available.

! Youtube: Partial support for continuing transfers
    It is now be possible to continue partial downloads as long as they are
    high-quality (mp4) videos.

    Note that this fails utterly for the flv videos. It appears urlgrabber
    appends a complete file at the end of the existing file when the host
    refuses to continue transfer. Instead of bloating the code with the
    conditions, continuing the youtube flv file transfers remains disabled.

! Dailymotion: improved media support
    clive no more assumes 512x384 is the highest available quality. The
    video page is now parsed for best available quality which clive extracts
    unless the --low-quality option is being used. It should be noted that
    most videos appear to have only the low-quality (flv) video available.

    No media warning will be displayed if high quality video is not found
    and the low quality video is extracted instead.

! Transfer rate calculations
    File length offset is now used properly with files that are being
    overwritten. This fixes the only-progress-percentage odditity is
    being displayed.

! Youtube: New error messages
    "error: country restriction/censorship"
    "error: private video"

! --check-update,-u
    Crash at: "TypeError: __init__() takes exactly 2 arguments (1 given)"

~ Reduce progress stdout flickering (sr #1944)
    Progress is now rendered in one second intervals. clive will now also
    display average transfer rate and total time elapsed when the transfer
    completes.

~ Clean up
    clive(1), INSTALL etc.


Version 0.4.7                                        [2008-03-17]
=================================================================
+new !fix ~change -remove | focus: major feature enhancements

+ GNU Autotools support
    See the INSTALL file for the updated installation details.

+ urlgrabber integration
    The urlgrabber module is now part of the source code distribution.
    For more info, please read the README file.

    Downstream maintainers: urlgrabber module is no longer a prerequisite

+ Cache
    If caching is enabled, clive will collect data about visited URLs
    to a sqlite3 database file (~/.clive/cache). Note that cache is only
    available for Python >= 2.5. Also, depending on the system, the sqlite3
    may not be installed with Python by default, e.g. on FreeBSD you need
    to install it separately (databases/py-sqlite3).

    Added also --no-cache and enable_cache. Caching is enabled by default.

+ Youtube: new default format
    clive now defaults to extract the better quality (mp4) videos from Youtube.
    The default behaviour can be overridden with the --low-quality option.

+ "Paste" option displayed at program start
    The state for "paste from xclip" is now displayed when the program starts.

! Same output filename in URL batch
    clive did not previously check the URLs in current batch for same output
    filename. For example:

        http://video.google.com/videoplay?docid=-4505462782975458603
        http://video.google.ca/videoplay?docid=-4505462782975458603

    Both URLs point to the same video, note the different TLD. If they were
    fed to clive in same URL batch the program accepted them without any
    scrutiny. This resulted clive to waste bandwidth downloading the same
    file twice and overwriting the previously extracted video file.

    clive now generates (--exist=rename) a new output filename for the last
    URL.

! Dailymotion support
    clive will now attempt to extract the higher resolution vide (mp4) _only_
    if it is available. This was causing HTTP/404 errors for some dmotion URLs
    with the previous release.

    The new option --low-quality overrides this default behaviour.

! Status/progress stdout line breaking on some system configurations
    This was caused by improper use of '\b' which would cause the lines
    to break on some terminal emulation settings.

! Calculations for resumed transfers (patch #990)
    The transfer rate calculations should no longer go berzerk for
    resumed transfers.

    "The problem is that when urlgrabber calls update(), the 'read'
    parameter is the current size of the file. When you resume, you
    need to discard the offset from the previous download or else
    the calculations will be off." -- zythmer

~ clive(1)
    The manual page was rewritten.

~ Accept-encoding is now always set to gzip
    Removed the rather useless --no-gzip option from wasting space.
    Note that compression is only used if the host supports it.

~ Configuration file format
    The configuration file format has undergone several iterations of
    changes over the last 12 months and this release introduces yet another
    format. Wait for it. This one's final. For a comparison:

    Then: {.., 'verbose':1, ..}
     Now: enable_verbose="YES"

    To get started, you can generate a "template" configuration file
    with:

        % clive --write-conf

    The created file contains comments and all supported commands. clive
    will also attempt to autodetect the 3rd party programs such as ffmpeg
    and set the paths to these programs with recommended options.

~ File name changes in ~/.clive
    config.py -> config
    last.log -> recall
    userdef.py -> custom.py

    Note that since history is no longer used, the ~/.clive/history.log is
    now obsolete and can be removed if it's still around.

~ Option --write-conf
    Previously known as --conf-write. Writes the config file with default
    program values. clive will now attempt to autodetect vlc, ffmpeg and
    xclip.

~ Option --emit
    Renamed to "--emit-csv". Standard output format was also changed.

    From:
        video: "extraction-url" "filename" "length"\n
    To:
        OK: "url","extraction-url","filename","length"\n
        FAILED: "url","error-message"\n

    Should be now more parsing-friendly.

~ Options changed
    Much of the options were either renamed, merged, removed or otherwise
    modified. Some new short options were added also.

~ Renamed --simulate
    Renamed --simulate,-s to --no-extract,-n.

~ Tweaked warnings
    Some of the warnings were rewritten.

~ Stdout overhaul
    Much of the stdout messages were changed, e.g. "status:" and similar
    were replaced with lines that make better use of the line space.

~ Options displayed at program start
    Renamed "throttle" to "rate". Renamed "exists" to "exist".

~ sys.platform instead of platform.uname
	Platform string is now constructed using the platform module.

- Logging features
    More or less replaced by the new "cache" and "recall" features.
    See also "File name changes" above.

- GUI features: --configure, --history
    Rather than transforming clive into a CLI-GUI hybrid, I've decided
    to remove the GUI elements. The code to these short-lived features
    could still be reused for a GUI-only clive configruation tool later
    if there's any demand for it.

    Downstream maintainers: Tkinter is no longer used by clive.

- Mswindows support
    Anyone familiar with the woe32 specific non-standard approach to
    everything can probably relate to this, and even if python hides
    much of the mswindows nonsense, I've decided not to bother myself
    with it anymore. So instead of bloating the code base with a set
    of conditions and exceptions for woe32, I've, hereby, removed
    all of the ms-platform specific nonsense from the project.

    Come to the unix side.

- distutils support (setup.py)
    Starting from this release, clive uses GNU Autotools.

- stage6 support
    Shut down service effective February 28, 2008
    (http://www.stage6.com/blog/107/).
2008-04-13 09:58:48 +00:00
wiz
aeb7c279d4 Import clive-0.4.6 as net/clive.
clive is a cross-platform command line video extraction tool for
user-uploaded video hosts such as Youtube, Google Video, Dailymotion,
Guba, and Metacafe. It can be chained with 3rd party tools for
subsequent video re-encoding and playing.
2008-03-14 01:32:48 +00:00