Python: Address Book 3.1

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

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

Python: Address Book 3.1

Δημοσίευσηαπό Ilias95 » 19 Αύγ 2011, 19:36

Το Βιβλίο Διευθύνσεων - Address Book είναι μια γραφική εφαρμογή γραμμένη σε Python3 και PyQt4, την οποία έγραψα με μοναδικό στόχο τη διασκέδαση.

Η εφαρμογή είναι platform independant και επιτρέπει την δημιουργία, επεξεργασία και διαγραφή επαφών καθώς και την προβολή των στοιχείων κάθε επαφής. Οι επαφές κατηγοριοποιούνται και υπάρχει δυνατότητα προβολής ανά ομάδες. Ακόμα, υπάρχει δυνατότητα αποθήκευσης και επαναφοράς αντιγράφου ασφαλείας.

Απαιτήσεις: python3, PyQt4

Λήψη και Εγκατάσταση

Με την παρακάτω εντολή θα πάρετε έναν κλώνο του αποθετηρίου στο github.
Κώδικας: Επιλογή όλων
git clone git://github.com/Ilias95/Address-Book.git

Μετά αφού μεταβείτε στον κατάλογο της εφαρμογής, η εγκατάσταση γίνεται δίνοντας:
Κώδικας: Επιλογή όλων
sudo ./setup.py install


Free Software

Ο κώδικας: https://github.com/Ilias95/Address-Book
Άδεια χρήσης: GPL3
Τελευταία επεξεργασία από Ilias95 και 22 Φεβ 2012, 22:09, έχει επεξεργασθεί 18 φορά/ες συνολικά
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Python: Address Book

Δημοσίευσηαπό clepto » 19 Αύγ 2011, 21:24

θα μπορούσες στην νεώτερη έκδοση να βάλεις και backup&restore των επαφών σε ένα αρχείο txt πχ...
πιστεύω θα ήταν χρήσιμο!
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: Python: Address Book

Δημοσίευσηαπό Ilias95 » 20 Αύγ 2011, 01:12

Καλή ιδέα.
Όχι txt όμως, πρέπει να κρατηθεί απλά το .db αρχείο όπου είναι αποθηκευμένη η database.
Θα το κάνω σύντομα.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Python: Address Book

Δημοσίευσηαπό pmav99 » 20 Αύγ 2011, 03:17

Γιατί χρησιμοποιείς 8 κενά αντί για 4? Τσέκαρε το PEP 8.

πρέπει να βάλεις και κάτι για αναζήτηση επαφών. Η on-the-fly εγκατάσταση της sqlalchemy δεν ξέρω αν είναι και τόσο καλή ιδέα. Προτιμώ να εγκαθιστώ τα προγράμματα μόνος μου μέσω του package manager
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Python: Address Book

Δημοσίευσηαπό Ilias95 » 20 Αύγ 2011, 03:29

pmav99 έγραψε:Γιατί χρησιμοποιείς 8 κενά αντί για 4? Τσέκαρε το PEP 8.

πρέπει να βάλεις και κάτι για αναζήτηση επαφών. Η on-the-fly εγκατάσταση της sqlalchemy δεν ξέρω αν είναι και τόσο καλή ιδέα. Προτιμώ να εγκαθιστώ τα προγράμματα μόνος μου μέσω του package manager


Αυτό με τα κενά πλάκα πλάκα και γω τώρα το παρατήρησα.
Χρησιμοποιώ geany και χρησιμοποιώ tabs τα οποία στον geany εμφανίζονται κανονικά σαν 4 κενά. Αλλά με όποιον άλλον editor και αν το ανοίξω φαίνονται 8 τα κενά.

Για την εγκατάσταση της sqlalchemy προτίμησα να το κάνω έτσι επειδή δεν υπάρχει σε κάποιο repo και πρέπει να γίνει download και compile απ' το χρήστη.
Χμμ, ποια τα αρνητικά λες;

Καλή σκέψη και για την αναζήτηση. Θα προσθέσω τις αλλαγές αυτές στην 3η έκδοση...
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Python: Address Book

Δημοσίευσηαπό pmav99 » 20 Αύγ 2011, 11:09

H SQlAlchemy σίγουρα θα υπάρχει σε κάποιο ppa αν μιλάς για ubuntu. Γενικά είναι καλό να μην βάζεις πράγματα εκτός package manager για να μπορείς εύκολα και καθαρά να αναβαθμίζεις σε καινούριες εκδόσεις, να αφαιρείς τελείως τις παλιές από το σύστημά σου κτλ.

Σχετικά με το geany. Προφανώς εισάγει χαρακτήρες "tab" αντί για "spaces". Πήγαινε Tools/preferences/Editor/Indentation Και διάλεξε spaces. Αν δεν κάνει την μετατροπή σε spaces αυτόματα, κάνε την με search and replace.

Το πρόβλημα με τα tabs είναι ακριβώς αυτό. Δεν υπάρχει κοινή αναπαράσταση τους. Συνήθως κάθε editor έχει επιλογή για το πόσο μεγάλο θέλεις να είναι το κενό που αντιστοιχεί σε κάθε tab. Χρησιμοποιώντας spaces, δεν έχεις τέτοια προβλήματα.
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Python: Address Book

Δημοσίευσηαπό Ilias95 » 20 Αύγ 2011, 15:26

Το πρόβλημα με τα tabs διορθώθηκε οπότε πλέον είναι σωστή και η εσοχή.
Όσον αφορά την sqlalchemy μόλις είδα ότι τελικά προστέθηκε στα αποθετήρια και για την python3 και θέλει απλά:
Κώδικας: Επιλογή όλων
sudo apt-get install python3-sqlalchemy

Αφαίρεσα οπότε την συνάρτηση με την αυτόματη εγκατάσταση της sqlalchemy.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Python: Address Book

Δημοσίευσηαπό Ilias95 » 24 Αύγ 2011, 19:20

Update to version 2.2

Προστέθηκε:
    - Δημιουργία χρηστών. Πλέον, η εφαρμογή μπορεί να χρησιμοποιηθεί από περισσότερα από ένα άτομα.
    - Αναζήτηση Επαφών.
    - Δυνατότητα λήψης και επαναφοράς αντιγράφου ασφαλείας (backup).

Τις τελευταίες δύο ιδέες τις πήρα από εδώ.
Ευπρόσδεκτη οποιαδήποτε άλλη σκέψη για βελτίωση της εφαρμογής!
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Python: Address Book

Δημοσίευσηαπό pmav99 » 24 Αύγ 2011, 21:49

Για την έκδοση 3 μπορείς να βάλεις σα στόχο να μετατρέψεις το πρόγραμμα από procedural σε Object Oriented. To πρόβλημα προσφέρεται.

Έτσι όπως το έχεις τώρα χρησιμοποιείς κατά κόρον global μεταβλητές που δεν είναι καλή πρακτική και δυνητικά μπορεί να οδηγήσει σε περίεργα bugs. Better be explicit than implicit. Καλύτερα να περνάς τις μεταβλητές σου σε κάθε συνάρτηση, παρά να ψάχνεσαι τι είναι τι και από που έρχεται
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Python: Address Book

Δημοσίευσηαπό Ilias95 » 24 Αύγ 2011, 21:59

pmav99 έγραψε:Για την έκδοση 3 μπορείς να βάλεις σα στόχο να μετατρέψεις το πρόγραμμα από procedural σε Object Oriented. To πρόβλημα προσφέρεται.

Έτσι όπως το έχεις τώρα χρησιμοποιείς κατά κόρον global μεταβλητές που δεν είναι καλή πρακτική και δυνητικά μπορεί να οδηγήσει σε περίεργα bugs. Better be explicit than implicit. Καλύτερα να περνάς τις μεταβλητές σου σε κάθε συνάρτηση, παρά να ψάχνεσαι τι είναι τι και από που έρχεται


Εννοείς τις μεταβλητές που αφορούν τις επαφές να τις περάσω και αυτές μες τις κλάσεις; Δεν το σκέφτηκα έτσι. Θα το δοκιμάσω...
Οπότε και οι μεταβλητές θα γίνουν μεταβλητές κλάσεις ε;

Edit: Την 3η έκδοση θα την κάνω γραφική.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Επόμενο

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