packages feed

hpodder 1.1.5 → 1.1.6

raw patch · 9 files changed

+30/−38 lines, 9 filesdep −haskell98dep ~HaXmldep ~base

Dependencies removed: haskell98

Dependency ranges changed: HaXml, base

Files

Commands/Download.hs view
@@ -42,6 +42,7 @@ import Data.String.Utils import Data.Either.Utils import Data.List+import Data.Char import System.Exit import Control.Exception import Data.Progress.Tracker@@ -259,10 +260,13 @@                  d $ "  gettypecommand sent to stdout: " ++ show c                  d $ "  original type was: " ++ show (eptype ep)                  case ec of-                   ExitSuccess -> case (strip c) of+                   ExitSuccess -> case (stripToken c) of                                     "" -> return (eptype ep)                                     x -> return x                    _ -> return (eptype ep)+	+          stripToken = takeWhile intoken+              where intoken c = not $ isSpace c || c == ';'            getRenameTypes =               case getList (gcp gi) idstr "renametypes" of@@ -284,6 +288,7 @@                          ("FEEDURL", feedurl . podcast $ ep),                          ("SAFECASTTITLE", sanitize_fn . castname . podcast $ ep),                          ("SAFEEPTITLE", sanitize_fn . eptitle $ ep),+                         ("EPID", show . epid $ ep),                          ("EPTITLE", eptitle ep)]  -- | Runs a hook script.
Commands/SetStatus.hs view
@@ -57,7 +57,7 @@                       Nothing -> fail "setstatus: --castid required; see hpodder setstatus --help"        newstatus <- case lookup "status" args of                       Just x -> E.catch (E.evaluate (read x))-                                  (\_ -> fail $ "Invalid status supplied; use one of: " ++ possibleStatuses)+                                  ((\_ -> fail $ "Invalid status supplied; use one of: " ++ possibleStatuses) :: E.SomeException -> IO a)                       Nothing -> fail "setstatus: --status required; see hpodder setstatus --help"        podcastlist <- getPodcast (gdbh gi) podcastid        pc <- case podcastlist of
Commands/Setup.hs view
@@ -101,10 +101,10 @@ sampleurls =      ["http://soundofhistory.complete.org/files_soh/podcast.xml",      "http://www.thelinuxlink.net/tllts/tllts.rss",-     "http://www.itconversations.com/rss/recentWithEnclosures.php",+     "http://feeds.conversationsnetwork.org/channel/itc",      "http://www.sciam.com/podcast/sciam_podcast_r.xml",      "http://www.npr.org/rss/podcast.php?id=510019",-     "http://amateurtraveler.com/podcast/rss.xml",+     "http://feeds.feedburner.com/AmateurTravelerPodcast",      "http://broadband.wgbh.org/amex/rss/podcast_np.xml",      "http://www.npr.org/rss/podcast.php?id=700000"] 
Config.hs view
@@ -74,7 +74,7 @@                  cp <- set cp "DEFAULT" "renametypes" "audio/mpeg:.mp3,audio/mp3:.mp3,x-audio/mp3:.mp3"                  cp <- set cp "DEFAULT" "postproctypes" "audio/mpeg,audio/mp3,x-audio/mp3"                  cp <- set cp "DEFAULT" "gettypecommand" "file -b -i \"${EPFILENAME}\""-                 cp <- set cp "DEFAULT" "postproccommand" "id3v2 -A \"${CASTTITLE}\" -t \"${EPTITLE}\" --WOAF \"${EPURL}\" --WOAS \"${FEDDURL}\" \"${EPFILENAME}\""+                 cp <- set cp "DEFAULT" "postproccommand" "mid3v2 -T \"${EPID}\" -A \"${CASTTITLE}\" -t \"${EPTITLE}\" --WOAF \"${EPURL}\" --WOAS \"${FEEDURL}\" \"${EPFILENAME}\""                  return cp  startingcp = emptyCP {accessfunc = interpolatingAccess 10}
Download.hs view
@@ -65,6 +65,7 @@             "-L",               -- Follow redirects             "-y", "60", "-Y", "1", -- Timeouts             "--retry", "2",     -- Retry twice+            "--globoff",        -- Disable globbing on URLs (#79)             "-f"                -- Fail on server errors            ] 
FeedParser.hs view
@@ -33,6 +33,7 @@ import Types import Text.XML.HaXml import Text.XML.HaXml.Parse+import Text.XML.HaXml.Posn import Utils import Data.Maybe.Utils import Data.Char@@ -76,9 +77,9 @@                 let feeditems = getEnclosures doc                 return $ Right $                            (Feed {channeltitle = title, items = feeditems})-       where getContent (Document _ _ e _) = CElem e+       where getContent (Document _ _ e _) = CElem e noPos -unifrob ('\xef':'\xbb':'\xbf':x) = x -- Strip off unicode BOM+unifrob ('\xfeff':x) = x -- Strip off unicode BOM unifrob x = x  unesc = xmlUnEscape stdXmlEscaper@@ -121,13 +122,13 @@ -- Utilities -------------------------------------------------- -attrofelem :: String -> Content -> Maybe AttValue-attrofelem attrname (CElem inelem) =+attrofelem :: String -> Content Posn -> Maybe AttValue+attrofelem attrname (CElem inelem _) =     case unesc inelem of       Elem name al _ -> lookup attrname al attrofelem _ _ =     error "attrofelem: called on something other than a CElem"-stratt :: String -> Content -> Maybe [String]+stratt :: String -> Content Posn -> Maybe [String] stratt attrname content =     case attrofelem attrname content of       Just (AttValue x) -> Just (concat . map mapfunc $ x)@@ -136,17 +137,18 @@           mapfunc (Right _) = []  -- Finds the literal children of the named tag, and returns it/them-tagof :: String -> CFilter+tagof :: String -> CFilter Posn tagof x = keep /> tag x -- /> txt  -- Retruns the literal string that tagof would find-strof :: String -> Content -> String+strof :: String -> Content Posn -> String strof x y = forceEither $ strof_either x y -strof_either :: String -> Content -> Either String String+strof_either :: String -> Content Posn -> Either String String strof_either x y =     case tagof x $ y of-      [CElem elem] -> Right $ verbatim $ tag x /> txt $ CElem (unesc elem)+      [CElem elem pos] -> Right $ verbatim $ tag x /> txt+           $ CElem (unesc elem) pos       z -> Left $ "strof: expecting CElem in " ++ x ++ ", got "            ++ verbatim z ++ " at " ++ verbatim y 
INSTALL view
@@ -1,18 +1,2 @@ -Sorry, I need to work on this some more...--PREREQUISITES:-- * GHC 6.6          http://www.haskell.org/ghc- * Curl             http://curl.haxx.se- * id3v2            http://download.sourceforge.net/id3v2/id3v2-0.1.11.tar.gz- * hslogger         http://software.complete.org/hslogger- * MissingH 0.18.0  http://software.complete.org/missingh-   hpodder also uses these libraries that MissingH also depends upon:-   FilePath, mtl- * ConfigFile       http://software.complete.org/configfile- * Sqlite3          http://www.sqlite.org/- * HDBC-sqlite3     http://quux.org/devel/hdbc- * HaXml>=1.13.2    http://www.cs.york.ac.uk/fp/HaXml/- * HDBC             http://quux.org/devel/hdbc-+Run "cabal install" to fetch all dependencies and build.
doc/hpodder-manpage.sgml view
@@ -1025,7 +1025,7 @@               </para>               <para>                 The default value adds ID3 tags to MP3 files.  It is:-                <literal>id3v2 -A "${CASTTITLE}" -t "${EPTITLE}" --WOAF+                <literal>mid3v2 -T "${EPID}" -A "${CASTTITLE}" -t "${EPTITLE}" --WOAF                   "${EPURL}" --WOAS "${FEEDURL}" "${EPFILENAME}"</literal>               </para>             </listitem>@@ -1225,11 +1225,11 @@     <title>See Also</title>     <para>       <application>curl</application>(1),-      <application>id3v2</application>(1)+      <application>mid3v2</application>(1)     </para>     <para>       The &hpodder; homepage at <ulink-      url="http://quux.org/devel/hpodder"></>,+      url="http://software.complete.org/hpodder"></>,       a general description of podcasting at       <ulink url="http://en.wikipedia.org/wiki/Podcast"></>     </para>
hpodder.cabal view
@@ -1,10 +1,10 @@ Name: hpodder-Version: 1.1.5+Version: 1.1.6 License: GPL Maintainer: John Goerzen <jgoerzen@complete.org> Author: John Goerzen Stability: Stable-Copyright: Copyright (c) 2006-2008 John Goerzen+Copyright: Copyright (c) 2006-2011 John Goerzen license-file: COPYRIGHT extra-source-files: COPYING, INSTALL, doc/SConstruct,   doc/hpodder-manpage.sgml, doc/hpodder.sgml, doc/local.dsl,@@ -68,8 +68,8 @@  hpodder is SAFE and is designed with data integrity in mind from the  beginning.  It should be exceedingly difficult to lose a podcast  episode, even in the event of a power failure.-Build-Depends: haskell98, network, unix, parsec, MissingH>=1.0.0,- HDBC>=1.1.0, HDBC-sqlite3>=1.1.0, mtl, base, HaXml>=1.13.2, HaXml<1.19, hslogger,+Build-Depends: network, unix, parsec, MissingH>=1.0.0,+ HDBC>=1.1.0, HDBC-sqlite3>=1.1.0, mtl, base>=3 && < 5, HaXml >= 1.20 && < 1.21, hslogger,  ConfigFile, filepath, old-time, directory, process  Executable: hpodder