скрипт для скачивания

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2008-12-16 7:45:11

paradox писал(а):я ручками патчил
кривые значит, в emacs'е хотя бы есть whitespace-mode для таких случаев, кой подсвечивает пробелы и табы по разному.
paradox писал(а):там кстати 2.5 питон а не 2.6
"там" это где?

Код: Выделить всё

(/usr/ports)! ls -1d lang/python??
lang/python23
lang/python24
lang/python25
lang/python26
lang/python30
или ты о PYTHON_DEFAULT_VERSION?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: скрипт для скачивания

Непрочитанное сообщение paradox » 2008-12-16 7:50:30

ручки нормальные
он идентификатора sys как видишь непонимает


там это

Код: Выделить всё

paradox@hosting[7:49:30]~/macosx> py
pydoc                   python-shared           python2.5
pydoc2.5                python-shared-config    python2.5-config
python                  python-shared2.5
python-config           python-shared2.5-config

Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2008-12-16 7:58:48

paradox писал(а):ручки нормальные
он идентификатора sys как видишь непонимает
хм?
paradox писал(а):

Код: Выделить всё

  File "./rfetch.py", line 38
    sys.stdout.flush()
    ^
IndentationError: unexpected indent
unexpected indent... перевести? Если бы не понимал, то было бы что-то вроде

Код: Выделить всё

NameError: name 'sys' is not defined
Открой словарик

Код: Выделить всё

(~). diru indent
mueller7 "Mueller English-Russian Dictionary"
indent
   [??ndent]
   1. _n.
      1: зазубрина, зубец; выемка, вырез
      2: документ с отрывным дубликатом
      3: ордер, официальное требование, заказ (на товары и т.п.)
      4: _ам. купон
      5: _полигр. абзац, отступ
      6: клеймо, отпечаток
   2. _v. [?n?dent]
      1: зазубривать; выдалбливать, вырезывать; насекать
      2: составлять документ с дубликатом (особ. отделённым линией
      отреза)
      3: выписывать ордер или требование на товары, заказывать товары;
      to indent for new machinery заказать новое оборудование
      4: реквизировать
      5: _полигр. делать абзац, отступ
"отступ" - наше

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: скрипт для скачивания

Непрочитанное сообщение paradox » 2008-12-16 8:01:40

табуляция в обеих стороках

Код: Выделить всё

            print('\r' + line % i),
                sys.stdout.flush()

Код: Выделить всё

  File "./rfetch.py", line 40
    sys.stdout.flush()
    ^
IndentationError: unexpected indent
где ошибка

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: скрипт для скачивания

Непрочитанное сообщение paradox » 2008-12-16 8:03:58

разобрался
он две табуляции не понимает
нужна токо одна

Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2008-12-16 8:06:01

Код: Выделить всё

            print('\r' + line % i),
                sys.stdout.flush()
            ^^^^
здесь! зачем отступ после print()? отступ там один на весь `if' блок

Код: Выделить всё

def status(sleep, update, line):
    for i in range(sleep, 0, -1):
        # do not print anything unless we are in foreground
        # and connected to a controlling terminal
        if os.getpgrp() == os.tcgetpgrp(0):
            print('\r' + line % i),
            sys.stdout.flush()
        time.sleep(update)

Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2008-12-16 8:07:25

paradox писал(а):он две табуляции не понимает
не совсем так. Отступы в питоне часть синтаксиса.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: скрипт для скачивания

Непрочитанное сообщение paradox » 2008-12-16 8:09:13

кто ж знал что у питона такой синтакс
как по мне так то продолжение строки print и чисто теоретически может быть записано и в одной строке с print
но это ж питон..

Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2008-12-16 8:17:45

paradox писал(а):кто ж знал что у питона такой синтакс
вот поэтому я и предлагал воспользовать patch(1) ;) Когда не знаешь синтаксиса, спасает от простых ляпов.
paradox писал(а):как по мне так то продолжение строки print и чисто теоретически может быть записано и в одной строке с print
не только теоритически; сие возможно и в питоне. Пользуйся нормальным редактором, к-ый умеет автоматически выравнивать отступы.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: скрипт для скачивания

Непрочитанное сообщение Alex Keda » 2008-12-16 9:40:44

снести чтоли нахрен питон этот с сервера... =)))
придумали дЭбилы себе поделие, а теперь народ его радостно юзает...
=========
ну чего вы в нём нашли? на шелле - меньше и красивей, нет, на питон потащщили...
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2008-12-16 10:41:13

lissyara писал(а):на шелле - меньше и красивей, нет, на питон потащщили...
можно попробовать на perl'е, но только после того как в портах появится 5.10.

ps, че-то мне в питоне жутко не нравится интерфейс в ncurses, без очистки экрана фиг поменяешь цвет текста. Или я слепой, и не могу найти аналог tput(1).

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: скрипт для скачивания

Непрочитанное сообщение Alex Keda » 2008-12-16 10:43:49

э... в портах вроде 5.8 а не 5.08 -))
=====
а вообще - за перлом не слежу =)
Убей их всех! Бог потом рассортирует...

MAK
ст. сержант
Сообщения: 344
Зарегистрирован: 2008-09-17 2:23:21

Re: скрипт для скачивания

Непрочитанное сообщение MAK » 2008-12-16 17:16:35

научите еще ваши скрипты таймер грабить
он там в js, одной строкой
var c=42;

Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2008-12-16 19:52:26

MAK писал(а):научите еще ваши скрипты таймер грабить
он там в js, одной строкой
var c=42;
питоновский это и делает. Вот эта строчка

Код: Выделить всё

    counter = int(re.search('var\s*c\s*=\s*(\d*)', data).group(1))

Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2008-12-18 0:45:47

Гость писал(а):че-то мне в питоне жутко не нравится интерфейс в ncurses, без очистки экрана фиг поменяешь цвет текста. Или я слепой, и не могу найти аналог tput(1).
ага, нашел

Код: Выделить всё

import curses

def getcap(*caps):
    curses.setupterm()

    tc = []
    for cap in caps:
        try:
            if type(cap) is list:
                tc.append(curses.tparm(curses.tigetstr(cap[0])
                                       .decode(), *cap[1:]).decode())
            else:
                tc.append(curses.tparm(curses.tigetstr(cap)
                                       .decode()).decode())
        except AttributeError:
            tc.append('')

    return(tc)

af_red, me = getcap(['setaf', curses.COLOR_RED], 'sgr0')

print(af_red, 'This text is red', me, 'and this one is not.')

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: скрипт для скачивания

Непрочитанное сообщение Grishun_U_S » 2009-01-04 16:28:37

а нету ли чего-нибудь наподобие

Код: Выделить всё

http://wiki.lissyara.su/wiki/Rapidfetch.sh
только для wget, а не curl?
Изображение

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: скрипт для скачивания

Непрочитанное сообщение Alex Keda » 2009-01-04 18:15:35

чем курл плох?
его на сервере за собой обязательно ктонить притащщит - тот же php
на десктопе - тоже.

Код: Выделить всё

HP# pkg_delete curl-7.18.0
pkg_delete: package 'curl-7.18.0' is required by these other packages
and may not be deinstalled:
git-1.6.0.6
gnash-0.8.4_1
gnupg-2.0.9_2
gpgme-1.1.5_1
kde-3.5.10
kdemultimedia-3.5.10
kdepim-3.5.10
kdeutils-3.5.10
vorbis-tools-1.2.0_3,3
xine-0.99.5_1
HP#     

Код: Выделить всё

hosting# pkg_delete curl-7.18.0
pkg_delete: package 'curl-7.18.0' is required by these other packages
and may not be deinstalled:
git-1.6.0.6
php5-curl-5.2.8
hosting#   
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: скрипт для скачивания

Непрочитанное сообщение Grishun_U_S » 2009-01-04 18:34:23

lissyara писал(а):чем курл плох?
его на сервере за собой обязательно ктонить притащщит - тот же php
внатуре уже стоит (=
Изображение

Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2009-01-04 19:30:27

кстати, питоновский скрипт использует fetch(1) вместо curl(1) ;)
правда python3.0 пока еще нигде в зависимостях не попадается, в отличие от python2.5

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: скрипт для скачивания

Непрочитанное сообщение paradox » 2009-01-05 13:25:44

та не все работает

Код: Выделить всё

paradox@hosting[13:23:28]~/macosx> ./rfetch.py http://rapidshare.com/files/68419
850/Novogodnee_puteshestvie.part03.rar
http://rs175cg.rapidshare.com/files/68419850/3779739/Novogodnee_puteshestvie.part03.rar
Novogodnee_puteshestvie.part03.rar              2% of   95 MB  184 kBps 08m59s^C
rfetch.py: transfer interrupted

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: скрипт для скачивания

Непрочитанное сообщение schizoid » 2009-01-05 13:28:00

та то я тупанул, поставил 1 секунду ждать :)
ядерный взрыв...смертельно красиво...жаль, что не вечно...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: скрипт для скачивания

Непрочитанное сообщение paradox » 2009-01-05 13:33:52

так там скрипт сам парсит и узнает скоко времени ожидать

Гость
проходил мимо

Re: скрипт для скачивания

Непрочитанное сообщение Гость » 2009-01-05 14:20:25

paradox писал(а):та не все работает
ась? а че не работает? судя по выводу ты нажал Ctrl+C. Или ты хочешь сказать, что файл не остается? Тогда добавь -R к опциям fetch(1).
paradox писал(а):

Код: Выделить всё

paradox@hosting[13:23:28]~/macosx> ./rfetch.py http://rapidshare.com/files/68419
850/Novogodnee_puteshestvie.part03.rar
http://rs175cg.rapidshare.com/files/68419850/3779739/Novogodnee_puteshestvie.part03.rar
Novogodnee_puteshestvie.part03.rar              2% of   95 MB  184 kBps 08m59s^C
rfetch.py: transfer interrupted
судя по всему ты используешь старую версию, т.к. в новой я добавил к fetch опцию -v, чтобы показывалась ссылка на файл для докачки.

Код: Выделить всё

(~). rfetch.py http://rapidshare.com/files/68419850/Novogodnee_puteshestvie.part03.rar
looking up rs175tl2.rapidshare.com
connecting to rs175tl2.rapidshare.com:80
requesting http://rs175tl2.rapidshare.com/files/68419850/3781408/Novogodnee_puteshestvie.part03.rar
remote size / mtime: 100431872 / 0
Novogodnee_puteshestvie.part03.rar              3% of   95 MB  182 kBps 08m52s^CTraceback (most recent call last):
Novogodnee_puteshestvie.part03.rar              3% of   95 MB  184 kBps 08m43s
  File "/home/luser/bin/rfetch.py", line 115, in <module>
fetch: transfer interrupted
    main()
  File "/home/luser/bin/rfetch.py", line 44, in main
    fetch(url)
  File "/home/luser/bin/rfetch.py", line 15, in fetch
    subprocess.call(['fetch', '-v', url])
  File "/usr/local/lib/python3.0/subprocess.py", line 399, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/local/lib/python3.0/subprocess.py", line 1128, in wait
    pid, sts = os.waitpid(self.pid, 0)
KeyboardInterrupt
Exit 1
да и отсчет секунд там раскрашен

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: скрипт для скачивания

Непрочитанное сообщение paradox » 2009-01-05 14:26:01

казнить нельзя помиловать
та не, все работает

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: скрипт для скачивания

Непрочитанное сообщение paradox » 2009-01-05 14:27:51

ps
#! /usr/bin/env python-shared2.5
поскольку у лиса
потому юзаю не тот что уже исправленый для 3.0

но мне и того хватает))