Projet

Général

Profil

upload2zephir.py

Christophe Dezé, 08/02/2017 15:11

Télécharger (2 ko)

 
1
#!/usr/bin/env python
2
# -*- coding: utf-8 -*-
3

    
4
import base64
5
import glob
6
import ssl
7
import xmlrpclib
8

    
9

    
10
def upload(login, password, id_variante, src):
11
    """
12
    test
13
    """
14

    
15
    login='admin-eole'
16
    passwd=file('/root/admin-eole.pwd').readline().split('\n')[0]
17
    adresse_zephir='localhost'
18
    zephir = xmlrpclib.ServerProxy('http://%s:%s@%s:7081' % (login,passwd,adresse_zephir))
19
    #adddicomodule
20
    #deldicovariante
21

    
22
    for name in glob.glob(src + '/dicos/*.xml'):
23
        dico = name.split('/')[-1]
24
        dico_name = dico
25
        with open(name) as dicoxml:
26
            b64dico = base64.b64encode(dicoxml.read())
27
            zephir.dicos.add_dict(11, dico_name, b64dico)
28
        zephir.dicos.add_variante(id_variante, 'local', dico_name)
29

    
30
    dico_files = {}
31

    
32
    persos = []
33
    for name in glob.glob(src + '/fichiers_perso/*'):
34
        f = name.split('/')[-1]
35
        with open(name) as fperso:
36
            fbase64 = base64.b64encode(fperso.read())
37
        persos.append([f, fbase64])
38

    
39
    dico_files['persos_var'] = persos
40

    
41
    fichiers = []
42
    for name in glob.glob(src + '/fichiers_zephir/*'):
43
        f = name.split('/')[-1]
44
        with open(name) as fzephir:
45
            fbase64 = base64.b64encode(fzephir.read())
46
        fichiers.append([f, fbase64])
47

    
48
    dico_files['fichiers_var'] = fichiers
49

    
50
    patchs = []
51
    for name in glob.glob(src + '/patchs/*'):
52
        f = name.split('/')[-1]
53
        with open(name) as fpatch:
54
            fbase64 = base64.b64encode(fpatch.read())
55
        patchs.append([f, fbase64])
56

    
57
    dico_files['patchs_var'] = patchs
58

    
59
    dico_files['dicos_var'] = []
60
    fichiers = zephir.modules.fichiers_variante(321)[1]
61
    zephir.modules.del_files(id_variante, dico_files)
62

    
63
    retour = zephir.modules.add_files(id_variante, dico_files)
64
    print retour
65

    
66
    rights = {}
67
    with open(src + '/droits_zephir') as f:
68
        for line in f:
69
            line.rstrip().split('#')
70
            rights[line[0]] = [line[1], line[2], line[3], line[4]]
71

    
72
    zephir.modules.set_variante_perms(id_variante, rights)