#!/usr/bin/env python # vim: set fileencoding=UTF-8: # Copyright 2013 Red Hat, Inc. # Author: Jan Pokorný # Distributed under GPLv2+; generated content under CC-BY-SA 3.0 # (to view a copy, visit http://creativecommons.org/licenses/by-sa/3.0/) """Edge library incl. visual aspects""" from lib import LibEdge class DBUS(LibEdge): def __init__(self, *args, **kwargs): kwargs.setdefault('style', 'dotted') super(DBUS, self).__init__(*args, **kwargs) class OddjobExec(DBUS): def __init__(self, *args, **kwargs): kwargs.setdefault('label', 'oddjob\nexec') super(OddjobExec, self).__init__(*args, **kwargs) class HTTPS(LibEdge): def __init__(self, *args, **kwargs): kwargs.setdefault('style', 'bold') super(HTTPS, self).__init__(*args, **kwargs) class LuciHTTPS(HTTPS): def __init__(self, *args, **kwargs): kwargs.setdefault('label', 'port 8084') super(LuciHTTPS, self).__init__(*args, **kwargs) class ApplicationSpecificProtocol(LibEdge): def __init__(self, *args, **kwargs): kwargs.setdefault('style', 'dashed') super(ApplicationSpecificProtocol, self).__init__(*args, **kwargs) class RICCIRPC(ApplicationSpecificProtocol): def __init__(self, *args, **kwargs): kwargs.setdefault('label', 'port 11111') super(RICCIRPC, self).__init__(*args, **kwargs) class SNMP(ApplicationSpecificProtocol): def __init__(self, *args, **kwargs): kwargs.setdefault('label', 'port 161') super(SNMP, self).__init__(*args, **kwargs) class CIM(ApplicationSpecificProtocol): def __init__(self, *args, **kwargs): kwargs.setdefault('label', 'port 898[89]') super(CIM, self).__init__(*args, **kwargs) class Consume(LibEdge): def __init__(self, *args, **kwargs): kwargs.setdefault('color', 'darkgreen') kwargs.setdefault('fontcolor', 'darkgreen') super(Consume, self).__init__(*args, **kwargs) class ConsumeReversed(Consume): def __init__(self, *args, **kwargs): kwargs.setdefault('dir', 'back') super(ConsumeReversed, self).__init__(*reversed(args), **kwargs) class Produce(LibEdge): def __init__(self, *args, **kwargs): kwargs.setdefault('color', 'orangered') kwargs.setdefault('fontcolor', 'orangered') super(Produce, self).__init__(*args, **kwargs) class Delegate(LibEdge): def __init__(self, *args, **kwargs): kwargs.setdefault('color', 'navy') kwargs.setdefault('fontcolor', 'navy') #kwargs.setdefault('dir', 'both') super(Delegate, self).__init__(*args, **kwargs) class FencedBy(LibEdge): def __init__(self, *args, **kwargs): kwargs.setdefault('color', 'red') kwargs.setdefault('dir', 'back') super(FencedBy, self).__init__(*args, **kwargs) # peer-to-peer (1:1 hence constraint='false') class Exchange(LibEdge): def __init__(self, *args, **kwargs): kwargs.setdefault('color', 'saddlebrown') kwargs.setdefault('fontcolor', 'saddlebrown') kwargs.setdefault('dir', 'both') kwargs.setdefault('constraint', 'false') super(Exchange, self).__init__(*args, **kwargs) # data bus class Databus(Exchange): def __init__(self, *args, **kwargs): kwargs.setdefault('color', 'saddlebrown') kwargs.setdefault('fontcolor', 'saddlebrown') super(Databus, self).__init__(*args, **kwargs) # mixing class DelegateOddjobExec(Delegate, OddjobExec): pass class DelegateRICCIRPC(Delegate, RICCIRPC): pass class DelegateLuciHTTPS(Delegate, LuciHTTPS): pass class DelegateSNMP(Delegate, SNMP): pass class DelegateCIM(Delegate, CIM): pass