-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathliensData.py
More file actions
52 lines (48 loc) · 1.5 KB
/
liensData.py
File metadata and controls
52 lines (48 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
# comparer la version sur mon ordi du fichier liens-data.js et la nouvelle version téléchargée
import json
from fileCls import File
from fileLocal import pathLienData
import loggerFct as log
jsonTitleB = 'r/Downloads\\liens-data.js'
jsonTitleC = 'b/liens-data.js'
jsonFileA = File (pathLienData)
jsonFileA.read()
jsonDataA = jsonFileA.readJson()
jsonFileB = File (jsonTitleB)
jsonFileB.read()
jsonDataB = jsonFileB.readJson()
modif = False
for b in jsonDataB.keys():
if b not in jsonDataA.keys():
print ('nouvelle catégorie', b)
jsonDataA[b] = jsonDataB[b]
modif = True
elif jsonDataB[b] != jsonDataA[b]:
for c in jsonDataB[b]:
if c not in jsonDataA[b]:
modif = True
nouveau = True
for a in jsonDataA[b]:
if a['name'] == c['name']: nouveau = False
if nouveau:
print ('nouvelle entrée dans', b, c['name'])
jsonDataA[b].append (c)
else:
print ('entrée modifiée dans', b, c['name'])
c['name'] = c['name'] +' double'
jsonDataA[b].append (c)
jsonDataA[b] = sorted (jsonDataA[b], key=lambda d: d['name'])
if modif:
jsonFileC = File (pathLienData)
jsonFileC.text = json.dumps (jsonDataA)
jsonFileC.replace ('}, {', ' },\n\t{ ')
jsonFileC.replace ('}], "', ' }\n],\n"')
jsonFileC.replace ('": [{"', '": [\n\t{ "')
jsonFileC.text = 'var linkList ={\n' + jsonFileC.text[1:]
jsonFileC.replace ('}]}', ' }\n]};')
jsonFileC.write()
# jsonFileA.remove()
else: print ("les fichiers sont identiques")
jsonFileB.remove()