Browse the code
| Revision log Information on the revision | |
|---|---|
| Revision: | 79 (differences) |
| Author: | ekd |
| Log message: |
gui_modules_image/divers/image_divers_pour_le_web.py Changement d'une donnée pour la prévisualisation du résultat pour le cas de la non sélection de l'ombre portée. |
| Change revision: | |
0
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
#! /usr/bin/python # -*- coding: utf-8 -*- import os, sys, shutil, locale #################################################################### # Script pour installer/mettre à jour/désisntaller EKD sur la # machine (et ce en tant qu'administrateur). Ce script a été crée # par Lama Angelo et est mis en GPL v3. Pour la licence référez-vous # à l'entête contenu dans le fichier ekd_gui.py #################################################################### # Installation/Mise à jour: # ------------------------- # Pour installer EKD en mode administrateur, procédez comme suit: # 1) Après avoir téléchargé ekd_linux_source_numéro-de-version_date-de-version.tar.gz, # déposez l'archive dans votre /home/utilisateur et dé-tar-gzippez la --> tapez # dans la console: tar zxvf ekd_linux_source_numéro-de-version_date-de-version.tar.gz # 2) Entrez dans le répertoire, tapez ce coup-ci dans la console: # cd ekd_linux_source_numéro-de-version_date-de-version/ # 3) Installez maintenant en mode administrateur, on tape dans la console ... # * Pour les distributions à base de sudo: # sudo python install_ekd_linux_admin.py (entrez le mot de passe de # l'utilisateur administrateur) # * Pour les distribution n'utilisant pas sudo: # su (entrez le mot de l'administrateur) # python install_ekd_linux_admin.py # .... et suivez la procédure décrite à l'écran # Désinstallation: # ---------------- # 1) Allez de nouveau dans le répertoire d'EKD # --> cd ekd_linux_source_numéro-de-version_date-de-version/ # 2) Tapez dans la console en mode administrateur, ... # * Pour les distributions à base de sudo: # sudo python install_ekd_linux_admin.py (entrez le mot de passe de # l'utilisateur administrateur) # * Pour les distribution n'utilisant pas sudo: # su (entrez le mot de l'administrateur) # python install_ekd_linux_admin.py # .... et suivez la procédure s'affichant à l'écran. #################################################################### class InstDesinstEKD(object): def __init__(self): # Nom self.nom = 'EKD' # Version self.version = '2.0.8' # Version de la locale (fr pour langue française) self.langue = locale.getdefaultlocale()[0][:2] # Conditions pour la langue (et textes dans les variables) if self.langue == 'fr': # français # Menu entete_1 = "INSTALLATION/MISE A JOUR/DESINSTALLATION D'%s \nEN VERSION %s POUR LINUX" annonce_inst_maj = u"* Tapez 1 sur le clavier pour installer ou faire une mise à jour" annonce_desinst = u"* Tapez 2 sur le clavier pour désinstaller" annonce_quitter = u"* Tapez 0 sur le clavier pour QUITTER sans rien faire" annonce_choix = u"Quel est votre choix ; 1, 2 or 0 (?):" # Installation self.inst_entete = "INSTALLATION OU MISE A JOUR D'%s POUR LINUX ..." self.creat_rep_ekd = u"* Création du répertoire /usr/share/ekd: OK" self.copie_fich_rep_ekd = u"* Copie des fichiers et répertoires dans /usr/share/ekd: OK" self.verif_pres_exec_ekd = u"* Vérification de la présence de /usr/bin/ekd: OK" self.racc_ekd = u"* Creation du raccourci pour l'éxécution de \n%s en version %s: OK" self.inst_terminee = "INSTALLATION OU MISE A JOUR DE %s %s TERMINEE !." self.inst_prob_1 = "IL Y A UN PROBLEME !!!:" self.int_prob_2 = "VOUS AVEZ DU ELIMINER PAR ACCIDENT LE FICHIER /usr/bin/ekd," self.int_prob_3 = "POUR RESOUDRE CELA, REINSTALLEZ ... ET LE FICHIER SERA DE NOUVEAU" self.int_prob_4 = "CREE." # Désinstallation self.desinst_entete = "DESINSTALLATION D'%s VERSION %s \nPOUR LINUX" self.elimin_racc_1 = u"* Elimination du raccourci pour %s: OK" self.elimin_racc_2 = u"* Elimination du fichier /usr/share/applications/ekd.desktop:\n--> CE FICHIER N'EXISTE PAS OU A DEJA ETE SUPPRIME !!!" self.elimin_usr_share_ekd_1 = u"* Elimination du répertoire /usr/share/ekd: OK" self.elimin_usr_share_ekd_2 = u"* Elimination du répertoire /usr/share/ekd:\n--> CE REPERTOIRE N'EXISTE PAS OU A DEJA ETE SUPPRIME !!!" self.elimin_usr_bin_ekd_1 = u"* Elimination du fichier /usr/bin/ekd: OK" self.elimin_usr_bin_ekd_2 = u"* Elimination du fichier /usr/bin/ekd:\n--> CE FICHIER N'EXISTE PAS OU A DEJA ETE SUPPRIME !!!" self.desinst_terminee = "DESINSTALLATION D'%s %s TERMINEE !." self.desinst_prob_1 = "IL Y A UN PROBLEME !!!." elif self.langue == 'es': # espagnol # Menu entete_1 = u"INSTALACIÓN/ACTUALIZACIÓN/ELIMINACIÓN DE %s \nEN VERSIÓN %s PARA LINUX" annonce_inst_maj = u"* Pulse 1 en el teclado para instalar o hacer una actualización" annonce_desinst = u"* Pulse 2 en el teclado para eliminar" annonce_quitter = u"* Pulse 0 en el teclado para SALIR sin hacer nada" annonce_choix = u"Seleccione 1, 2 or 0 :" # Installation self.inst_entete = u"INSTALACIÓN O ACTUALIZACIÓN DE %s PARA GNU/LINUX ..." self.creat_rep_ekd = u"* Creación de la carpeta /usr/share/ekd: OK" self.copie_fich_rep_ekd = u"* Copia de los ficheros y carpetas en /usr/share/ekd: OK" self.verif_pres_exec_ekd = u"* Vérificación de la presencia de /usr/bin/ekd: OK" self.racc_ekd = u"* Creación de un acceso directo para la ejecución de \n%s en versión %s: OK" self.inst_terminee = u"INSTALACIÓN O ACTUALIZACIÓN DE %s %s TERMINADA !." self.inst_prob_1 = u"HAY UN PROBLEMA !!!:" self.int_prob_2 = u"HA ELIMINADO POR ERROR EL FICHERO /usr/bin/ekd," self.int_prob_3 = u"PARA RESOLVER ESO, REINICIE LA INSTALACIÓN ... Y" self.int_prob_4 = u"EL FICHERO SERA CREADO DE NUEVO CREADO." # Désinstallation self.desinst_entete = u"ELIMINACIÓN DE %s VERSIÓN %s \nPARA GNU/LINUX" self.elimin_racc_1 = u"* Eliminación del acceso directo para %s: OK" self.elimin_racc_2 = u"* Eliminación del fichero /usr/share/applications/ekd.desktop:\n--> ESE FICHERO NO EXISTE O HA SIDO SUPRIMIDO" self.elimin_usr_share_ekd_1 = u"* Eliminación de la carpeta /usr/share/ekd: OK" self.elimin_usr_share_ekd_2 = u"* Eliminación de la carpeta /usr/share/ekd:\n--> ESTA CARPETA NO EXISTE O HA SIDO SUPRIMIDA" self.elimin_usr_bin_ekd_1 = u"* Eliminación del fichero /usr/bin/ekd: OK" self.elimin_usr_bin_ekd_2 = u"* Eliminación del fichero /usr/bin/ekd:\n--> ESE FICHERO NO EXISTE O HA SIDO SUPRIMIDO" self.desinst_terminee = u"ELIMINACIÓN DE %s %s TERMINADA." self.desinst_prob_1 = u"HAY UN PROBLEMA." elif self.langue not in ['fr', 'es']: # pour toutes les autres langues que fr et es, l'interface sera en english. # Menu entete_1 = "%s INSTALLATION OR UPDATE\nVERSION %s FOR LINUX" annonce_inst_maj = "* Enter 1 on your keyboard to install EKD or to make an update" annonce_desinst = "* Enter 2 on your keyboard to disinstall" annonce_quitter = "* Enter 0 on your keyboard to QUIT without do anything" annonce_choix = "What's your choice ; 1, 2 or 0 (?):" # Installation self.inst_entete = "%s %s INSTALLATION/UPDATE FOR LINUX ..." self.creat_rep_ekd = "* Creation of /usr/share/ekd repertory: OK" self.copie_fich_rep_ekd = "* Files and repertories copy in /usr/share/ekd repertory: OK" self.verif_pres_exec_ekd = "* Checking of the /usr/bin/ekd file presence: OK" self.racc_ekd = "* Creation of a short cut for \n%s execution version %s: OK" self.inst_terminee = "INSTALLATION (OR UPDATE) OF %s %s COMPLETED !!!." self.inst_prob_1 = "THERE WAS A PROBLEM !!!:" self.int_prob_2 = "YOU MIGHT ERASE BY ACCIDENT THE FILE /usr/bin/ekd,FOR RESOLVE" self.int_prob_3 = "THIS PROBLEM START A NEW INSTALLATION, AND FOR CREATED AGAIN" self.int_prob_4 = "THIS FILE." # Désinstallation self.desinst_entete = "%s %s DISINSTALLATION FOR LINUX" self.elimin_racc_1 = "* %s shortcut eradication: OK" self.elimin_racc_2 = "* Eradication of the /usr/share/applications/ekd.desktop file:\n--> THIS FILE DON'T EXIST OR HAS BEEN ERASED !!!" self.elimin_usr_share_ekd_1 = "* Eradication of the /usr/share/ekd repertory: OK" self.elimin_usr_share_ekd_2 = "* Eradication of the /usr/share/ekd repertory:\n--> THIS FILE DON'T EXIST OR HAS BEEN ERASED !!!" self.elimin_usr_bin_ekd_1 = "* Eradication of the /usr/bin/ekd file: OK" self.elimin_usr_bin_ekd_2 = "* Eradication of the /usr/bin/ekd file:\n--> THIS FILE DON'T EXIST OR HAS BEEN ERASED !!!" self.desinst_terminee = "%s %s DISINSTALLATION COMPLETED !." self.desinst_prob_1 = "THERE WAS A PROBLEM !!!." # --------------------------------------------------------------------------------- # MENU PRINCIPAL DU SCRIPT # --------------------------------------------------------------------------------- print print "===================================================================" print entete_1 % (self.nom, self.version) print "===================================================================" print annonce_inst_maj print "-------------------------------------------------------------------" print annonce_desinst print "-------------------------------------------------------------------" print annonce_quitter print "-------------------------------------------------------------------" choix = input(annonce_choix) if choix == 1: self.installation_admin() elif choix == 2: self.desinstallation_admin() elif choix == 0: sys.exit() print def installation_admin(self) : try : # Recup du chemin du rep.courant repCourISU=os.getcwd() # ===================================================================================== # Si EKD n'a jamais ete installe ... ou pour faire une mise à jour (2 en 1) # ===================================================================================== print "-------------------------------------------------------------------" print self.inst_entete % self.nom print "-------------------------------------------------------------------" # Ecriture du fichier executable dans /usr/bin (/usr/bin/ekd). # Il suffira de taper : ekd dans un terminal pour l'executer . ecrireAppliInstEKD=open("/usr/bin/ekd", 'w') ecrireAppliInstEKD.write("# ------------------------------------------\n"+"# Ne pas eliminer ce fichier !!! ."+"\n# ------------------------------------------\n\ncd /usr/share/ekd && python ekd_gui.py") ecrireAppliInstEKD.close() # Changement des droits du fichier executable . os.chmod('/usr/bin/ekd', 0755) # ----------------------------------------------------------------------------- # * Supression du repertoire /usr/share/ekd (s'il existe) # * Creation du rep. /usr/share/ekd ... et en meme temps ... copie (en dessous) # * Copie de tous les reps. et fichiers d'EKD dans /usr/share/ekd # * Modification des droits des reps. et fichiers dans /usr/share/ekd # * Creation du raccourci dans Graphisme # * Verification de la presence de /usr/bin/ekd # ----------------------------------------------------------------------------- # Si le repertoire /usr/share/ekd existe deja ... supression de ce rep. # ... car cela sert aussi bien que pour une install que pour une maj if os.path.isdir('/usr/share/ekd') is True: os.system('rm -rf /usr/share/ekd') # Information sur la creation du rep. /usr/share/ekd print self.creat_rep_ekd # Info sur la copie des reps. et fichiers dans /usr/share/ekd print self.copie_fich_rep_ekd # Création de /usr/share/ekd et copie de tous les reps. et fichiers d'EKD dedans copRepFich1=shutil.copytree(repCourISU, '/usr/share/ekd') # Le fichier divx2pass.log doit être crée pendant # l'install et il doit être en chmod 777 (-rwxrwxrwx) os.system('touch /usr/share/ekd/divx2pass.log') os.system('chmod 777 /usr/share/ekd/divx2pass.log') # Attention ici le script de gestion des langues est lancé os.system('python /usr/share/ekd/langues_inst_deb/gestion_des_langues_usr_share_ekd.py') # Changement des droits du fichier executable (le script principal) # en rwxr-xr-x (755) os.chmod('/usr/share/ekd/ekd_gui.py', 0755) # Verification de la presence du fichier executable ekd dans /usr/bin if 'ekd' in os.listdir('/usr/bin'): print self.verif_pres_exec_ekd # Ecriture du raccourci ecrireRaccEKD=open('/usr/share/applications/ekd.desktop', 'w') ecrireRaccEKD.write("[Desktop Entry]\nVersion=1.0\nEncoding=UTF-8\nName=%s\nGenericName=%s\nGenericName[fr]=%s\nComment=Post-production software four video or pictures\nComment[fr]=Application de post-production (pour videos ou images)\nExec='/usr/bin/ekd'\nIcon=/usr/share/ekd/icone_ekd.png\nTerminal=false\nMultipleArgs=false\nType=Application\nCategories=AudioVideo;AudioVideoEditing;\nStartupNotify=true" % (self.nom, self.nom, self.nom)) ecrireRaccEKD.close() print self.racc_ekd % (self.nom, self.version) print "-------------------------------------------------------------------" print self.inst_terminee % (self.nom, self.version) print "-------------------------------------------------------------------" except: print print "-------------------------------------------------------------------" print self.inst_prob_1 print "-------------------------------------------------------------------" print self.int_prob_2 print self.int_prob_3 print self.int_prob_4 print "-------------------------------------------------------------------" print # --------------------------------------------------------------------------------- def desinstallation_admin(self): try : print "-------------------------------------------------------------------" print self.desinst_entete % (self.nom, self.version) print "-------------------------------------------------------------------" # ------------------------------------------------------------------------ # Elimination du raccourci (fichier) avchdvc.desktop # ------------------------------------------------------------------------ # Si le fichier /usr/share/applications/ekd.desktop existe il est # supprime, sinon il ne se passe rien et un message le precisant est affiche if os.path.exists('/usr/share/applications/ekd.desktop') is True: print self.elimin_racc_1 % self.nom os.remove('/usr/share/applications/ekd.desktop') else : print self.elimin_racc_2 # ------------------------------------------------------------------------ # Elimination du repertoire /usr/share/ekd existe # ------------------------------------------------------------------------ # Si le repertoire /usr/share/ekd existe deja ... if os.path.isdir('/usr/share/ekd') is True: os.system('rm -rf /usr/share/ekd') print self.elimin_usr_share_ekd_1 else : print self.elimin_usr_share_ekd_2 # Si le fichier /usr/bin/ekd existe il est supprime, sinon # il ne se passe rien et un message le precisant est affiche if os.path.exists('/usr/bin/ekd') is True: print self.elimin_usr_bin_ekd_1 os.remove('/usr/bin/ekd') else : print self.elimin_usr_bin_ekd_2 print "-------------------------------------------------------------------" print self.desinst_terminee % (self.nom, self.version) print "-------------------------------------------------------------------" except: print "-------------------------------------------------------------------" print self.desinst_prob_1 print "-------------------------------------------------------------------" # Appel de la classe main = InstDesinstEKD()

EKD