Скрипты — Мой почти первый и совсем кривой велосипед на Python
Все начилось с того, что я очень люблю слушать один подкаст! Выходит он регулярно, каждую неделю, и мне просто надоело каждый раз ползти на сайт, качать файл, потом копировать его на мой плеер.
Ну и так, раз уж недавно взялся за изучение Python (ибо так нам проповедывал Эрик Реймонд; по ссылке он вам расскажет, откуда в сыре дырки =), и почему именно стоит брать например python, как первый язык программирования), то и решил написать маленький скрипт на этом замечательном языке.
Всем, кто не рубит в программировании, но интересно посмотреть, как это примерно выглядит и как не надо писать скрипты, так же приглашаю под кат.
Ниже представлено сие творение, построенное на костылях и залепленное
соплями, где только можно. Прошу серьезной критики.
Скрипт, как обычно, сохраняется в файл с расширением .py и запускается командой:
Теперь давайте рассмотрим потенциальные проблемы и темные моменты, которые мне уже подсказали ребата из [email protected] (огромное им спасибо), а так же те, до коих я дошел сам, пока писал этот пост.
1. Мне кажется, или все же, если при скачивании по ссылке файл окажется 8.5 гигабайтным образом двухслойного DVD-диска, то оперативная память и своп быстро кончаться?
2. Можно было вполне организовать проверку полученных ссылок на выбор самого последнего выложенного подкаста. И сразу же возникает вопрос, а вообще возможно, не скачивая файл, через протокол http определить дату создания этого файла?
3. Также наверное стоит переписать момент, где файл сначала сохраняется на жестком диске, в том месте, откуда был запущен скрипт, а затем перемещается с помощью shutil.move() в нужный каталог. Согласен, не достаточно хорошо изучил urllib, просто я еще учусь. Правильным делом будет сразу сохранять его в нужном месте.
4. Ребята из конференции мне уже подсказали, что Rhythmbox умеет все, что я тут наизобретал, прямо-таки из коробки. Но я вот думаю повесить этот скрипт в обязанности cron'у, и будет мне сачстье =)
Ну вот и все. Все желающие можете кидать в меня камни, а я постараюсь увернуться и обязательно прислушаюсь к вашим предложениям.
Ну и так, раз уж недавно взялся за изучение Python (ибо так нам проповедывал Эрик Реймонд; по ссылке он вам расскажет, откуда в сыре дырки =), и почему именно стоит брать например python, как первый язык программирования), то и решил написать маленький скрипт на этом замечательном языке.
Всем, кто не рубит в программировании, но интересно посмотреть, как это примерно выглядит и как не надо писать скрипты, так же приглашаю под кат.
Ниже представлено сие творение, построенное на костылях и залепленное
соплями, где только можно. Прошу серьезной критики.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
|
Скрипт, как обычно, сохраняется в файл с расширением .py и запускается командой:
$python script.py
Теперь давайте рассмотрим потенциальные проблемы и темные моменты, которые мне уже подсказали ребата из [email protected] (огромное им спасибо), а так же те, до коих я дошел сам, пока писал этот пост.
1. Мне кажется, или все же, если при скачивании по ссылке файл окажется 8.5 гигабайтным образом двухслойного DVD-диска, то оперативная память и своп быстро кончаться?
1 2 3 |
|
2. Можно было вполне организовать проверку полученных ссылок на выбор самого последнего выложенного подкаста. И сразу же возникает вопрос, а вообще возможно, не скачивая файл, через протокол http определить дату создания этого файла?
3. Также наверное стоит переписать момент, где файл сначала сохраняется на жестком диске, в том месте, откуда был запущен скрипт, а затем перемещается с помощью shutil.move() в нужный каталог. Согласен, не достаточно хорошо изучил urllib, просто я еще учусь. Правильным делом будет сразу сохранять его в нужном месте.
4. Ребята из конференции мне уже подсказали, что Rhythmbox умеет все, что я тут наизобретал, прямо-таки из коробки. Но я вот думаю повесить этот скрипт в обязанности cron'у, и будет мне сачстье =)
Ну вот и все. Все желающие можете кидать в меня камни, а я постараюсь увернуться и обязательно прислушаюсь к вашим предложениям.