FF Multi Converter

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

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

Re: FF Multi Converter

Δημοσίευσηαπό Ilias95 » 05 Δεκ 2011, 15:54

Updated to 1.2.0

Προστέθηκαν:

- Επιλογή για output destination.
- Καρτέλα "Προτιμήσεις" με επιλογές για την αποθήκευση και την ονομασία των αρχείων.
- Μια δεύτερη μπάρα στον διάλογο που εμφανίζεται κατά την μετατροπή η οποία δείχνει την πρόοδο του κάθε αρχείου ξεχωριστά (το αποτέλεσμα είναι εμφανές μόνο στις μετατροπές video), ενώ επίσης εμφανίζεται το όνομα του αρχείου που μετατρέπεται εκείνη την στιγμή.
- Επιλογή για τερματισμό του υπολογιστή μετά την ολοκλήρωση των μετατροπών. (Με την προϋπόθεση ότι η εντολή shutdown βρίσκεται στο sudoers)

Μεγάλο μέρος του κώδικα διορθώθηκε και ξαναγράφτηκε, όπως επίσης το UI είναι πλέον γραμμένο όλο σε κώδικα (χωρίς την χρήση του QtDesigner).

Στόχος πλέον να προστεθούν περισσότερες επιλογές στις μετατροπές (αρχής γενομένης από τις μετατροπές video).
Αν υπάρχει κάποιος με γνώσεις πάνω στα πολυμέσα (κυρίως βίντεο) και θέλει να βοηθήσει στην ανάπτυξη της εφαρμογής ας επικοινωνήσει μαζί μου.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: FF Multi Converter

Δημοσίευσηαπό clepto » 05 Δεκ 2011, 16:14

Ηλία επειδή γράφεις
έγραψε:όπως επίσης το UI είναι πλέον γραμμένο όλο σε κώδικα (χωρίς την χρήση του QtDesigner).
μου γεννήθηκε η εξής απορία
υπάρχει κάποιο πρόβλημα με την χρήση του QtDesigner; ελπίζω όχι γιατί και εγώ το ui με αυτό το κάνω...
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: FF Multi Converter

Δημοσίευσηαπό Ilias95 » 05 Δεκ 2011, 16:20

clepto έγραψε:Ηλία επειδή γράφεις
έγραψε:όπως επίσης το UI είναι πλέον γραμμένο όλο σε κώδικα (χωρίς την χρήση του QtDesigner).
μου γεννήθηκε η εξής απορία
υπάρχει κάποιο πρόβλημα με την χρήση του QtDesigner; ελπίζω όχι γιατί και εγώ το ui με αυτό το κάνω...

Όχι κανένα πρόβλημα.
Απλά μερικές φορές όταν το ui δεν είναι πολύ μεγάλο "συμφέρει" να το γράψεις κατευθείαν σε κώδικα ώστε να μην χρειάζεται σε κάθε αλλαγή να κάνεις generate τον python κώδικα από το .ui αρχείο, αλλά και γιατί είναι πιο εύκολο να κάνεις διάφορες δοκιμές. Επίσης γλιτώνεις και 2 αρχεία.
Βέβαια ο καθένας χρησιμοποιεί ότι τον βολεύει.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: FF Multi Converter

Δημοσίευσηαπό clepto » 05 Δεκ 2011, 16:22

α κατάλαβα...
ελπίζω μέσα στα Χριστούγεννα να ανεβάσω και εγώ το πρόγραμμα κρυπτογράφησης φακέλων γραμμένο σε Python από την αρχή :)
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: FF Multi Converter

Δημοσίευσηαπό pmav99 » 07 Δεκ 2011, 00:46

Ilias95 έγραψε:Updated to 1.2.0

Ανανέωσα τα πακέτα για το Arch. Έχω φτιάξει 2 πακέτα, ένα για τις stable εκδόσεις και ένα για την devel έκδοση στο github. Αν δεν βαριέσαι βάλε και το δεύτερο στο Wiki
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: FF Multi Converter

Δημοσίευσηαπό Ilias95 » 07 Δεκ 2011, 01:24

pmav99 έγραψε:
Ilias95 έγραψε:Updated to 1.2.0

Ανανέωσα τα πακέτα για το Arch. Έχω φτιάξει 2 πακέτα, ένα για τις stable εκδόσεις και ένα για την devel έκδοση στο github. Αν δεν βαριέσαι βάλε και το δεύτερο στο Wiki

Ωραία θα το προσθέσω. Αν και μέχρι τώρα έκανα commit στο github μόνο όταν ήταν έτοιμη η stable έκδοση. Από δω και πέρα θα περνάω σταδιακά τις όποιες αλλαγές για να φαίνονται και αργότερα.

Θα αντικαταστήσω μέσα στις επόμενες μέρες και το wiki με κάποιο home page αλλού, και θα δημιουργήσω και χώρο για μεταφράσεις.
Προς το παρών screenshots της νέας έκδοσης εδώ: https://github.com/Ilias95/FF-Multi-Converter/wiki/Screenshots
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: FF Multi Converter

Δημοσίευσηαπό pmav99 » 07 Δεκ 2011, 01:38

Ηλία, καλύτερα να αποφεύγεις πάντα το from package import *
Κάνει τα rope, pylint κτλ και το code completion να μη δουλεύουν τόσο καλά. Με τόσο μεγάλα πακέτα όσο το PyQt είναι λίγο φασαρία να τα κάνεις import ένα ένα, αλλά μια φορά το κάνεις και τελειώνεις.

Κώδικας: Επιλογή όλων

x = 0
for tab in tabs:
label1 = QLabel(labels[0])
label2 = QLabel(labels[1])
box1 = from_boxes[x]
box2 = to_boxes[x]
tab_layout = QGridLayout()
tab_layout.addWidget(label1, 0, 0)
tab_layout.addWidget(box1, 0, 1)
tab_layout.addWidget(label2, 1, 0)
tab_layout.addWidget(box2, 1, 1)
widget = QWidget()
widget.setLayout(tab_layout)
self.TabWidget.addTab(widget, tab)
x += 1

Αντί για χ=0, χ+=1 κτλ περίεργα βάλε ένα enumerate. Σε Python γράφεις ;)

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

class MyTab(QWidget):
def __init__(self, parent):
super(MyTab, self).__init__(parent)
self.parent = parent

layout = QFormLayout()
self.from_combobox = QComboBox()
self.to_combobox = QComboBox()
layout.addRow(self.tr("Convert from"), self.from_combobox)
layout.addRow(self.tr("Convert to"), self.to_combobox)
self.setLayout(layout)

def update_comboboxes(self):
self.from_combobox.addItems(self.formats)
self.to_combobox.addItems(self.formats)

class AudioTab(MyTab):
def __init__(self, parent):
super(AudioTab, self).__init__(parent)
self.parent = parent

self.formats = self.parent.audio_formats
self.update_comboboxes()

class ImageTab(MyTab):
def __init__(self, parent):
super(ImageTab, self).__init__(parent)
self.parent = parent

self.formats = self.parent.image_formats
self.update_comboboxes()

....
# προσέθεσε τα παρακάτω στην κύρια κλαση
self.TabWidget.addTab(AudioTab(self), "My Audio")
self.TabWidget.addTab(ImageTab(self), "My Images")
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: FF Multi Converter

Δημοσίευσηαπό pmav99 » 07 Δεκ 2011, 01:46

Ilias95 έγραψε:commit
push θέλεις να πεις :P Ή κρατάς 2 ξεχωριστά repositories? Αν ναι, αυτό που θέλεις να κάνεις είναι branches. Αυτό θεωρείται καλό scheme αλλά για τόσο μικρό project είναι μάλλον περιττό. Αυτό είναι πιο κατάλληλο πιστεύω

Αν δεν έχεις χώρο, ή βαριέσαι να στήνεις αλλού, το github νομίζω σου επιτρέπει να ανεβάσεις και σελίδα για τα projects σου (αλλά μόνο στατικές αν θυμάμαι καλά). Πχ, αυτή.

Για τις μεταφράσεις τσέκαρε το transifex, αν και ίσως να αρκεί κάτι τέτοιο
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: FF Multi Converter

Δημοσίευσηαπό Ilias95 » 07 Δεκ 2011, 15:34

pmav99 έγραψε:Κάνει τα rope, pylint κτλ και το code completion να μη δουλεύουν τόσο καλά.

Μπορείς να μου εξηγήσεις τις παρακάτω έννοιες; Δεν τις έχω ξανασυναντήσει. Αυτό που λες ισχύει και για το from package import something αντίστοιχα;

pmav99 έγραψε:Αντί για χ=0, χ+=1 κτλ περίεργα βάλε ένα enumerate. Σε Python γράφεις ;)

:D
pmav99 έγραψε:Και κάτι ακόμα. Το τμήμα αυτό του κώδικα μπορεί να γραφεί με αρκετά πιο αντικειμενοστραφή τρόπο. Επειδή το συγκεκριμένο είναι πολύ απλό, είναι πιο σύντομη η υλοποίηση που έχεις κάνει (όσον αφορά τις γραμμές κώδικα), όμως δες πως θα μπορούσε να γίνει:
Κώδικας: Επιλογή όλων
class MyTab(QWidget):
def __init__(self, parent):
super(MyTab, self).__init__(parent)
self.parent = parent

layout = QFormLayout()
self.from_combobox = QComboBox()
self.to_combobox = QComboBox()
layout.addRow(self.tr("Convert from"), self.from_combobox)
layout.addRow(self.tr("Convert to"), self.to_combobox)
self.setLayout(layout)

def update_comboboxes(self):
self.from_combobox.addItems(self.formats)
self.to_combobox.addItems(self.formats)

class AudioTab(MyTab):
def __init__(self, parent):
super(AudioTab, self).__init__(parent)
self.parent = parent

self.formats = self.parent.audio_formats
self.update_comboboxes()

class ImageTab(MyTab):
def __init__(self, parent):
super(ImageTab, self).__init__(parent)
self.parent = parent

self.formats = self.parent.image_formats
self.update_comboboxes()

....
# προσέθεσε τα παρακάτω στην κύρια κλαση
self.TabWidget.addTab(AudioTab(self), "My Audio")
self.TabWidget.addTab(ImageTab(self), "My Images")

Πολύ ωραίο. Βέβαια πέρα του ότι είναι μεγαλύτερο (σε μέγεθος), δημιουργούνται και 5 επιπλέον κλάσεις. Δεν ξέρω αν έχει ιδιαίτερη σημασία αυτό.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: FF Multi Converter

Δημοσίευσηαπό Ilias95 » 07 Δεκ 2011, 15:54

pmav99 έγραψε:push θέλεις να πεις :P

Σωστά. Αλλά μέχρι τώρα έκανα μαζί το commit στο repo του git και το push στο github. :P Όχι δεν κρατάω ξεχωριστά repositories.

pmav99 έγραψε:Αν δεν έχεις χώρο, ή βαριέσαι να στήνεις αλλού, το github νομίζω σου επιτρέπει να ανεβάσεις και σελίδα για τα projects σου (αλλά μόνο στατικές αν θυμάμαι καλά).

Έλεγα να το κάνω στης Google όπου προσφέρονται και πολλά έτοιμα templates και themes. Μπορεί και στο github να προσφέρονται δεν ξέρω. Θα το ψάξω πρώτα.
pmav99 έγραψε:Για τις μεταφράσεις τσέκαρε το transifex, αν και ίσως να αρκεί κάτι τέτοιο

Για τις μεταφράσεις βρήκα και αυτό: http://crowdin.net/. Έχει ωραία χαρακτηριστικά (όπως ο online editor) και είναι δωρεάν για open source projects.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

ΠροηγούμενηΕπόμενο

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