Fájl lista grafikus felületű alkalmazás

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

Fórum: 

Sziasztok!

A címben említett - fájl lista készítés - problémára keresek alkalmazást. Több módot is használtam már parancssorból (lásd: ls) és itt találtam egy másik jó megoldást:
https://linuxmint.hu/forum/kilistazza-a-konyvtarszerkezet-tartalmat
Ez utóbbi appnak van grafikus felülete?
Magyarul: olyan programra lenne szükségem, ami beolvassa a fájlokat és formázott html-be "önti".

Előre is köszönöm

stewet

Html-ről nem

Értékelés: 

0
Még nincs értékelve

Nem tudok jobbat. DC-vel lehet kijelölt fájlok nevét vágólapra másolni, de abból nem lesz egyből html.

De DC-ben lehet custom parancsokat is gombhoz rendelni. Létre is lehet hozni szkriptet szerintem, oszt  DC elég grafikus

ha nekem kellene megoldani...

Értékelés: 

0
Még nincs értékelve

Akkor beszélgetnék egy jót valamelyik mesterséges inteligenciával, hogy mi is az igényem. Pár kiegészítés után meg fogja oldani :)

A ChatGPT simán megugorta a feladatot

Értékelés: 

0
Még nincs értékelve

A ChatGPT simán mehugorta a feladatot:

 

Készítek neked egy Linux alatt futó grafikus Python programot (GTK+ vagy Qt használatával), amely egy egyszerű fájlböngészőt valósít meg. A program képes:

  • Végigmenni az adott könyvtárban lévő alkönyvtárakon,

  • Megjeleníteni azok nevét, méretét, és utolsó hozzáférési idejét,

  • Ezeket rendezett HTML formában exportálni, ahol:

    • A könyvtárak kattinthatók, és megnyílnak a fájlböngészőben.

Javasolt technológiák

  • Python 3
  • PyGObject (GTK+) vagy PyQt5 a GUI-hoz
  • os, os.path, datetime, subprocess, html modulok

Példa megvalósítás: PyQt5 + HTML generálás

import os
import sys
import webbrowser
from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog, QVBoxLayout, QPushButton, QLabel
from PyQt5.QtCore import QDateTime
from datetime import datetime

def get_dir_info(base_path):
    data = []
    for entry in os.scandir(base_path):
        if entry.is_dir(follow_symlinks=False):
            size = get_dir_size(entry.path)
            access_time = datetime.fromtimestamp(entry.stat().st_atime).strftime("%Y-%m-%d %H:%M:%S")
            data.append({
                "name": entry.name,
                "path": entry.path,
                "size": size,
                "access_time": access_time
            })
    # Rendezzük méret szerint
    return sorted(data, key=lambda x: x["size"], reverse=True)

def get_dir_size(path):
    total = 0
    for dirpath, dirnames, filenames in os.walk(path):
        for f in filenames:
            fp = os.path.join(dirpath, f)
            try:
                total += os.path.getsize(fp)
            except Exception:
                pass
    return total

def generate_html(data, output_path):
    html = """
    <html>
    <head>
        <title>Könyvtár lista</title>
        <style>
            table { width: 100%; border-collapse: collapse; }
            th, td { border: 1px solid #ccc; padding: 8px; text-align: left; }
            th { background-color: #f2f2f2; }
        </style>
    </head>
    <body>
        <h2>Könyvtárak listája</h2>
        <table>
            <tr><th>Név</th><th>Méret (MB)</th><th>Utolsó hozzáférés</th></tr>
    """
    for item in data:
        html += f'<tr><td><a href="file://{item["path"]}">{item["name"]}</a></td><td>{item["size"] / (1024*1024):.2f}</td><td>{item["access_time"]}</td></tr>\n'
    html += """
        </table>
    </body>
    </html>
    """
    with open(output_path, 'w', encoding='utf-8') as f:
        f.write(html)

class DirLister(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Könyvtár HTML exportáló")
        self.setGeometry(300, 300, 400, 150)

        layout = QVBoxLayout()

        self.label = QLabel("Válassz ki egy mappát a feldolgozáshoz:")
        layout.addWidget(self.label)

        self.btn_browse = QPushButton("Tallózás...")
        self.btn_browse.clicked.connect(self.browse)
        layout.addWidget(self.btn_browse)

        self.setLayout(layout)

    def browse(self):
        dir_path = QFileDialog.getExistingDirectory(self, "Könyvtár kiválasztása")
        if dir_path:
            data = get_dir_info(dir_path)
            output_html = os.path.join(dir_path, "konyvtarak.html")
            generate_html(data, output_html)
            webbrowser.open(f"file://{output_html}")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = DirLister()
    window.show()
    sys.exit(app.exec_())

Fejlesztési javaslatok

  1. Navigálható HTML oldal: legyen fastruktúra (összecsukható-kinyitható könyvtárak).
  2. További metaadatok: fájlok száma, módosítás dátuma, jogosultságok.
  3. Exportálási opciók: JSON, CSV is HTML mellett.
  4. Szűrés / keresés: fájlméret, név, dátum alapján.
  5. Multiplatform támogatás: Windows / macOS verziók.
  6. Parancssoros alternatíva: ugyanazt tudja, de terminálról.

A ChatGPT simán megugorta a feladatot

Értékelés: 

0
Még nincs értékelve

#4 :-) Szerintem nem pont erre gondolt.

A kód generál egy Html fájlt röptében és megnyitja a böngészővel. A listában nem lesznek fájlok, csak mappák, de ezek tartalma tallózható.surprise

Viszont tippnek oltári jó, mert megvan a grafikus megoldás: A BÖNGÉSZŐ!

Nyiss meg mondjuk a böngészőben a kívánt mappát, legyen mondjuk Letöltések mappa:
file:///home/stewet/Let%C3%B6lt%C3%A9sek/

Böngészőben Fájl / Mentés másként.... :-)

A ChatGPT simán megugorta a feladatot

Értékelés: 

0
Még nincs értékelve

#5 Az általad elvártakat is simán meg tudja szerintem csináli, ez csak egy teszt volt, egy videóhoz, amiben a AI alap használatát mutatom be.
Össze kell szedni az alap kivánságokat, érthetően elmondani a ChatGPT-nek és pár módosító kérdés után bizony megcsinálja azt, amit akarunk.

A Deepseek is megcsinálja, vagy akármelyik is :)

Én ezt kértem:

"Készíts nekem egy linux alatt futó olyan grafikus programot ami egy fájl böngésző, éa amelyik mappába navigálok, abban a könyvtárban lévő összes alkönyvtár nevét, méretét menti egy html állományba, rendezett formában, úgy, hogy a könyvtárak mérete, és az utolsó hozzáférés ideje is megjelenjen.

A HTML-be rá lehessen kattintani a könyvtárnevekre, és nyissa meg a könyvtárat.

Ha van javaslatod mivel lehetne fejleszteni a szkriptet, akkor az sorold fel."

 

A ChatGPT simán megugorta a feladatot

Értékelés: 

0
Még nincs értékelve

#6 Egyfelől pont azt mondtam, hogy erre ott a kész megoldás, úgy hívják böngésző (pl. Firefox)

De nekimentem a kódnak, mostanáig azzal vesződtem, hogy ugyanabba tömbbe beolvassa a mappákat és fájlokat is, de sehogy nem sikerült értelmes eredményt kapni, de majd egyszer...

Kezdem azt hinni, hogy a dir2html esetén nem hiába használják azt a (láma?) megoldást, hogy két fájlba kiírják, majd kettőből egyet csinálnak grrr...