/
createCover.py
74 lines (63 loc) · 1.73 KB
/
createCover.py
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import getopt
try:
from scribus import *
except ImportError:
print("Ce script doit être exécuté depuis Scribus.")
sys.exit(1)
syntaxe = "scribus -g -ns <inputfile.sla> -py " + sys.argv[0] + " <sortie.pdf> <fichier.data>"
pdf_sortie = ''
fichier_data = ''
for opt in sys.argv[1:]:
if opt.endswith(".pdf"):
pdf_sortie = opt
elif opt.endswith(".data"):
fichier_data = opt
else:
print("Paramètre non reconnu ignoré: {}".format(opt))
if pdf_sortie == "" or fichier_data == "":
print("Les fichiers .pdf de sortie et .data de données doivent être spécifiés")
print(syntaxe)
sys.exit()
data = open(fichier_data)
titre = data.readline()
auteur = data.readline()
contributeur = data.readline()
editeur = data.readline()
isbn = data.readline()
resume = data.readline()
data.close()
resume = resume.replace(" \\par ", "\r")
dirtyDoc = False
def changeText(obj, text):
text = text.rstrip("\r\n")
if text == "":
text = " "
deselectAll()
selectObject(obj)
selectText(0, getTextLength())
if text != getText():
deleteText()
insertText(text, -1)
return True
return False
if haveDoc():
dirtyDoc |= changeText("Auteur", auteur)
dirtyDoc |= changeText("AuteurDos", auteur)
dirtyDoc |= changeText("AuteurTranche", auteur)
dirtyDoc |= changeText("Titre", titre)
dirtyDoc |= changeText("TitreDos", titre)
dirtyDoc |= changeText("TitreTranche", titre)
dirtyDoc |= changeText("Contributeur", contributeur)
dirtyDoc |= changeText("Éditeur", editeur)
dirtyDoc |= changeText("ÉditeurDos", editeur)
dirtyDoc |= changeText("Résumé", resume)
if dirtyDoc:
saveDoc()
pdf = PDFfile()
pdf.file = pdf_sortie
pdf.save()
else:
print("Ce script nécessite un fichier ouvert.")