Commit graph

26 commits

Author SHA1 Message Date
wiz
476d00b17e Update to 2.2.7:
Version 2.2.7
(September 29, 2009)

 User-visible changes:
  * Fix: dailymotion id parsing
  * Youtube:
    # Accept -f fmt34
    # fmt34 is now treated as yet another (new?) format
    # Rewrite youtube section of the FORMATS in the manual
  * Fix: --format=best not working with youtube (closes issue #39)
    # Thanks to Peter Baranyi for the fix

 Known issues:
  * redtube: broken (verify -> http/404)


Version 2.2.6
(September 14, 2009)

 User-visible changes:
  * Fix: liveleak: "error: Unsupported protocol (http/1)" (closes #36)
  * Fix: vimeo: title parsing (Thanks to Peter Baranyi for the fix, closes #37)
    - Fixes title issues with accented chars
  * Fix: break: http/403 (Thanks to Werner Elsler for the fix, closes #38)
2009-10-20 15:38:47 +00:00
wiz
90dee62ab8 Update to 2.2.5:
Version 2.2.5
(August 14, 2009)

 User-visible changes:
  * Add: --print-fname option
  * Fix: dailymotion ID parsing
  * Fix: --hosts: dailymotion: spak-mini -> spark-mini
  * Zeropad ETA
2009-08-20 10:18:54 +00:00
wiz
5518b43c01 Update to 2.2.4:
Version 2.2.4
(August 2, 2009)

 User-visible changes:
  * Add:
    # --stream-pass option (port from cclive)
    # funnyhub support
      * Port from cclive
    # myubo support
      * Port from cclive
    # clipfish support
      * Thanks to Patrick Hoffmann <patrick@sobran.de> for data mining
  * Fix:
    # Misc. typos in manual
    # Redtube support (videoid/title parsing issues)
    # Dailymotion: spak-mini -> spark-mini
  * Change:
    # replace dashes ("-") with underscores ("_") in video ids

Version 2.2.3
(July 25, 2009)

 User-visible changes:
  * Add:
    1. Support spiegel.de (closes issue #32) [thanks to anon for data]
    2. Support golem.de (closes issue #33) [thanks to anon for data]
    3. ~/.clive/config path support
    4. --cookie-jar option
    5. Support for ehrensenf.de (closes issue #34) [thanks to bjoern for data]
  * Improve: unicode support (related to issue #29)
    1. cctv: no longer requires -C and -R options (obsoletes -R)
    2. --cclass: now works as expected with unicode as well
  * Improve: backwards compatibility with clive 2.0, 2.1
    1. Allow --format=(mp4|hd|hq|3gp) (closes Debian bug #535957)
    2. Restore ~/.config/clive/config path support (closes Debian bug #535483)
    3. Add --upgrade-config (2.0/2.1 config to 2.2+ format)
  * Change:
    1.  --hosts prints now supported formats
    2. Pair --exec with --exec-run, the latter now triggers the former
       2.1. Closes Debian bug #520520
    3. Relocate files
      3.1. ~/.clivelast -> ~/.cache/clive/last
      3.2. ~/.clivecache -> ~/.cache/clive/cache
    4. If HOME environment variable undefined, assume current workdir
    5. --version: print locale etc.
  * Fix:
    1. --version: copyright years
    2. File suffix for CCTV (.x-shockwave-flash -> .flv)
    3. Remove "see examples" from pod markup (closes issue #30)
    4. Prevent ".$suffix" output filenames
      4.1. Use $id if !$title && %i was not defined in --filename-format
      4.2. Related to issue #29
    5. --no-proxy: really disable all proxy use (closes issue #25)
      5.1. http_proxy setting was still used
    6. Can't call method "filename" on unblessed reference at Exec.pm line 5x
      6.1. e.g. clive URL --exec="ls;"
      6.2. Closes Debian bug #535459
    7. Dailymotion support (closes issue #35)
    8. Redtube support (error: no match: `(?-xism:videoid=(.*?)')')
  * Rename:
    1. --recall, --recall-file -> --last, --last-file
    2. CLIVE_HOME -> CLIVE_CACHE
  * Remove:
    1. -R, --raw (obsoleted by improved unicode support)
    2. --home-dir option
      2.1. Missleading name
      2.2. Obsoleted by --cache-file and --last-file
  * Manual page:
    1. Add note about numeric suffix (closes issue #28)
    2. Fix a number of typos, use better grammar
    3. Overhaul

Version 2.2.2
(July 9, 2009)

 User-visible changes:
  * Change: Google: --format=mp4/best
    1. Default to flv if mp4 is not available
    2. Fix --format=best support
2009-08-08 16:13:53 +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
3c3cf3a207 Update to 2.1.13:
Version 2.1.13
(May 16, 2009)

 Developer-visible changes:
  * Change: use perltidy defaults for style
  * Change: BerkeleyDB and File::Path modules are now optional
    ** Cache features depend on these modules
  * Moved opted_mods initilization to init_opted_mods (-> loop)
2009-06-08 09:15:08 +00:00
wiz
60f460ab01 Use standard location for LICENSE line (in MAINTAINER/HOMEPAGE/COMMENT
block). Uncomment some commented out LICENSE lines while here.
2009-05-19 08:59:00 +00:00
wiz
f618a9789a Update to 2.1.12:
Version 2.1.12
(May 9, 2009)

 User-visible changes:
  * Change: --connect-timeout, --connect-timeout-socks default -> 30s
  * Fix: timeout after file transfer starts
  * Fix: title parsing with custom character class (closes issue #8)
  * Add: redtube support; thanks to anonprn2@gmail.com (closes issue #11)
  * Fix: typo in --emit-xml --help string


Version 2.1.11
(April 29, 2009)

 User-visible changes:
  * Change: --youtube-pass: prompt for password if left undefined
  * Change: --filename-format: default -> "%t.%s"
  * Fix: "Use of uninitialized value $opts{"ytpass"} ..."
  * Add new options:
    ** --connect-timeout
    ** --connect-timeout-socks
  * Cleanup: manual page

 Known-issues:
  * Youtube login does not work (throw an error, patches welcome!)
2009-05-13 12:08:41 +00:00
wiz
ebb0cfb7b9 Update to 2.1.10:
Version 2.1.10
(April 4, 2009)

NOTE: This release changes the clive status messages. This will likely
break compatibility with utilities that depend on these messages.
The changes were made to enable using abby (0.2.0+) as a front-end
for clive.

 User-visible changes:
  * Add abby (front-end) compatibility
    - Change output similar to cclive
    - http://code.google.com/p/abby/
  * Add Youtube HD support (--format=mp4_hd)
    - Thanks to bf for the patch (via FreeBSD ports)
  * Add tv.cctv.com support [issue #6]
    - Thanks to suntong001 for data mining
  * Add new options
    - --limit-rate (config: [http]:limit_rate)
    - --hosts (print supported hosts to stdout)
    - --stderr (redirect all output to stderr instead of stdout)
  * Improve file suffix parsing from content-type
    - Rewrite the content-type handling block in query_video_length
    - Use whatever is found after slash in the content-type string
    - Use "flv" for exceptions (e.g. octet-*, x-flv, etc.)
  * Replace dashes in video IDs with underscores before using them in fnames
  * Change --version output
  * Fix reading from stdin (closes Debian #522422)
    - Assume reading from stdin only if queue and argv arrays are empty
  * Fix exit with status code
    - Exit 0 on success, and >0 if an error occurs

Version 2.1.9
(March 27, 2009)

 User-visible changes:
  * Fix GoogleVideo "id not found" handling
    - Symptom: exit after "process page..." message
    - Cause: no check for undefined id value
  * Fix GoogleVideo support
    - Symptom: see above fix
    - Cause: HTML changes to the video pages
  * Fix URI::Escape import for GoogleVideo redirects
    - Symptom: crash with "Undefined subroutine &URI::Escape::uri_unescape"
    - Cause: recent script start optimizations; a missing 'require'
  * Fix Break support
    - Symptom: "expected different content-type"
    - Cause: website content-type changes

Version 2.1.8
(March 24, 2009)

 User-visible changes:
  * Keep URL queue order
    - Remove duplicate URL checking
  * Remove --modver, change --version output
  * Update manual page (clive.1, clive.pod)
    - Rewrite EXAMPLES section
    - Cleanup other sections
  * Config file: add support for [output]:format (--format)
  * Port dailymotion support from cclive

Version 2.1.7
(March 15, 2009)

 User-visible changes:
  * Add --output-video option
  * Add option groups to --help output
  * Add --stream-exec and --stream options
    - Ported from cclive
  * Config file: add support for
    - [commands]:exec (--exec)
    - [commands]:stream (--stream-exec)
    - See configrc for an example
  * Fix --exec; should no longer spew out "not found" shell errors
  * Change default filename format to "%t_%d_%i.%s"
  * Change to use "file is already fully retrieved" error message
  * Port resizing progressbar from cclive

 Other changes:
  * Buried clive-list, grew weary of fighting spam with bare fists
    - email the author directly or use the issue tracker, thanks
2009-04-20 11:18:48 +00:00
wiz
7179843e5f Update to 2.1.6:
Version 2.1.6
(February 19, 2009)

 User-visible changes:
  * Renamed the following options
    - --noproxy => --no-proxy
    - --noextract => --no-extract
    - --nologin => --no-login
  * Butchered --help output
    - much less verbose now
    - relocated manual page data to clive.pod
  * Removed --manual option
  * Obsoleted "play" and "rencode" config keys in "commands" section
  * Added --exec option which resembles cclive's --exec command
  * Removed --play, --noplay, --rencode and --norencode options
    - use --exec instead
  * Changed --paste short option from '-x' to '-p'
  * Removed wmv format (breakcom)
    - persistant HTTP/404 (not found) error

Version 2.1.5
(February 6, 2009)

 User-visible changes:
  * Fixed sevenload support


Version 2.1.4
(February 1, 2009)

 User-visible changes:
  * Fixed Youtube login which sometimes reported failed attempts as OK
    - Youtube defaults web interface language based on users ip
    - clive looks for English words in the post-login page to confirm login
  * Tweaked --version output
2009-02-21 13:31:52 +00:00
joerg
e4bde057f5 Fix DESTDIR. 2009-01-29 17:02:11 +00:00
wiz
782f15c03a Update to 2.1.3:
Version 2.1.3
(January 9, 2009)

  * Documented missing "%t" (--filename-format) in manual page
  * Tweaked "localfile_length == remotefile_length" message
  * Renamed CLIVE_CONFIGDIR environment variable to CLIVE_HOME
2009-01-09 13:09:12 +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
669f8a1210 Update to 1.0.2:
Version 1.0.2
(October 14 2008, from branches/release/1.0.x)
svn://svn.gna.org/svn/clive/tags/1.0.2

 User-visible changes:
    * Added --hosts to list supported hosts
    * Removed myvideo support (broken)

 Developer-visible changes:
    * Fixed googlevideo support, extraction would fail for some videos
    * Fixed "AttributeError: 'builtin_function_or_method' object has no
        attribute 'write'" (partially related to bug #12290)
    * Added embedded link support for metacafe
        - Thanks to Kai Wasserbach <debian@carbon-project.org> for the fix
    * Updated AUTHORS and HACKING file
    * Fixed man files with some syntax problems (bug #12266)
        - Thanks to Marco Rodrigues <gothicx@sapo.pt> for the fixes
2008-10-16 21:45:39 +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
ed6c5ed089 Update to 0.4.16:
Version 0.4.16                                       [2008-06-18]
=================================================================
+new !fix ~change -remove | focus: minor bugfixes, improvements

+ --cache,-c
    Provides a newt based interface for browsing and re-extracting
    previously downloaded videos. Cache table schema (~/.clive/cache)
    was updated: added new column "cache_url".

! Sevenload: improved support (reported: Kai Wasserbach)
    Affected versions: 0.4.14 - 0.4.15
    Some URLs were previously parsed incorrectly.

! Console: "error: unrecognized command"
    Affected versions:  0.4.6 - 0.4.15
    The above error would be printed out incorrectly if a duplicate
    URL was already in the queue.

~ Removed: try..except (ffmpeg subprocess)
    Unnecessary code. Cleaned up the subprocess call methods for
    both ffmpeg and player.


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

+ --write-conf: Use http_proxy environment setting
    Write http_proxy enviroment setting to config file if it's set.

+ Support: myvideo.* (sr #2024)
    As requested.

+ --mask: support for "no" (disable)
    Added support for "no" which disables the filtering altogether, e.g.
        % clive --mask=no URL

    This is the easiest way to keep the original video title. See
    the manual page for more info.

    Note that this option was renamed to --filter (see further below).

! --scan: "UnicodeDecodeError: 'ascii' codec..." (bug #11805)
    Affected versions: clive 0.4.13, 0.4.14
    Should no longer occur. See the discussion at:
        https://gna.org/bugs/?11805

! Metacafe: "error: extraction url not found"
    Affected versions: clive < 0.4.15
    Extraction would fail due to the changes made to page HTML.

! StringIO: import failsafe (try..except)
    Affected versions: clive < 0.4.15
    StringIO was imported incorrectly if cStringIO was not found.

~ Dump HTTP headers if "error: zero content length" occurs
    The headers are dumped only if --quiet is not being used and the
    headers are available.

~ Options printout: "cache:yes; paste:off; ..." -> "cache:yes / paste:off / .."
    Modified the runtime options printout.

~ --mask: renamed (=> --filter)
    Renamed --mask to --filter. Kept -m short option. Configuration file
    command was also renamed from "output_title_mask" to "output_title_filter".

~ --xclip: append "-o"
    clive now appends the "-o" option with a warning to the xclip path if
    it's not present.

~ --write-conf: updated comments
    Cleaned up the config file comments that clive produces with this option.
2008-06-21 15:53:55 +00:00
joerg
ba171a91fa Add DESTDIR support. 2008-06-12 02:14:13 +00:00
wiz
65e7a5cd0f Update to 0.4.14:
Version 0.4.14                                       [2008-05-26]
=================================================================
+new !fix ~change -remove | focus: minor bugfixes, improvements

+ Support: sevenload.com (sr #2015)
    Contributor: Kai Wasserbach
      http://bugs.debian.org/482289
    Minor modifications were made to the contributed patch to maintain
    backward compatibility with Python 2.4.

+ Scan: GoogleVideo support
    --scan now looks for embedded google videos.

+ Scripts: run.py, build.py
    These used to be available in the svn repository only.

        build.py:
            * builds and installs clive to top_srcdir/dist subdir
            * wraps "configure" and "make install"
            * wraps CFLAGS and LDFLAGS for building newt (bundled)
            * takes any of the configure parameters
        run.py: runs clive from the top_srcdir/dist subdir
            * Wraps PYTHONPATH
            * takes any of the clive parameters

    Example:
        % ./build.py --without-newt
        % ./run.py --no-cache URL

! GoogleVideo: "error: extraction url not found" [blocker]
    Affected versions: clive 0.4.12, 0.4.13

    Low quality video extraction would fail due to page HTML changes.

! File extension
    Affected versions: clive < 0.4.14

    mp4 file extension was used incorrectly for Metacafe and Guba videos.

! manual page
    Typos.

~ code cleanup
    Replaced "if .. .find(..) !=/== -1" with "if .. in .."
2008-05-27 14:55:37 +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
joerg
a77e7015fe Update PYTHON_VERSIONS_COMPATIBLE
- assume that Python 2.4 and 2.5 are compatible and allow checking for
fallout.
- remove PYTHON_VERSIONS_COMPATIBLE that are obsoleted by the 2.3+
default. Modify the others to deal with the removals.
2008-04-25 20:39:06 +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
41137457be Pick up maintainership. 2008-03-14 01:34:44 +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