mad-proffessor Δημοσ. 26 Φεβρουαρίου 2015 Μέλος Share Δημοσ. 26 Φεβρουαρίου 2015 Ευχαρίστως όπως βλέπεις είναι ψιλό ότι να'ναι ο κώδικας χρίζει βελτίωσης. Κ εγώ δεν έχω χρόνο αυτό το καιρό, γι'αυτό την έκανα ίσα να δουλεύει.Χτες πρόσθεσα σχόλια σε κάποια σημεία να ξέρει κάποιος αν θέλει να ασχοληθεί.Θα μπω github να δω αν κανεις pull. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
pmav99 Δημοσ. 26 Φεβρουαρίου 2015 Share Δημοσ. 26 Φεβρουαρίου 2015 Λογικά θα σου έρθει ειδοποίηση στο email όταν κάνω κάτι (ή όποιος άλλος) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mad-proffessor Δημοσ. 1 Μαρτίου 2015 Μέλος Share Δημοσ. 1 Μαρτίου 2015 Τελικά βρήκα χρόνο κ κάτι έκανα. Ένας να δοκιμάσει το install.py? Tραβάει αλλαγές απο ρεπο σβήνει χρήστη απο systemd-journal group σβήνει αρχεία systemd-notify.desktop, systemd-notify.py απο /etc/xdg/autostart και /usr/local/bin αντίστοιχα sudo python3 install.py python3 Come on, feedback Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
warlock9_0 Δημοσ. 1 Μαρτίου 2015 Share Δημοσ. 1 Μαρτίου 2015 θα το δοκιμάσω αύριο λογικά επίσης άσχετο, δεν είχα πολυδουλέψει python, αλλά κάνω τώρα για μια εργασία σε django και Γ@μάει! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mad-proffessor Δημοσ. 1 Μαρτίου 2015 Μέλος Share Δημοσ. 1 Μαρτίου 2015 Ναι είναι πολυ καλή γλώσσα αν έχω κάποιο παράπονο είναι οτι δεν έχει manual σαν της php online , ψάχνω να βρώ τι επιστρέφουν οι συναρτήσεις κ δε λένε στις περισσότερες. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
pmav99 Δημοσ. 2 Μαρτίου 2015 Share Δημοσ. 2 Μαρτίου 2015 Ένας να δοκιμάσει το install.py? Νομίζω ότι θα ήταν καλύτερο να κάνεις ένα setup.py δεν έχει manual σαν της php online. ψάχνω να βρώ τι επιστρέφουν οι συναρτήσεις κ δε λένε στις περισσότερες. ??? Python 2 Python 3 Αντιγράφω ένα τυχαίο παράδειγμα tempfile.TemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None]]]]])Return a file-like object that can be used as a temporary storage area. The file is created using mkstemp(). It will be destroyed as soon as it is closed (including an implicit close when the object is garbage collected). Under Unix, the directory entry for the file is removed immediately after the file is created. Other platforms do not support this; your code should not rely on a temporary file created using this function having or not having a visible name in the file system. The mode parameter defaults to 'w+b' so that the file created can be read and written without being closed. Binary mode is used so that it behaves consistently on all platforms without regard for the data that is stored. bufsize defaults to -1, meaning that the operating system default is used. The dir, prefix and suffix parameters are passed to mkstemp(). The returned object is a true file object on POSIX platforms. On other platforms, it is a file-like object whose file attribute is the underlying true file object. This file-like object can be used in a with statement, just like a normal file. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mad-proffessor Δημοσ. 2 Μαρτίου 2015 Μέλος Share Δημοσ. 2 Μαρτίου 2015 @pmav Έψαχνα να βρώ πως να ανοίξω ένα αρχείο σε read-write mode. Έπρεπε να googlαρω και να διαβάσω πόσα σαιτ κ πόσα stackoverflow posts για να καταλάβαω οτι αυτο γίνεται με with open Στη σελίδα της python με os.open δεν έλεγε πότε να χρησιμοποίησεις την builtin open με λεπτομέρειες. Εγω πίστευα οτι με open,read,write(με κάποια lock παράμετρο) και close θα την έκανα τη δουλειά μου. Οταν γράφεις php ειλικρινά περα απο το manual δε χρείαζεσαι κάτι άλλο. Μιλάμε έχουν για κάθε συνάρτηση ολόκληρη σελίδα με λεπτομέρειες παραδείγματα. Δες π.χ http://php.net/manual/en/function.fopen.php http://php.net/manual/en/function.file-get-contents.php Ολόκληρη σελίδα για κάθε μια συνάρτηση μόλες τι λεπτομέρειες που θες να ξέρεις. Στη python έχουν μια σελίδα όλες οι misc os functions π.χ. Πίστεψε με στη παραγωγικότητα κάνει διαφορά. Τώρα θα μου πεις αν είχες διαβάσει κανα βιβλίο python δε θα τα έλεγες αυτά. Ε τι να κάνουμε δε γίνεται να διαβάζουμε για κάθε γλώσσα που θέλουμε να σχοληθούμε βιβλίο. Τώρα για την εφαρμογή θέλει μόνο κάποιους ελέγχους παραπάνω το install.py και να δίνει στο χρήστη τη δυνατότητα να βάζει σα raw_input ποιες services θέλει να "παρακολουθεί" ώστε να γράφει στο αρχείο desktop Exec=/usr/local/bin/systemd-notify.py iptables.service rc.local.service Αυτα θα τα διαβάζει απο τη systemd-notify.py και θα ξεκινάει τη κλάσση DbusNotify με τη λίστα που του έδωσε σα raw input ο χρήστης. Πέρα απο αυτά κ το documentation της κάθε συνάρτησης σε πρώτη φάση δε θέλει κάτι αλλο. Εγω δε νομίζω να ασχοληθώ πάντως Aν κάποιος θέλει να ασχοληθει πιο ολοκληρωμένη λύση θα είναι να αλλάξει τη συνάρτηση run() της κλάσσης DbusNotify και να προσθέσει 3 παραμέτρους Μία boolean με default τιμη False για τον αν θα ξεκινάει, μία παράμετρο λίστα με τις υπηρεσίες που θελει ο χρήστης να ειδοποιείται με default αυτές που έχουμε ήδη, και μια int με τo χρονικό διάστημα σε λεπτά που θα τρέχει το thread. Αυτες τις τιμές θα τις παίρνουμε απο το raw_input στη main μετά. Ευχαρίστως να κάνω merge κώδικα, υπαρχουν 2 branches ένα experimental με δοκιμές ότι θέλετε και το master με τεσταρισμένο κώδικα. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mad-proffessor Δημοσ. 3 Μαρτίου 2015 Μέλος Share Δημοσ. 3 Μαρτίου 2015 Ξέχασα να πω αν κάποιος ψήνεται για gui κ άλλες προκλήσεις μπορεί να γίνει αντι για raw_input απο κονσόλα να παίρνει το input του χρήστη με γραφικό(κατα την εγκατάσταση). Απλά σε αυτη τη περίπτωση θα πρέπει να κάνει setuid 0 μέσα απο τη python και όχι απο sudo, su κτλ.Αλλά αφού κάνει τις απαραίτητες δουλειές που πρέπει μέσα απο uid=0 (cp, chmod) μετά θα πρέπει να κάνει setuid σε αυτο που ήταν όταν εκτελεστηκε το install.py στην αρχή. Μιά αρχική προσπάθεια υπάρχει στο experimental branch απο μένα. Όπως βλέπετε υπάρχει δουλειά να γίνει, όρεξη να έχει κανείς. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
pmav99 Δημοσ. 3 Μαρτίου 2015 Share Δημοσ. 3 Μαρτίου 2015 Τώρα θα μου πεις αν είχες διαβάσει κανα βιβλίο python δε θα τα έλεγες αυτά. Ε τι να κάνουμε δε γίνεται να διαβάζουμε για κάθε γλώσσα που θέλουμε να σχοληθούμε βιβλίο. όχι αλλά κάποιος που ξέρει προγραμματισμό, βγάζει πρώτα πχ αυτό https://docs.python.org/3.4/tutorial/ και μετά ξεκινάει. Ή αν βιάζεται πολύ, αυτό: http://www.stavros.io/tutorials/python/(προσωπικά δεν το συνιστώ γιατί παραείναι σύντομο αλλά περι ορέξεως). Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mad-proffessor Δημοσ. 15 Μαρτίου 2015 Μέλος Share Δημοσ. 15 Μαρτίου 2015 Εδω κ κάποιες μέρες η εφαρμογή έφτασε σε ένα milestone, ευχαριστώ όσους δώσαν feedback. Αν κ θα μπορούσε να γίνει περαιτέρω δουλειά(π.χ ένα gui εγκατάστασης), δε νομίζω ότι είναι απαραίτητο λόγω της κοινής πεποίθεσης ότι ένας χρήστης linux είναι ικανός να τρέξει απο command line με sudo ένα αρχείο. 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
BugsGounelas Δημοσ. 16 Μαρτίου 2015 Share Δημοσ. 16 Μαρτίου 2015 Μια χαρα σε βρισκω! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mad-proffessor Δημοσ. 16 Μαρτίου 2015 Μέλος Share Δημοσ. 16 Μαρτίου 2015 Από bugs εννοείς; Ευχαριστώ ήταν απλή εφαρμογή, ούτε uml δε χρειάστηκε, έπρεπε να αποφασίσω μόνο για τα threads, τι κ πώς. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
BugsGounelas Δημοσ. 30 Μαρτίου 2015 Share Δημοσ. 30 Μαρτίου 2015 Από bugs εννοείς; Ευχαριστώ ήταν απλή εφαρμογή, ούτε uml δε χρειάστηκε, έπρεπε να αποφασίσω μόνο για τα threads, τι κ πώς. ε ναι,γενικα και καλος κωδικας και καλη ιδεα! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mad-proffessor Δημοσ. 2 Απριλίου 2015 Μέλος Share Δημοσ. 2 Απριλίου 2015 (επεξεργασμένο) Ασχοληθήκα λίγο ξανα με την εφαρμογή, έχουν προστεθει κάποια πράγματα + ένα experimental feauture που κάνει την εφαρμογή μας να έχει μια artificial intelligence χροια. Πρεπει να κάνετε clone checkout το experimental branch και να εγκαταστήσετε τις libs για fedora,arch: espeak για debian: espeak, espeak-data τουλάχιστον έτσι τις βρήκα στο google σε εμένα πρέπει να είχαν περάσει σα dependencies απο την εγκατάσταση του festival. Περισσότερες πληροφορίες για το πως εγκαθιστάται η εφαρμογη στο README του git(experimental branch). Επεξ/σία 2 Απριλίου 2015 από mad-proffessor Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mad-proffessor Δημοσ. 8 Απριλίου 2015 Μέλος Share Δημοσ. 8 Απριλίου 2015 Νομίζω μετα το espeak δε χωράει κάτι άλλο στο systemd-notify. Έκανα merge κώδικα που χρησιμοποιει το python-speak πακέτο με native python calls χωρίς να χρειάζεται κλήση συστήματος λειτουργικού. Τώρα για validation κ sanitazition του input στο setup.py δε νομίζω οτι χρειάζεται δεδόμενου του γεγονότος ότι εσείς δίνετε input -όχι κάποιος που θέλει να βλάψει το σύστημα σας. Κ τι validation να γινει όταν υπάρχουν πάνω απο 100 services? Επίσης τώρα μπορείτε να κάνετε εγκάτασταση όσες φορές θέλετε χωρίς πρόβλημα, προστέθηκε μια function που κάνει reset το αρχείο systemd-notify.desktop που εγκαθιστάται στο /etc/xdg/autostart. Αυτο που μου αρέσει στην εφάρμογη είναι ότι ο κάθενας μπορεί να τη προσωποποιήσει , να τη φέρει στα μέτρα του προσθέτωντας λίγες γραμμές κώδικα. Π.χ στη κλάσση LogReader κάτω απο το pattern μπορεί να βάλει μια άλλη μεταβλητή για να βρίσκει απο τα logs το μήνυμα που τον ενδιαφέρει. Αρκει ένα elif branch κάτω απο το if. Είναι θέμα δικό σας τι θα ψάχνετε δεν υπάρχει κάτι standard που θα το υλοποιήσω εγω κ θα αρέσει σε όλους.Υπάρχουν χιλιες δυό υλοποιήσεις,μπορείτε π.χ να μετατρέψετε την εφαρμογή σε ids μέσω LOG target απο το iptables ή pam auth failures μέσω του debug parameter. Ελπίζω να ήταν χρήσιμη κ να άρεσε. Για την έκδοση που μιλάει κιόλας (με το espeak ) κάνετε checkout experimental branch, για την απλή το master. Φιλικά, Γιώργος Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα