1
2
3 u"""
4 Транспорт - это объект, доставляющий данные из удаленного источника. Здесь
5 описан базовый класс для всех транспортов (L{Transport}) и фабрика
6 (L{TransportFactory}), позволяющая создавать транспорт по его имени.
7 """
8
9 __author__ = "Zasimov Alexey"
10 __email__ = "zasimov-a@yandex-team.ru"
11
12 from stocks3.core.config import Configurable
13
14
16
17
19 u"""
20 Транспорт доставляет данные из удаленного источника в указанное место
21 (place).
22 """
23
24 places = []
25
26
32
34 u"""
35 Передает данные из источника в место place. Есть вероятность, что
36 транспорт будет передавать данные в нескольких файлах. То есть place -
37 это либо файл, либо директория.
38
39 Если транспорт работает только с конкретным местом, он должен
40 генерировать исключение, извещающее о нестыковках.
41
42 Если транспорт отрабатывает правильно, то метод завершается без
43 исключений. Иначе генерируется исключение.
44
45 @exception TransportError: Генерируется, если транспорт не может
46 работать с указанным местом (place).
47 """
48 for validPlace in self.places:
49 if not isinstance(place, validPlace):
50 raise TransportError("Invalid place: %s" % str(place))
51
53 u"""
54 Транспорт должен запоминать ресурсы, которые занял. При вызове метода
55 clean занятые ресурсы освобождаются.
56 """
57 pass
58
60 u"""
61 Вспомогательная функция. В 99% случаев должна отрабатывать без ошибок.
62 """
63 self.transfer(place)
64 self.clean()
65