metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-02-02 11:45 pm

Тащемта Python

http://www.cacodaemon.org/content/weather.py (или с подсветкой: http://codepad.org/FxCWtYFD)

класс Daemon взят отсюда: http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/

Живет демоном, читает данные с ком-порта, парсит, складирует в rrdtool, рисует графики.
Надо бы подумать, как правильно указывать пути для файлов и картинок, где кошерно хранить конфиг, как выселить все константы и подписи для датчиков в конфиг, и как прикрутить к этому мини-сервис для раздачи текущей информации с датчиков по сети.
Заняло 5 часов времени, сильно меньше, чем аналогичное на хаскеле :)

PS: о сторонних либах в хаскеле: http://kkirsanov.livejournal.com/381144.html
Это фактически основная причина, почему хаскель занял настолько больше времени.

[identity profile] justy-tylor.livejournal.com 2012-02-02 09:19 pm (UTC)(link)
Админский конфиг кошерно хранить отдельным файлом на том же Python.
class NormalSettings:
    ...

class BloodyEnterpriseSettings:
    achtung = True
    ...

[identity profile] eg-fread.livejournal.com 2012-02-02 09:49 pm (UTC)(link)
А можно ещё вот так (http://pastie.org/3305223).

[identity profile] hls-1141.livejournal.com 2012-02-02 09:59 pm (UTC)(link)
>>> path = rom+'.rrd'
>>> path = os.path.join(self.rrdpath,path)

Насколько я помню, строки в петоне неизменяемые.
path = os.path.join(self.rrdpath, rom.join('.rrd'))
Edited 2012-02-02 22:03 (UTC)

[identity profile] theiced.livejournal.com 2012-02-02 11:28 pm (UTC)(link)
а теперь на руби, чо