def slot_fusionner(__, fonction=fusion): __.Status_bar.showMessage("Fusion en cours") liste = [] for i in range(__.Struct2.List_dossier.count()): liste.append( unicode(__.Struct2.List_dossier.item(i).text(), "cp1252")[:-1]) for i in range(__.Struct2.List_fichier.count()): liste.append( unicode(__.Struct2.List_fichier.item(i).text(), "cp1252")) if liste: path = unicode(__.Path.text(), "cp1252") name = unicode(__.Struct2.Archive_name.text(), "cp1252") if path and name: if path[-1] != "/": path += "/" path += name elif path and not name: if path[-1] != "/": path += "/" path += get_name(liste[0]) elif not path and name: path = get_path(liste[0]) + name else: if liste[0].count("."): path = ".".join(liste[0].split(".")[:-1]) else: path = liste[0][:] if get_ext(path) != "fuz": path += ".fuz" fonction(liste, False, path) __.Status_bar.showMessage("Fusion terminée")
def slot_extraire_all(__): if __.archive: __.Status_bar.showMessage("Defusion en cours") path = unicode(__.Path.text(), "cp1252") if not path: path = get_path(__.archive) if __.Struct.Name.text() != get_name(__.archive)[ : -4]: name = unicode(__.Struct.Name.text(), "cp1252") else: name = "" defusion(__.archive, False,False,path+name) __.Status_bar.showMessage("Defusion terminée") else: __.Status_bar.showMessage("Aucune archive ouverte")
def slot_extraire_all(__): if __.archive: __.Status_bar.showMessage("Defusion en cours") path = unicode(__.Path.text(), "cp1252") if not path: path = get_path(__.archive) if __.Struct.Name.text() != get_name(__.archive)[:-4]: name = unicode(__.Struct.Name.text(), "cp1252") else: name = "" defusion(__.archive, False, False, path + name) __.Status_bar.showMessage("Defusion terminée") else: __.Status_bar.showMessage("Aucune archive ouverte")
def get_contenu(__, index_dir): liste_contenu = [] fichier = file(__.archive_ind, "rb") fichier.read(1) nbr_c = base_int(fichier.read(1)) fichier.read(1) arborescence = get_arborescence(file(__.archive, "rb")) num_dossier = base_int(fichier.read(nbr_c)) nbr_fichier = base_int(fichier.readline()[:-1], 254) while num_dossier != index_dir: for i in range(nbr_fichier * 3): fichier.readline() num_dossier = base_int(fichier.read(nbr_c)) nbr_fichier = base_int(fichier.readline()[:-1], 254) liste_contenu.append([arborescence[0][num_dossier], []]) liste_fichier = [] for i in range(nbr_fichier): nom = fichier.readline()[:-1] start = base_int(fichier.readline()[:-1], 254) stop = base_int(fichier.readline()[:-1], 254) liste_contenu[-1][1].append([nom, start, stop]) dossier = arborescence[0][base_int( fichier.read(nbr_c))][:-1].split("/") nbr_fichier = base_int(fichier.readline()[:-1], 254) lim = len(liste_contenu[0][0]) path = get_path(__.archive) lim_start = len(path) index_slash = len(liste_contenu[0][0][:-1].split("/")) - 1 name = get_name(liste_contenu[0][0][:-1]) liste_contenu[0][0] = path + name lim_end = lim_start + lim while dossier[index_slash] == name: liste_contenu.append([path + "/".join(dossier[index_slash:]), []]) for i in range(nbr_fichier): nom = fichier.readline()[:-1] start = base_int(fichier.readline()[:-1], 254) stop = base_int(fichier.readline()[:-1], 254) liste_contenu[-1][1].append([nom, start, stop]) dossier = arborescence[0][base_int( fichier.read(nbr_c))][:-1].split("/") if len(dossier) <= index_slash: break nbr_fichier = base_int(fichier.readline()[:-1], 254) return liste_contenu
def get_contenu(__, index_dir): liste_contenu = [] fichier = file(__.archive_ind, "rb") fichier.read(1) nbr_c = base_int(fichier.read(1)) fichier.read(1) arborescence = get_arborescence(file(__.archive, "rb")) num_dossier = base_int(fichier.read(nbr_c)) nbr_fichier = base_int(fichier.readline()[:-1], 254) while num_dossier != index_dir: for i in range(nbr_fichier * 3): fichier.readline() num_dossier = base_int(fichier.read(nbr_c)) nbr_fichier = base_int(fichier.readline()[:-1], 254) liste_contenu.append([arborescence[0][num_dossier], []]) liste_fichier = [] for i in range(nbr_fichier): nom = fichier.readline()[:-1] start = base_int(fichier.readline()[:-1], 254) stop = base_int(fichier.readline()[:-1], 254) liste_contenu[-1][1].append([nom, start, stop]) dossier = arborescence[0][base_int(fichier.read(nbr_c))][:-1].split("/") nbr_fichier = base_int(fichier.readline()[:-1], 254) lim = len(liste_contenu[0][0]) path = get_path(__.archive) lim_start = len(path) index_slash = len(liste_contenu[0][0][:-1].split("/")) - 1 name = get_name(liste_contenu[0][0][:-1]) liste_contenu[0][0] = path + name lim_end = lim_start + lim while dossier[index_slash] == name: liste_contenu.append([path + "/".join(dossier[index_slash:]), []]) for i in range(nbr_fichier): nom = fichier.readline()[:-1] start = base_int(fichier.readline()[:-1], 254) stop = base_int(fichier.readline()[:-1], 254) liste_contenu[-1][1].append([nom, start, stop]) dossier = arborescence[0][base_int(fichier.read(nbr_c))][:-1].split("/") if len(dossier) <= index_slash: break nbr_fichier = base_int(fichier.readline()[:-1], 254) return liste_contenu
def slot_fusionner(__, fonction=fusion): __.Status_bar.showMessage("Fusion en cours") liste = [] for i in range(__.Struct2.List_dossier.count()): liste.append(unicode(__.Struct2.List_dossier.item(i).text(), "cp1252")[:-1]) for i in range(__.Struct2.List_fichier.count()): liste.append(unicode(__.Struct2.List_fichier.item(i).text(), "cp1252")) if liste: path = unicode(__.Path.text(), "cp1252") name = unicode(__.Struct2.Archive_name.text(), "cp1252") if path and name: if path[-1] != "/": path += "/" path += name elif path and not name: if path[-1] != "/": path += "/" path += get_name(liste[0]) elif not path and name: path = get_path(liste[0]) + name else: if liste[0].count("."): path = ".".join(liste[0].split(".")[:-1]) else: path = liste[0][:] if get_ext(path) != "fuz": path += ".fuz" fonction(liste, False, path) __.Status_bar.showMessage("Fusion terminée")
def __init__(__, argv=[]): qt.QWidget.__init__(__) __.setWindowIcon(qt.QIcon("ico/fuz.ico")) __.setWindowTitle("Fusion files") __.path = get_path(sys.argv[0]) __.archive = "" temp = "" if len(argv) > 1: temp = unicode(" ".join(argv[1:]), "cp1252").replace("\\","/") if get_ext(temp) == "fuz": __.mode = True __.archive = temp[:] else: __.mode = False __.archive_ind = "" __.index_dir = (0, 0) __.Tabs = qt.QTabWidget(__) __.Struct = qt.QWidget(__) __.Struct.Archive_name = qt.QPushButton(__.archive, __.Struct) __.Struct.Add_dir = qt.QPushButton("Ajouter un dossier", __.Struct) __.Struct.Add_dir.setVisible(False) __.Struct.Add_file = qt.QPushButton("Ajouter des fichiers", __.Struct) __.Struct.Ouvrir_dossier = qt.QPushButton("Ouvrir dossier", __.Struct) __.Struct.Dossier_parent = qt.QPushButton("Dossier parent", __.Struct) __.Struct.Extraire = qt.QPushButton("Tout extraire", __.Struct) __.Struct.Extraire_dossier = qt.QPushButton("Extraire dossier", __.Struct) __.Struct.Extraire_file = qt.QPushButton("Extraire fichier", __.Struct) __.Struct.Action_ouvrir_dossier = qt.QAction(__) __.Struct.Name = qt.QLineEdit(__.Struct) __.Struct.Name.setReadOnly(True) __.Struct.Dossier = qt.QLabel(__.Struct) __.Struct.Dossier.setText("Dossiers : 0") __.Struct.List_dossier = qt.QListWidget(__.Struct) __.Struct.Fichier = qt.QLabel(__.Struct) __.Struct.Fichier.setText("Fichiers : 0") __.Struct.List_fichier = qt.QListWidget(__.Struct) __.Struct2 = qt.QWidget(__) __.Struct2.Layout = qt.QGridLayout(__.Struct2) __.Struct2.Archive_name = qt.QLineEdit(__.Struct2) __.Struct2.Dossier = qt.QLabel(__.Struct2) __.Struct2.List_dossier = qt.QListWidget(__.Struct2) if is_dir(temp): __.Struct2.List_dossier.addItem(temp) __.Struct2.Dossier.setText("Dossiers : 1") else: __.Struct2.Dossier.setText("Dossiers : 0") __.Struct2.Add_dir = qt.QPushButton("Ajouter un dossier", __.Struct2) __.Struct2.Suppr_dossier = qt.QPushButton("Retirer un dossier", __.Struct2) __.Struct2.Fichier = qt.QLabel(__.Struct2) __.Struct2.List_fichier = qt.QListWidget(__.Struct2) if is_file(temp): __.Struct2.List_fichier.addItem(temp) __.Struct2.Fichier.setText("Fichiers : 1") else: __.Struct2.Fichier.setText("Fichiers : 0") __.Struct2.Add_file = qt.QPushButton("Ajouter des fichiers", __.Struct2) __.Struct2.Suppr_fichier = qt.QPushButton("Retirer un fichier", __.Struct2) __.Struct2.Fusionner = qt.QPushButton("Fusionner", __.Struct2) __.Struct2.Autoextract = qt.QPushButton("Créer auto-extractible", __.Struct2) __.Path = qt.QPushButton(__) __.Path.setWhatsThis("Fusionner/Extraire vers") #__.Menu = qt.QMenuBar(__) #__.Menu_fichier = __.Menu.addMenu("Fichier") #__.Action_ouvrir = __.Menu_fichier.addAction("Ouvrir archive") __.Action_ouvrir = qt.QAction("Ouvrir archive", __) __.Status_bar = qt.QStatusBar(__) __.Status_bar.showMessage("By W3YZOH0RTH") __.Status_progress = qt.QProgressBar(__.Status_bar) __.Status_bar.addPermanentWidget(__.Status_progress) __.Tabs.addTab(__.Struct2, "Fusion") __.Tabs.addTab(__.Struct, "Extraction") if __.mode: __.Tabs.setCurrentIndex(1) __.VLayout = qt.QVBoxLayout(__) #__.VLayout.addWidget(__.Menu) __.VLayout.addWidget(__.Path) __.VLayout.addWidget(__.Tabs) __.VLayout.addWidget(__.Status_bar) __.setLayout(__.VLayout) __.Struct.Layout = qt.QGridLayout(__.Struct) __.Struct.Layout.addWidget(__.Struct.Archive_name, 0, 0, 1, 4) __.Struct.Layout.addWidget(__.Struct.Name, 1, 0, 1, 4) __.Struct.Layout.addWidget(__.Struct.Add_file, 2, 2, 1, 2) #__.Struct.Layout.addWidget(__.Struct.Add_dir, 2, 0, 1, 2) __.Struct.Layout.addWidget(__.Struct.Fichier, 3, 2, 1, 1) __.Struct.Layout.addWidget(__.Struct.Dossier, 3, 0, 1, 1) __.Struct.Layout.addWidget(__.Struct.List_dossier, 4, 0, 1, 2) __.Struct.Layout.addWidget(__.Struct.List_fichier, 4, 2, 1, 2) __.Struct.Layout.addWidget(__.Struct.Ouvrir_dossier, 5, 0, 1, 1) __.Struct.Layout.addWidget(__.Struct.Dossier_parent, 5, 1, 1, 1) __.Struct.Layout.addWidget(__.Struct.Extraire_dossier, 6, 0, 1, 2) __.Struct.Layout.addWidget(__.Struct.Extraire_file, 6, 2, 1, 2) __.Struct.Layout.addWidget(__.Struct.Extraire, 5, 2, 1, 2) __.Struct.setLayout(__.Struct.Layout) __.Struct2.Layout.addWidget(__.Struct2.Archive_name, 0, 0, 1, 4) __.Struct2.Layout.addWidget(__.Struct2.Add_dir, 1, 0, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Add_file, 1, 2, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Fichier, 2, 2, 1, 1) __.Struct2.Layout.addWidget(__.Struct2.Dossier, 2, 0, 1, 1) __.Struct2.Layout.addWidget(__.Struct2.List_dossier, 3, 0, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.List_fichier, 3, 2, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Suppr_dossier, 4, 0, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Suppr_fichier, 4, 2, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Fusionner, 6, 0, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Autoextract, 6, 2, 1, 2) __.Struct2.setLayout(__.Struct2.Layout) qt.qApp.connect(__.Action_ouvrir, qt.SIGNAL("triggered()"), __.slot_ouvrir) qt.qApp.connect(__.Struct.Action_ouvrir_dossier, qt.SIGNAL("triggered()"), __.slot_open_dir) qt.qApp.connect(__.Struct.Archive_name, qt.SIGNAL("clicked()"), __.Action_ouvrir.trigger) qt.qApp.connect(__.Struct.Ouvrir_dossier, qt.SIGNAL("clicked()"), __.Struct.Action_ouvrir_dossier.trigger) qt.qApp.connect(__.Struct.Dossier_parent, qt.SIGNAL("clicked()"), __.slot_retour) qt.qApp.connect(__.Struct.Extraire, qt.SIGNAL("clicked()"), __.slot_extraire_all) qt.qApp.connect(__.Struct.Extraire_file, qt.SIGNAL("clicked()"), __.slot_extraire_file) qt.qApp.connect(__.Struct.Extraire_dossier, qt.SIGNAL("clicked()"), __.slot_extraire_dir) qt.qApp.connect(__.Struct.Add_file, qt.SIGNAL("clicked()"), __.slot_add_fichier) qt.qApp.connect(__.Struct.Add_dir, qt.SIGNAL("clicked()"), __.slot_add_dossier) qt.qApp.connect(__.Struct2.Add_file, qt.SIGNAL("clicked()"), __.slot_add_fichier) qt.qApp.connect(__.Struct2.Add_dir, qt.SIGNAL("clicked()"), __.slot_add_dossier) qt.qApp.connect(__.Struct2.Suppr_fichier, qt.SIGNAL("clicked()"), __.slot_suppr_fichier) qt.qApp.connect(__.Struct2.Suppr_dossier, qt.SIGNAL("clicked()"), __.slot_suppr_dossier) qt.qApp.connect(__.Struct2.Fusionner, qt.SIGNAL("clicked()"), __.slot_fusionner) qt.qApp.connect(__.Struct2.Autoextract, qt.SIGNAL("clicked()"), lambda fct=create_autoextract: __.slot_fusionner(fct)) qt.qApp.connect(__.Path, qt.SIGNAL("clicked()"), __.slot_change_path) #qt.qApp.connect(__.Struct.List_dossier, qt.SIGNAL("itemSelectionChanged()"), __.Struct.Action_ouvrir_dossier.trigger) if __.archive: __.slot_ouvrir(True)
def __init__(__, argv=[]): qt.QWidget.__init__(__) __.setWindowIcon(qt.QIcon("ico/fuz.ico")) __.setWindowTitle("Fusion files") __.path = get_path(sys.argv[0]) __.archive = "" temp = "" if len(argv) > 1: temp = unicode(" ".join(argv[1:]), "cp1252").replace("\\", "/") if get_ext(temp) == "fuz": __.mode = True __.archive = temp[:] else: __.mode = False __.archive_ind = "" __.index_dir = (0, 0) __.Tabs = qt.QTabWidget(__) __.Struct = qt.QWidget(__) __.Struct.Archive_name = qt.QPushButton(__.archive, __.Struct) __.Struct.Add_dir = qt.QPushButton("Ajouter un dossier", __.Struct) __.Struct.Add_dir.setVisible(False) __.Struct.Add_file = qt.QPushButton("Ajouter des fichiers", __.Struct) __.Struct.Ouvrir_dossier = qt.QPushButton("Ouvrir dossier", __.Struct) __.Struct.Dossier_parent = qt.QPushButton("Dossier parent", __.Struct) __.Struct.Extraire = qt.QPushButton("Tout extraire", __.Struct) __.Struct.Extraire_dossier = qt.QPushButton("Extraire dossier", __.Struct) __.Struct.Extraire_file = qt.QPushButton("Extraire fichier", __.Struct) __.Struct.Action_ouvrir_dossier = qt.QAction(__) __.Struct.Name = qt.QLineEdit(__.Struct) __.Struct.Name.setReadOnly(True) __.Struct.Dossier = qt.QLabel(__.Struct) __.Struct.Dossier.setText("Dossiers : 0") __.Struct.List_dossier = qt.QListWidget(__.Struct) __.Struct.Fichier = qt.QLabel(__.Struct) __.Struct.Fichier.setText("Fichiers : 0") __.Struct.List_fichier = qt.QListWidget(__.Struct) __.Struct2 = qt.QWidget(__) __.Struct2.Layout = qt.QGridLayout(__.Struct2) __.Struct2.Archive_name = qt.QLineEdit(__.Struct2) __.Struct2.Dossier = qt.QLabel(__.Struct2) __.Struct2.List_dossier = qt.QListWidget(__.Struct2) if is_dir(temp): __.Struct2.List_dossier.addItem(temp) __.Struct2.Dossier.setText("Dossiers : 1") else: __.Struct2.Dossier.setText("Dossiers : 0") __.Struct2.Add_dir = qt.QPushButton("Ajouter un dossier", __.Struct2) __.Struct2.Suppr_dossier = qt.QPushButton("Retirer un dossier", __.Struct2) __.Struct2.Fichier = qt.QLabel(__.Struct2) __.Struct2.List_fichier = qt.QListWidget(__.Struct2) if is_file(temp): __.Struct2.List_fichier.addItem(temp) __.Struct2.Fichier.setText("Fichiers : 1") else: __.Struct2.Fichier.setText("Fichiers : 0") __.Struct2.Add_file = qt.QPushButton("Ajouter des fichiers", __.Struct2) __.Struct2.Suppr_fichier = qt.QPushButton("Retirer un fichier", __.Struct2) __.Struct2.Fusionner = qt.QPushButton("Fusionner", __.Struct2) __.Struct2.Autoextract = qt.QPushButton("Créer auto-extractible", __.Struct2) __.Path = qt.QPushButton(__) __.Path.setWhatsThis("Fusionner/Extraire vers") #__.Menu = qt.QMenuBar(__) #__.Menu_fichier = __.Menu.addMenu("Fichier") #__.Action_ouvrir = __.Menu_fichier.addAction("Ouvrir archive") __.Action_ouvrir = qt.QAction("Ouvrir archive", __) __.Status_bar = qt.QStatusBar(__) __.Status_bar.showMessage("By W3YZOH0RTH") __.Status_progress = qt.QProgressBar(__.Status_bar) __.Status_bar.addPermanentWidget(__.Status_progress) __.Tabs.addTab(__.Struct2, "Fusion") __.Tabs.addTab(__.Struct, "Extraction") if __.mode: __.Tabs.setCurrentIndex(1) __.VLayout = qt.QVBoxLayout(__) #__.VLayout.addWidget(__.Menu) __.VLayout.addWidget(__.Path) __.VLayout.addWidget(__.Tabs) __.VLayout.addWidget(__.Status_bar) __.setLayout(__.VLayout) __.Struct.Layout = qt.QGridLayout(__.Struct) __.Struct.Layout.addWidget(__.Struct.Archive_name, 0, 0, 1, 4) __.Struct.Layout.addWidget(__.Struct.Name, 1, 0, 1, 4) __.Struct.Layout.addWidget(__.Struct.Add_file, 2, 2, 1, 2) #__.Struct.Layout.addWidget(__.Struct.Add_dir, 2, 0, 1, 2) __.Struct.Layout.addWidget(__.Struct.Fichier, 3, 2, 1, 1) __.Struct.Layout.addWidget(__.Struct.Dossier, 3, 0, 1, 1) __.Struct.Layout.addWidget(__.Struct.List_dossier, 4, 0, 1, 2) __.Struct.Layout.addWidget(__.Struct.List_fichier, 4, 2, 1, 2) __.Struct.Layout.addWidget(__.Struct.Ouvrir_dossier, 5, 0, 1, 1) __.Struct.Layout.addWidget(__.Struct.Dossier_parent, 5, 1, 1, 1) __.Struct.Layout.addWidget(__.Struct.Extraire_dossier, 6, 0, 1, 2) __.Struct.Layout.addWidget(__.Struct.Extraire_file, 6, 2, 1, 2) __.Struct.Layout.addWidget(__.Struct.Extraire, 5, 2, 1, 2) __.Struct.setLayout(__.Struct.Layout) __.Struct2.Layout.addWidget(__.Struct2.Archive_name, 0, 0, 1, 4) __.Struct2.Layout.addWidget(__.Struct2.Add_dir, 1, 0, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Add_file, 1, 2, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Fichier, 2, 2, 1, 1) __.Struct2.Layout.addWidget(__.Struct2.Dossier, 2, 0, 1, 1) __.Struct2.Layout.addWidget(__.Struct2.List_dossier, 3, 0, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.List_fichier, 3, 2, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Suppr_dossier, 4, 0, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Suppr_fichier, 4, 2, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Fusionner, 6, 0, 1, 2) __.Struct2.Layout.addWidget(__.Struct2.Autoextract, 6, 2, 1, 2) __.Struct2.setLayout(__.Struct2.Layout) qt.qApp.connect(__.Action_ouvrir, qt.SIGNAL("triggered()"), __.slot_ouvrir) qt.qApp.connect(__.Struct.Action_ouvrir_dossier, qt.SIGNAL("triggered()"), __.slot_open_dir) qt.qApp.connect(__.Struct.Archive_name, qt.SIGNAL("clicked()"), __.Action_ouvrir.trigger) qt.qApp.connect(__.Struct.Ouvrir_dossier, qt.SIGNAL("clicked()"), __.Struct.Action_ouvrir_dossier.trigger) qt.qApp.connect(__.Struct.Dossier_parent, qt.SIGNAL("clicked()"), __.slot_retour) qt.qApp.connect(__.Struct.Extraire, qt.SIGNAL("clicked()"), __.slot_extraire_all) qt.qApp.connect(__.Struct.Extraire_file, qt.SIGNAL("clicked()"), __.slot_extraire_file) qt.qApp.connect(__.Struct.Extraire_dossier, qt.SIGNAL("clicked()"), __.slot_extraire_dir) qt.qApp.connect(__.Struct.Add_file, qt.SIGNAL("clicked()"), __.slot_add_fichier) qt.qApp.connect(__.Struct.Add_dir, qt.SIGNAL("clicked()"), __.slot_add_dossier) qt.qApp.connect(__.Struct2.Add_file, qt.SIGNAL("clicked()"), __.slot_add_fichier) qt.qApp.connect(__.Struct2.Add_dir, qt.SIGNAL("clicked()"), __.slot_add_dossier) qt.qApp.connect(__.Struct2.Suppr_fichier, qt.SIGNAL("clicked()"), __.slot_suppr_fichier) qt.qApp.connect(__.Struct2.Suppr_dossier, qt.SIGNAL("clicked()"), __.slot_suppr_dossier) qt.qApp.connect(__.Struct2.Fusionner, qt.SIGNAL("clicked()"), __.slot_fusionner) qt.qApp.connect(__.Struct2.Autoextract, qt.SIGNAL("clicked()"), lambda fct=create_autoextract: __.slot_fusionner(fct)) qt.qApp.connect(__.Path, qt.SIGNAL("clicked()"), __.slot_change_path) #qt.qApp.connect(__.Struct.List_dossier, qt.SIGNAL("itemSelectionChanged()"), __.Struct.Action_ouvrir_dossier.trigger) if __.archive: __.slot_ouvrir(True)