Вместо словаря вы также можете использовать namedtuple из модуля коллекций, что облегчает доступ.
например:
#using dictionary
variables = {}
variables["first"] = 34
variables["second"] = 45
print variables["first"], variables["second"]
#using namedtuple
Variables = namedtuple('Variables', ['first', 'second'])
vars = Variables(34, 45)
print vars.first, vars.second
Вы хотите, чтобы определить, когда размер загруженного файла изменяется от 0 до положительного значения. Насколько я знаю, это невозможно сделать с помощью javascript - вам нужен плагин, который может получить доступ к файловой системе клиента.
Рекомендуемая работа: Создайте сеанс для загрузки. Попросите клиента опросить сервер о статусе загрузки. Это может быть «не существует», «не начато», «начато», «закончено». Вам нужно работать на стороне сервера, чтобы сохранить и обновить статус загрузки, а также структуру AJAX.
Если бы я был вами, я бы сделал AJAX-вызов на сервере с информацией, сгенерировал файл, а затем вернул имя файла / id / what обратно в javascript, а затем сделает window.location чем-то вроде download.php? id = x (но файл уже сгенерирован, поэтому он просто устанавливает заголовки и считывает их), после чего вы можете снова включить отправку.
Простейшим решением было бы оценить время (щедро) и сделать это таким образом. Это взлом, но он дает желаемый эффект. Другой вариант может заключаться в том, чтобы отправить форму с обратным вызовом с помощью Ajax, чтобы отправить форму и вернуть генератору данные на вызывающую страницу. http://www.jquery.com/ может быть хорошим местом для запуска этой опции.