С именами файлов скрипт я так понимаю ничего не делает? Просто на rpod.ru имена фалов довольно дикие. Я когда делал похожую штуку (похоже это общее место: проще написать скрипт, скачивающий подкасты, чем найти готовый, который бы полностью устраивал =)) имена файлов делал из заголовков и к ним расширения добавлял. И я так понял вы все в один каталог пихаете, не лучше ли каждому подкасту свой каталог?
Из URL я вытаскиваю имя файла и расширение. Получаются довольно приличные названия без всяких довесков, вроде Radio_u_11.mp3 или webparkshow_110208.mp3.
О каталогах. Подход правильный, если подкасты надо коллекционировать. Тогда свалка в одном каталоге не годится.
А так, для прослушивания - я пока ни одного конфликта имен не видел (имя файла обычно включает имя подкаста, номер, дату... или просто ИДшник, как у "Института разнородных вещиц"). Всю папку забрасываю в плеер и стираю по прослушивании. Я даже не предвижу конфликт.
А чтобы разносилось по каталогам достаточно поправить функцию GetLocalFileNameFromURL.
Хотел что-то похожее написать как раз в рамках изучения питона.
А зачем делать вход в гуглридер, можно открыть публичный доступ к фиду из Ридера - это наверняка меньшая проблема безопасности, чем складывать пароли в скриптах.
по коду:
1) ';' не нужен
2) для сложения элементов пути к файлу / директории надо пользоваться os.path.join
3) не стоит использовать except без указания типа исключения
4) не издевайтесь над оператором print
5) для обращения к словарю лучше использовать метод get (вместо a['b'] пишем a.get('b') )
Спасибо я думаю, по поводу исключения надо смотреть по месту нужно оно там или нет. Мне кажется синтаксически правильнее то, что уже встроено в синтаксис. То есть скобки.
PS. Кстати, есть модуль для логгирования в питоне уже готовый:
1) Я пока еще C-шник (C/C++/C#). Со временем привыкну (да уже местами забываю).
2) Спасибо, буду.
3) Я не нашел хорошего описания работы с исключениями в Python. Даже в официальной документации. Каюсь :(
4) Чуть поподробней, и не буду :)
5) -"-
Если есть ссылки под рукой, то прошу.
Благодарен за замечания!
В принципе, форматирование строк я применяю. Например, при вызове LogMessage.
Там, где 3 принта - это чтобы выводилось на разных строчках. А если слепить через \n в один большой принт - ой некрасиво будет выглядеть.
Только с print "Error: ", sys.exc_info(); небольшой промах вышел.
1. Это во мне C-шное наследие. Как и ; в конце инструкций. Замечал, что так никто не пишет, поэтому рано или поздно и у меня пройдет.
2. Спасибо! Беру на вооружение.
Идея хорошая, но... Я не слушаю подкасты на КПК и времени нынче совсем нет :(
Буду благодарен, если проверите.
ЗЫ: к слову, я и в такой версии вот пару глюков вижу... Смущаюсь, но обхожу.
Скрипт для скачивания подкастов Python + Google Reader