Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

# (номер, тип операции, название операции, номер FTP-сервера, папка-источник, имя архива, шаблон, папка назначения)

 

operations = [

(0, 'get', u'Обновить данные', 0, 'downdata', 'basa.zip', ('*',), 'data'),

(1, 'put', u'Отправить реестры', 0, srcdir, 'reestr.zip', ('*.db', '*.px',), 'updata'),

(2, 'get', u'Обновить программу', 0, 'ftpman', 'ftpman.zip', ('*',), 'bin'),

(3, 'get', u'Получить README.TXT', 1, 'pub/FreeBSD', 'README.TXT', ('*',), '.'),

]

Наиболее важными здесь являются список FTP-серверов и список операций. Код в начале сценария, помеченный как «предвычисляемый», нужен для динамического определения значения некоторых переменных, подставляемых в списки. В нашем примере в нем вычисляется значение переменной srcdir, которая задает папку-источник данных, используемую в операции 1 («Отправить реестры»). В качестве источника должна использоваться папка с именем вида Pay_NN, где NN – двузначное число, с наибольшим значением NN. Для того чтобы определить эту папку на данный момент, и нужен этот «предвычисляемый» код.

Список FTP-серверов задается как список кортежей, каждый из которых содержит адрес сервера, имя и пароль пользователя для доступа на этот сервер. В дальнейшем обращение к данным по тому или иному серверу выполняется по порядковому номеру записи (начиная с нуля). Например, имя пользователя, которое должно использоваться для доступа на ftp.freebsd.org, можно будет получить так: «ftpservers[1][1]».

Аналогично задается список операций. Назначения полей приведены в комментарии. Номер операции здесь указываем явно – так будет удобнее в дальнейшем. Второе поле задает саму операцию – получение данных (get) или отправка (put).

Конечно, формат нашего конфигурационного файла способен напугать кого угодно, однако пользователям не придется с ним работать, а администратор как-нибудь разберется.

Главный сценарий manager.py

Теперь попытаемся объединить все это в законченное приложение:

# -*- coding: cp866 -*-

from Tkinter import *

from myftp import getftp, putftp

VERBOSE = 1

 

if VERBOSE: print '================> manager.py запущен.'

 

# Служебно-декоративная функция. Нужна, чтобы менять текст метки в зависимости от состояния

def chStat(messvar, color, btn, btnrelief):

    # изменяем границу кнопки так, чтобы в момент выполнения операции она выглядела вдавленной –

    # исключительно «декоративный» эффект

    btn.config(relief = btnrelief)

    # меняем текст метки

    status.config(text = messvar)

    # меняем цвет метки

    status.config(fg = color)


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100