# -*- coding: utf-8 -*- # # common.py # --------- # # Copyright (C) 2007 Jeremie Dimino # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. '''Fichier inclu par tous les scripts du plugin Python de bcfg2''' import sys sys.path.append('/usr/scripts/gestion') def comment(line): '''Ecrit un commentaire''' out(comment_start + " " + line) emacs_mode = "conf-unix" def header(desc=None, mode=None): '''Ecrit une en-tete de fichier avec un commentaire''' comment("-*- mode: %s; coding: utf-8 -*-" % (mode or emacs_mode)) comment("") comment("Fichier gere par BCfg2 (avec le plugin Python)") comment("") if desc: lines = desc.split('\n') if lines[-1] == "": lines.pop() for line in lines: comment(line) out() def var(name, value, doc=None): '''Ecrit la definition d'une variable''' if doc: comment(doc) out("%s = %s" % (name, value)) # Le nom d'hote court, la partie avant le premier '.' hostname = metadata.hostname.split('.',1)[0] # Le nom d'hote sur le vlan public pubhostname = hostname + ".crans.org" # Le nom d'hote sur le vlan adm admhostname = hostname + ".adm.crans.org" # Le nom d'hôte sur le vlan wifi wifihostname = hostname + ".wifi.crans.org" def has(group): return group in metadata.groups def yesno(b): if b: return "yes" else: return "no" def onoff(b): if b: return "on" else: return "off" def outl(line): out(line)