Outils pour utilisateurs

Outils du site


python:les_modules

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
python:les_modules [2014/01/30 20:45] – [Fabric] rootpython:les_modules [2024/12/20 12:41] (Version actuelle) – [Fabric] admin
Ligne 237: Ligne 237:
  
 env.roledefs = { env.roledefs = {
-        'eth': ['molx1321', 'molx1322', 'molx1323', 'molx1324', 'molx1325', 'molx1326', 'molx1327', 'molx1328', 'molx1329', 'molx1330', 'molx1331', 'molx1332', 'molx1333', 'molx1334', 'molx1335', 'molx1336' ], +    'eth': ['svr1', 'svr2', 'svr3', 'svr4', 'svr5', 'svr6', 'svr7', 'svr8', 'svr9', 'svr10', 'svr11', 'svr12', 'svr13', 'svr14', 'svr15', 'svr16'], 
-        'adm' : ['molx1321-adm', 'molx1322-adm', 'molx1323-adm', 'molx1324-adm', 'molx1325-adm', 'molx1326-adm', 'molx1327-adm', 'molx1328-adm', 'molx1329-adm', 'molx1330-adm', 'molx1331-adm', 'molx1332-adm', 'molx1333-adm', 'molx1334-adm', 'molx1335-adm', 'molx1336-adm' ], +    'adm': ['svr1-adm', 'svr2-adm', 'svr3-adm', 'svr4-adm', 'svr5-adm', 'svr6-adm', 'svr7-adm', 'svr8-adm', 'svr9-adm', 'svr10-adm', 'svr11-adm', 'svr12-adm', 'svr13-adm', 'svr14-adm', 'svr15-adm', 'svr16-adm'], 
-        'ib' : ['molx1321-ib', 'molx1322-ib', 'molx1323-ib', 'molx1324-ib', 'molx1325-ib', 'molx1326-ib', 'molx1327-ib', 'molx1328-ib', 'molx1329-ib', 'molx1330-ib', 'molx1331-ib', 'molx1332-ib', 'molx1333-ib', 'molx1334-ib', 'molx1335-ib', 'molx1336-ib' ], +    'ib': ['svr1-ib', 'svr2-ib', 'svr3-ib', 'svr4-ib', 'svr5-ib', 'svr6-ib', 'svr7-ib', 'svr8-ib', 'svr9-ib', 'svr10-ib', 'svr11-ib', 'svr12-ib', 'svr13-ib', 'svr14-ib', 'svr15-ib', 'svr16-ib'], 
-        'imm' : ['molx1321-imm', 'molx1322-imm', 'molx1323-imm', 'molx1324-imm', 'molx1325-imm', 'molx1326-imm', 'molx1327-imm', 'molx1328-imm', 'molx1329-imm', 'molx1330-imm', 'molx1331-imm', 'molx1332-imm', 'molx1333-imm', 'molx1334-imm', 'molx1335-imm', 'molx1336-imm' ], +    'imm': ['svr1-imm', 'svr2-imm', 'svr3-imm', 'svr4-imm', 'svr5-imm', 'svr6-imm', 'svr7-imm', 'svr8-imm', 'svr9-imm', 'svr10-imm', 'svr11-imm', 'svr12-imm', 'svr13-imm', 'svr14-imm', 'svr15-imm', 'svr16-imm'], 
-        'web_adm' : ['sw-eth','sw-ib'],+    'web_adm': ['sw-eth', 'sw-ib'],
 } }
  
Ligne 401: Ligne 401:
         os.system('firefox https://%s/' % env.host)         os.system('firefox https://%s/' % env.host)
 </code> </code>
 +
 +===== readline =====
 +
 +<code python readline.py>
 +import readline, signal
 +prompt = 'GigiX > '
 +
 +def signal_handler(signal, frame):
 +    print
 +    input(prompt)
 +    return
 +
 +signal.signal(signal.SIGINT, signal_handler)
 +readline.parse_and_bind("tab: complete")
 +
 +class completer:
 +        def __init__(self, tree):
 +            self.tree = tree
 +
 +        def _parser(self, line, search):
 +            if (search is None) or (callable(search) == True):
 +                return []
 +            elif len(line) == 0:
 +                return [x for x in search]
 +            elif len(line) == 1 and readline.get_line_buffer()[-1] != ' ':
 +                return ['%s ' % x for x in search if x.startswith(line[0])]
 +            else:
 +                return self._parser(line[1:], search[line[0]])
 +            return []
 +
 +        def complete(self, text, state):
 +            line = readline.get_line_buffer().split()
 +            results = self._parser(line, self.tree)
 +            return results[state]
 +
 +def linux_sles_12():
 +    print('Je suis Linux SLES 12')
 +
 +tree = {
 +    'unix': {
 +        'solaris': {
 +            '8':None,
 +            '9':None,
 +            '10':None,
 +            '11':None,
 +        }
 +    },
 +    'linux': {
 +        'debian': {
 +            'buzz':None,
 +            'rex':None,
 +            'bo':None,
 +            'hamm':None,
 +            'slink':None,
 +            'patato':None,
 +            'woody':None,
 +            'sarge':None,
 +            'etch':None,
 +            'lenny':None,
 +            'squeeze':None,
 +            'wheezy':None,
 +            'jessie':None,
 +    },
 +        'RHEL': {
 +            '3':None,
 +            '4':None,
 +            '5':None,
 +            '6':None,
 +            '7':None,
 +        },
 +        'SLES': {
 +            '9':None,
 +            '10':None,
 +            '11':None,
 +            '12':linux_sles_12,
 +        }
 +    },
 +    'windows': {
 +        'xp':None,
 +        'vista':None,
 +        'seven':None,
 +        '8':None,
 +        '10':None,
 +    }
 +}
 +
 +readline.set_completer(completer(tree).complete)
 +l = ''
 +while l != ('quit' or 'exit'):
 +    try:
 +            l = input(prompt)
 +            eval("tree['"+"']['".join(l.split())+"']()")
 +    except EOFError:
 +            print('Bye')
 +            break
 +    except:
 +        continue
 +</code>
 +
 ===== Twisted ===== ===== Twisted =====
  
Ligne 428: Ligne 527:
 import ctypes, ctypes.util import ctypes, ctypes.util
  
-ctypes.cdll.LoadLibrary(ctypes.util.find_library('c'))+libc=ctypes.cdll.LoadLibrary(ctypes.util.find_library('c'))
 libc.printf("uid = %d - gid = %d\n", libc.geteuid(), libc.getgid()) libc.printf("uid = %d - gid = %d\n", libc.geteuid(), libc.getgid())
 </code> </code>
python/les_modules.1391114751.txt.gz · Dernière modification : 2014/01/30 20:45 de root