Δημιουργία αυτόματου File Manager - Catharsis

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Δημιουργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό GiannisC » 25 Απρ 2011, 13:27

Γειά σας και χρόνια πολλά στην κοινότητα. Είναι το πρώτο post που κάνω εδώ στο forum και ελπίζω να είναι και κάπως χρήσιμο. Πρόσφατα είχα μια ιδέα για ένα νέο project, που πιθανόν δεν υπάρχει όμοιο ακόμα (τουλάχιστον όσο λίγο έψαξα εγώ) και θα ήθελα να την μοιραστώ μαζί σας. Η ιδέα μου είναι λοιπόν η εξής : Σκεφτόμενος πως έχω ενα φάκελο "Downloads" με 1002 διαφορετικού τύπου αρχεία μεσα και να γίνεται ένας πανικός κάθε φορά που αναζητώ κάτι (διότι σπάνια μπαίνω στον κόπο να τα τακτοποιήσω - ίσως απο βαρεμάρα) και πως το ίδιο συμβαίνει πιθανόν και σε άλλα πολλά άτομα σε κάποιο σημείο στο filesystem τους, αναρωτήθηκα πόσο χρήσιμο θα ήταν να αφήσουμε τους χειροκίνητους χειρισμούς -μία που υπάρχουν χρόνια τώρα και τουλάχιστον σε εκείνο το σημείο του filesystem μας- και να αναλάβει ένας αυτόματος μηχανισμός να τακτοποιήσει με κάποιο standard τα αρχεία μας, που θα μας κάνει εύκολη την ανεύρεση των αρχείων μας πλέον. Αυτό θα γινόταν επίσης αυτόματα, κάποια στιγμή που είχαμε νέο αρχείο στο φάκελο που "επιβλέπει". Έχω ονομάσει αυτό το σύστημα catharsis (απο τον ελληνικό όρο κάθαρση).
Ξεκίνησα λοιπόν να σχεδιάζω το catharsis καθορίζοντας πρώτα τι δυνατότητες θα μπορούσε να έχει. Μερικά απο αυτά είναι :

1. Καθορισμός ενός (ή και περισσότερων φακέλων) προς επίβλεψη απο το χρήστη.
2. Έξυπνη τακτοποίηση των "χύμα" αρχείων που βρίσκονται στους παραπάνω φακέλους, σε μία καθορισμένη θέση απο το χρήστη
3. Αυτόματη διαγραφή των άδειων φακέλων
4. Δυνατότητα λειτουργίας σαν daemon (συνεχής επίβλεψη και τακτοποίηση περιοδικά)



Για παράδειγμα δείτε την εικόνα : Εικόνα

Έστω πως έχουμε ένα φάκελο "Downloads" με τα εξής περιεχόμενα ( σχήμα 1. )

Downloads : photo.jpg music.mp3 myprogram.cpp mydocument.pdf

Έστω πως έχουμε καθορίσει το catharsis να επιβλέπει τον παραπάνω φάκελο ("Downloads") και έστω πως έχουμε καθορίσει τα αρχεία να τακτοποιούνται στον φάκελο "../Downloads/Auto-Managed". To catharis θα τακτοποιήσει τα αρχεία όπως φαίνεται στο σχήμα 2.
Έστω τώρα πως διαγράφω το αρχείο "myprogram.cpp" απο τον φάκελο "C++". Τότε το catharsis θα αντιληφθεί τον κενό φάκελο και θα διαγράψει όλο το path απο "Programming" και μετά (σχήμα 3).
Εάν διαγράψουμε και το αρχείο "mydocument.pdf" τότε θα διαγραφεί όλος ο φάκελος "Documents" αφου δεν περιέχει πλεον αρχεία και έτσι θα έχουμε το σχήμα 4. Αυτό γίνεται για να έχουμε όσο το δυνατόν λιγότερους φακέλους που αξίζουν την προσοχή μας.Εαν στο μέλλον προσθεθεί κάποιο αρχείο .pdf ή .cpp ή .c ή .docx κτλ τότε θα ξανα δημιουργηθεί το "Documents" και θα τοποθετηθεί το αρχείο στον κατάλληλο φάκελο.

Μπορεί να επεκταθεί σε δυνατότητες όπως για παράδειγμα να διαβάζει τα mp3 ID3 tags και να δημιουργεί φακέλους ανάλογα με τον καλλιτέχνη και ο,τι άλλο βάζει ο νούς μας. Το βασικό είναι να παραμένει ένα εύχρηστο και κατανοητό στην πλοήγηση και στην αναζήτηση, δέντρο αρχείων.

Έχω ξεκινήσει αυτό το project πρόσφατα και προς στιγμήν κάνει όλα αυτά που ανάφερα παραπάνω (στο διάγραμμα), αλλα έχω έλλειψη των υποστηριζόμενων formats και ίσως μια βιαστική υλοποίηση. Το catharsis είναι γραμμένο σε C++ (θεωρώ πως είναι πιο εύκολο να το αναπτύξεις αντιμετοπίζοντας το πρόβλημα με αντικείμενα). Θα ήθελα να το παραδώσω και σαν ιδέα και σαν μισή υλοποίηση στην κοινότητα για βοήθεια και ταχεία πραγματοποίηση, μια που δεν είναι κάτι το πολύ δύσκολο να το αναπτύξει κάποιος και θα έχει άμεσα αποτελέσματα στην καθημερινή εμπειρία με τον υπολογιστή μας. Τελειώνοντας ευχαριστώ και συγγνώμη για το μακροσκελές κείμενο

Ποιά είναι η γνώμη σας, τι προτάσεις έχέτε και ποιός είναι υπέρ αυτού του project; Πως θα μπορέσει να βοηθηθεί απ την κοινότητα;


PS Θα ήθελα να σας παραδώσω και τον πηγαίο κώδικα αλλα δεν ξέρω πως θα κάνω επισύναψη το αρχείο εδώ...κάποιος να μου πεί; :D
Τελευταία επεξεργασία από GiannisC και 25 Απρ 2011, 16:22, έχει επεξεργασθεί 2 φορά/ες συνολικά
Άβαταρ μέλους
GiannisC
babeTUX
babeTUX
 
Δημοσιεύσεις: 8
Εγγραφή: 25 Απρ 2011, 11:00
Εκτύπωση

Re: Δημιοργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό konnn » 25 Απρ 2011, 13:32

GiannisC έγραψε:PS Θα ήθελα να σας παραδώσω και τον πηγαίο κώδικα αλλα δεν ξέρω πως θα κάνω επισύναψη το αρχείο εδώ...κάποιος να μου πεί;

Από τα code tags.


Πολύ καλή η σκέψη σου, εάν δεν υπάρχει ήδη κάποια εφαρμογή που να το κάνει.
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Δημιοργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό Qdata » 25 Απρ 2011, 13:39

Μου φαίνεται πολύ καλή ιδέα για project.Μπράβο σου που σκέφτηκες κάτι τέτοιο.Αν θέλεις μπορείς να μας δώσεις των κώδικα αφού προσθέσεις σε αυτόν μια άδεια(Για να μην υποκλαπεί). Αντέγραψέ τον και βάλτον ανάμεσα σε:
Κώδικας: Επιλογή όλων
[code][/code]

Δηλαδή:
Κώδικας: Επιλογή όλων
[code]Ο κώδικας εδώ μέσα.[/code]


Επίσης σκέφτηκες το github ;
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Δημιοργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό GiannisC » 25 Απρ 2011, 13:44

Σας ευχαριστώ φίλοι μου για τις γρήγορες απάντησεις σας. Απ όσο έψαξα εγω (και έψαξα γιατί το χρειαζόμουν ένα τέτοιο πρόγραμμα) δεν βρήκα κάτι δυστυχώς. Και θέλησα να το υλοποιήσω για να κάνω τη δουλειά μου αλλα σκέφτηκα πως θα ήταν καλό να ήταν διαθέσιμο σε όλους και να που είμαστε εδώ γι αυτό το λόγο. Οσο για τον κώδικα είναι σε πολλαπλά αρχεία. Θα μπορούσα να ανεβάσω ZIP αρχείο? Qdata έχω ακούσει για το github μόνο ονομαστικά, πρακτικά δεν έχω ιδέα
Άβαταρ μέλους
GiannisC
babeTUX
babeTUX
 
Δημοσιεύσεις: 8
Εγγραφή: 25 Απρ 2011, 11:00
Εκτύπωση

Re: Δημιοργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό clepto » 25 Απρ 2011, 13:48

δεν νομίζω ότι υπάρχει τέτοια επιλογή για zip...μπορείς όμως να το ανεβάσεις π.χ. σε rapidshare ή dropbox και να μας δώσεις το λινκ...
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Δημιοργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό simosx » 25 Απρ 2011, 13:55

Καλώς ήρθες στο φόρουμ της ελληνικής κοινότητας Ubuntu-gr!

Το θέμα της διαχείρισης των προσωπικών αρχείων είναι πολύ σημαντικό, και γίνεται κάποια δουλειά αυτό το διάστημα.
Μια πρόσφατη προσπάθεια είναι το Activity Journal,
https://live.gnome.org/GnomeActivityJournal
Μπορείς να το εγκαταστήσεις στο Ubuntu με αναζήτηση στο Κέντρο λογισμικού για «Activity Journal».
Από τέτοιο λογισμικό δε γνωρίζω πολλά, οπότε κάτι που θα μπορούσες να κάνεις είναι να δοκιμάσεις το GNOME Activity Journal,
και να σχολιάσεις τι έχει καλό και ιδίως τι δεν κάνει καλά που θα μπορούσε να γίνει καλύτερα.

Για τον πηγαίο κώδικα, το τυπικό είναι να τον προσθέσεις σε ένα αποθετήριο (π.χ. Git) όπως αυτό που παρέχει το Github.
Δες οδηγίες στο viewtopic.php?f=6&t=5424
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Δημιοργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό GiannisC » 25 Απρ 2011, 14:10

Ευχαριστώ simosx. Ναι έχω δοκιμάσει το Activity Journal. Η διαφορά με παραπάνω project που ανέφερα είναι ότι η παραπάνω εφαρμογή κάνει αλλαγές στην ιεραρχία του δίσκου που ισχύουν μόνιμα...και όχι μόνο μέσα απο ένα πρόγραμμα (σσ. Activity Journal). Παρόλα αυτά φτιάχνω τώρα τις άδειες και σας δείχνω στην πράξη ώστε να έχετε όλοι μια καλύτερη εικόνα.
Άβαταρ μέλους
GiannisC
babeTUX
babeTUX
 
Δημοσιεύσεις: 8
Εγγραφή: 25 Απρ 2011, 11:00
Εκτύπωση

Re: Δημιοργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό clepto » 25 Απρ 2011, 14:10

ανυπομονώ :)
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Δημιοργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό GiannisC » 25 Απρ 2011, 14:38

Ok. Εδώ είναι ο κώδικας. Κάποιες σημειώσεις πριν το τρέξετε.
1. Είναι daemon...που σημαίνει ότι για να το σταματίσετε πρέπει να το κάνετε kill. (Απο System Monitor)
2. Επιβλέπει τον default φάκελο Downloads (/home/<user>/Downloads). Μπορείτε να αλλάξετε τον φάκελο που επιβλέπει απο το αρχείο catharsis.cpp στην αρχή.
3. Μεταφέρει τα αρχεία όποια format αναγνωρίζει που έχετε στο Downloads, μέσα στο Directory ../Downloads/"Auto Managed" που θα δημιουργήσει αυτόματα. Το κάνει αυτό κάθε 4 δευτερόλεπτα.
4. Ένα λογικό bug που δεν έχω σχοληθεί ακόμα είναι οτι αν κατεβάζετε ένα μεγάλο αρχείο πχ .zip (400ΜΒ) το οποίο αποθηκέυεται στο Downloads και έχει την .zip κατάληξη, θα το χαλάσει γιατί θα προσπαθήσει να το μεταφέρει.
5. Δεν διαθέτει GUI.

Μπορείτε να κατεβάσετε απο εδώ το αρχείο ZIP
Άβαταρ μέλους
GiannisC
babeTUX
babeTUX
 
Δημοσιεύσεις: 8
Εγγραφή: 25 Απρ 2011, 11:00
Εκτύπωση

Re: Δημιοργία αυτόματου File Manager - Catharsis

Δημοσίευσηαπό simosx » 25 Απρ 2011, 14:52

Για να φτιάξεις το αποθετήριο,
0. Εγκαθιστάς το git με
Κώδικας: Επιλογή όλων
sudo apt-get install git

1. Μπαίνεις στον υποκατάλογο με τον κώδικα σου
2. Εκτελείς
Κώδικας: Επιλογή όλων
git init

για αρχικοποίηση του αποθετηρίου (φτιάχνει το .git/ με τα αρχικά αρχεία)
3. Αποδέχεσε τα όλα αρχεία για εισαγωγή
Κώδικας: Επιλογή όλων
git add .

(αν θέλεις μόνο μερικά, τότε τρέχεις git add file1.cpp, κτλ για το κάθε ένα.
4. Κάνεις την υποβολή (commit),
Κώδικας: Επιλογή όλων
git commit -m "Initial import" .


Πας στο http://www.github.com/ και φτιάχνεις λογαριασμό. Φτιάχνεις το νέο αποθετήριο (katharsis) και ακολουθείς τις οδηγίες για να στείλεις τον κώδικά σου στο αποθετήριο.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Επόμενο

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι