Προς το περιεχόμενο

Script που απαντάει όλες τις ερωτήσεις σχετικά με Ubuntu


drpaneas

Προτεινόμενες αναρτήσεις

Παιδιά, καλημέρα,

 

Έγραψα ένα σκριπτάκι σε Python 2.7 όπου γράφετε μία ερώτηση (φράση) ή ο,τιδήποτε θα γράφετε στο Google και αυτό σας επιστρέφει την πιο σωστή απάντηση. Έτσι αντί να ανοίξετε τον browser, να ψάξετε στο Google, να δείτε τα αποτελέσματα, να διαβασετε το αρθρο που θα βρειτε κλπ, απλά έχετε την απάντηση που ψάχνετε.

 

Πως το κάνει αυτό;

Αρχικά ψάχνει στο Google με search query στο AskUbuntu.com, μετά πάει στο πρώτο link, πηγαίνει στο Votes tab έτσι ώστε να έχει τις απαντήσεις με τις ψήφους πάνω-πάνω και σας την εμφανίζει.

 

Ρίξτε μια ματια στο βιντεακι που το περιγράφω, νομίζω θα σας φανεί αρκετά χρήσιμο για μία γρήγορη λύση του ποδαριου όταν ξεχάσετε καποια εντολή ή κατι τετοιο.

 

http://www.youtube.com/watch?v=zRMcT1uwjis

  • Like 3
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Απο οτι ειδα στο βιντεο, καλο μεν, αλλα...

 

- Αντι να βαζει το ιδιο το σκριπτακι τις εξαρτησεις που θελει για να παιξει, να αναφερεται καπου οτι "θελει αυτο, αυτο και αυτο το προσθετο για την python" ή ακομα καλυτερα το πραγματικο ονομα του πακετου.

- Οπως ειναι φτιαγμενο, τρεχοντας χωρις παραμετρους, ειναι σαν ενα online "σκονακι", πεταει δηλαδη την εντολη που πρεπει να δωσει ο χρηστης στο τερματικο, χωρις καποια εξηγηση. Με τις παραμετρους που το κανουν να δειχνει ολο το αρθρο στο askubuntu.com φαινεται πιο ωραιο, αρα πιστευω αυτη θα επρεπε να ειναι η default συμπεριφορα.

Ακομα καλυτερα αν δινει το url για να το πατησεις να ανοιξει στον browser, σε οποιαδηποτε απο τις παραπανω περιπτωσεις.

- Και ενα τελευταιο, για το οποιο δεν φταις εσυ. Οι απαντησεις δεν ειναι παντα σωστες. Πχ για την nvidia λεει να βαλεις ενα τριτο ppa repo και να τους κανεις εγκατασταση απο εκει, για τον chrome κατεβαζει το 64αρι πακετο, το youtube-dl το κατεβαζει σαν σκετο εκτελεσιμο αντι να το βαζει απο το repo.

 

Αυτα :)

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Με μια γρήγορη ματιά στον κώδικα,

 

1. Το να χρειάζεται να τρέχεις με sudo ένα απλό script που κάνει ένα απλό GET είναι κάπως...

2. Το να εγκαθιστά δε και πακέτα χωρίς να σε ρωτάει είναι κάπως^2... Νομίζω ότι είναι πιο απλό να πετάς απλά ένα μήνυμα

    Missing dependencies. Please install them with "sudo apt-get install ..."

3. Αν το αφήσεις όπως είναι, τότε το time.sleep(3) δεν χρειάζεται, τζάμπα καθυστερείς το execution. Επίσης μπορείς να μαζεύεις σε μια λίστα όλα τα missing dependencies, ούτως ώστε να προσθέτεις τα ppa και να τρέχεις το "sudo apt-get update" μία φορά μόνο.

4. Καλύτερα αντικατέστησε τα os.system() με subprocess.call_check ή ό,τι νομίζεις καλύτερο. Ειναι λίγο πιο verbose, αλλά θα μπορείς να κάνεις catch ένα exception αν πάει κάτι στραβά όταν τρέχει το apt-get.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πολυ καλή ιδέα όντως. Αν έχεις όρεξη να τη συνεχίσεις θα σου πρότεινα να τη κάνεις "παραθυρική" εφαρμογή με embed κονσόλα κάτω-κάτω αλα netbeans π.χ. Ubuntu είναι η πρώτη διανομή που διάλεγει συνηθως κάποιος απο windows και είναι δύσκολο να πάει κατευθείαν σε κονσόλα και να εκτελέσει το script με "./". Εντάξει το main frame της εφαρμογής σου δε θα είναι τόσο complex και τέλειο οσο του netbeans, κάτι πιο απλό. Κώδικα βαρέθηκα να κατεβάσω τώρα ίσως κάποια άλλη μέρα, πάντως συμφωνώ με το feedback των αποπάνω και ιδίως με τα 1,4 του pmav99 και το 1 απο jim_p.

#Άλλη προτάση που έχω να σου κάνω είναι π.χ Ερώτηση: How do we execute a script from the command line

Απάντηση we navigate to the directory where the script is located, we make it executable by running the command chmod u+x /path/to/file and then we execute it like this ./file

Ένα μικρό μανουαλ δηλ. εισαγωγής στη κονσόλα και βασικές εργασίες με αυτη.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Νομίζω ότι ο mad-professor έχει δίκιο για το GUI. Ούτε δύσκολο πολύ θα είναι να το κάνεις, ούτε χρειάζεται να είναι κάτι περίπλοκο. Ένα menu για τα clear cache κτλ, ένα textbox για να γράφεις τις ερωτήσεις, ένα spinbox για το πόσες απαντήσεις να επιστρέφει κτλ

 

Μπορείς να το κάνεις με Tk, αν και εγώ παίζει να το έκανα με PyQt. Μετά θα φτιάξεις και ένα πακέτο deb, θα στήσεις και ένα ppa και θα είσαι άρχοντας

 

Και η ιδέα για το έτοιμο από πριν FAQ δεν είναι κακή.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Νομίζω ότι ο mad-professor έχει δίκιο για το GUI. Ούτε δύσκολο πολύ θα είναι να το κάνεις, ούτε χρειάζεται να είναι κάτι περίπλοκο. Ένα menu για τα clear cache κτλ, ένα textbox για να γράφεις τις ερωτήσεις, ένα spinbox για το πόσες απαντήσεις να επιστρέφει κτλ

 

Μπορείς να το κάνεις με Tk, αν και εγώ παίζει να το έκανα με PyQt. Μετά θα φτιάξεις και ένα πακέτο deb, θα στήσεις και ένα ppa και θα είσαι άρχοντας

 

Και η ιδέα για το έτοιμο από πριν FAQ δεν είναι κακή.

 

Και εγω για PyQT σκεφτομαι, αλλα για την ωρα θα βελτιώσω το script σύμφωνα με τις πολύ καλές παρατηρήσεις των παιδιών από πάνω. Επίσης παιδιά, το script είναι στο GitHub, μπορεί να το κάνετε fork όσοι θέλετε.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν πας σε gtk http://stackoverflow.com/questions/11804455/how-to-send-commands-to-pygobject-virtual-terminal/11810239#11810239

αυτο εδώ είναι έτοιμο virtual terminal δουλευει τέλεια, εγκαθιστάς μόνο τα απαραίτητα πακέτα devel/headers(vte3,gtk3,pygobject,glib). Μόλις το τέσταρα κ sudo και απο όλα. Gtk is not dead.

Λογικά με ένα μενου, ένα textbox και ένα slider/spinbox καθαρίζεις. Χμ ίσως το κάνω clone και εγώ

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τωρα ειμαι σε φάση εξεταστικής οπότε δεν έχω χρόνο να το κάνω άμεσα, θα ξανα ασχοληθώ με το script μετά τον Φεβρουάριο. Ευχαριστώ πολύ για το feedback. You rock \m/

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Είσαι φοβερός , drpaneas αν καιδεν ξέω πολλά απο python μου φάνηκε

πολύ καλή η ιδέα σου..Τι γίνετε όμως όταν κάποιος δεν έχει Internet ?

Θα μπορούσε κάθε 2-3 μέρες να κατεβάζει τα σχόλια η τις απαντήσεις

και να τις αποθηκεύει κάπου , έτσι ώστε ο χρήστης να αναζητά Offline ?

 

Δεν ξέρω αν το σκέφτομαι σωστά :(

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@codesix

Αυτό που λες απαιτεί να κάνεις scrape όλο το askubuntu. Δε νομίζω ότι είναι και πολύ πρακτικό να το κάνει ο κάθε ένας που εγκαθιστά την εφαρμογή (πολύ bandwidth και πολύς χρόνος). Αν και θα μπορούσε να γίνει από το drpaneas για τις top ερωτήσεις (για το FAQ που λέγαμε) και να τις έχεις μαζί με το deb.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...