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

[INFO] Η δύναμη της Κονσόλας


Manos-Sx

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

  • Απαντ. 889
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Ναι, ρε συ. :P

 

Ίσως κάτι παίζει με το SysRq. Αν και έχω δοκιμάσει κάθε πιθανό συνδυασμό που έχω διαβάσει πως μπορεί να θέλει.


Αν το σύστημα δεν είναι κολλημένο, παίζει.

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

#!/bin/bash
##################################################################################
## "echo $DISPLAY"look at the current setting of DISPLAY while you are logged in.#
## "crontab -e"edit the cronetab                                                 #
## created 15/06/2014 by chris sv8xxx                                            #
##################################################################################
URL="http://www.skroutz.gr/s/4771538/Samsung-Galaxy-S4-I9506-16GB.html"
PRICE=$"345,00"
##################################################################################
price_now=($(curl $URL | egrep lowPrice |awk -F'[^0-9,;]*' '$0=$4'))
if [ $PRICE == $price_now ]; then
echo Η τιμή παραμένει η ίδια
else
echo $URL
echo Η τιμή άλλαξε
#aplay /home/`id -un`/dif/Sweepdow.wav
export DISPLAY=:1
zenity --text-info --html --url=$URL --title='Η τιμή άλλαξε!  Παλαιά τιμή:'"$PRICE Νέα τιμή:$price_now" --width=430 --height=600
fi

Εφτιαξα ενα script που μπορει να φανει χρησιμο σε καποιον οπως ειναι, η σαν προτυπο για κατι αλλο.

Οταν τρεxει παρακολουθει στο site skroutz την εξελιξη της τιμης ενος προιοντος, και ειδοποιει για τυχον αλλαγες.

Απαιτει το curl και zenity.

Το βαζουμε στο crontab και το ξεχναμε εως οτου αλλαξει η τιμη του προιοντως, οποτε μας πεταει ενα παραθυρο ειδοποιησης.

Eχει και ηχητικη ειδοποιηση  xixi

  Εγκατασταση:

To τοποθετουμε οπου θελουμε,το κανουμε εκτελεσιμο,περναμε το url της σελιδας με το προιον που μας ενδειαφερει στη θεση URL=,

και στη θεση PRICE=$ γραφουμε την τρεχουσα τιμη,(αριστερα στη σελιδα κατω απο τη φωτο.)

Τρεχουμε echo "$DISPLAY" και το αποτελεσμα το τοποθετουμε στη θεση: export DISPLAY=

Το βαζουμε να εκτελειτε απο τον cron.

  Δοκιμη

Bαζουμε διαφορετικη τιμη του προιοντος απο την τρεχουσα και εκτελουμε απο κονσολα το script. Πρεπει να δουμε αυτο το παραθυρο:

Ειμαι του νιπιαγωγειου αν και γέρος μη βαρατε

Y.Γ. Αν το δοκιμασεται μην βαλετε μικρους χρονους και κανετε συνεχεια δοκιμες θα φατε BAN.

post-164150-0-15118200-1402924002_thumb.png

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

1. Θα ήταν καλύτερο αν έλεγχε τη μεταβολή της τιμής. Πχ να σε ειδοποιει αν η τιμή μειώθηκε κατά 10% ή περισσότερο

2. επίσης θα ήταν καλύτερα αν έστελνε ένα email. Για να μπορείς πχ να το βάλεις να τρέχει σε ένα server.

3. Για να μην τρέχεις πολλά instances, θα μπορούσες να διαβάζεις μια λίστα απο (προιόντα-τιμές) από ένα csv αρχείο.

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

1. Θα ήταν καλύτερο αν έλεγχε τη μεταβολή της τιμής. Πχ να σε ειδοποιει αν η τιμή μειώθηκε κατά 10% ή περισσότερο

2. επίσης θα ήταν καλύτερα αν έστελνε ένα email. Για να μπορείς πχ να το βάλεις να τρέχει σε ένα server.

3. Για να μην τρέχεις πολλά instances, θα μπορούσες να διαβάζεις μια λίστα απο (προιόντα-τιμές) από ένα csv αρχείο.

Σε ευχαριστω pmav99

Πολλα θα μπορουσε..Τι μπορω εγω χαχα.

Το μαιλ το στελνει και την καφετιερα αναβει και sms στελνει αρκει να μπουν οι καταλληλες εντολες κατω απο το else

 

Το 3. ειναι πραγματικα μια πολλυ καλη ιδεα.

 

 

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

Δημοσ. (επεξεργασμένο)

@SV8XXX

Ειδοποίηση με email έχει ήδη το bestprice.gr. Απλά μια εγγραφή θέλει. Μου φαίνεται περίεργο που δεν έχει το skroutz. Δεν έχουν πάντως ακριβώς τα ίδια μαγαζιά, οπότε ίσως αξίζει να τσεκάρεις και τα δύο.

 

Τέλος πάντων, επειδή ήθελα να δοκιμάσω και κάποια πραγματάκια, κάθισα και το έκανα σε python 3. Για την ώρα τσεκάρει μόνο το skroutz (αν δεν βαρεθώ θα το κάνω να τσεκάρει και το bestprice). Θέλει λίγο γυάλισμα ακόμα αλλά είναι usable. Το τσέκαρα με python 3.3 και 3.4

 

Αν θες να το δοκιμάσεις, μπορείς να κάνεις τα εξής:

 

1. Κάνε clone to repository

git clone https://github.com/pmav99/check_prices.git

2. Κάνε edit το "compare_prices.ini" και βάλε τα στοιχεία σου (username/password). Για την ώρα ξέρει να στέλνει email μόνο σε Gmail και GMX*

 

3. φτιάξε ένα CSV (πχ "products.csv" ή ότι όνομα δηλώσεις στο αρχείο *.ini) με περιεχόμενο όπως το ακόλουθο (link, αρχική τιμή, ποσοστό μείωσης):

http://www.skroutz.gr/s/994771538/Samsung-Galaxy-S4-I9506-16GB.html,355,15
http://www.skroutz.gr/s/4771538/Samsung-Galaxy-S4-I9506-16GB.html,355,15
http://www.skroutz.gr/s/4771538/Samsung-Galaxy-S4-I9506-16GB.html,355,1.5

4. Το τρέχεις (μέσω cron ή χειροκίνητα)

 

Για κάθε γραμμή του CSV τσεκάρει την τιμή στο skroutz και αν η μεταβολή της είναι μεγαλύτερη από το ποσοστό που δήλωσες, τότε σου στέλνει email στους recipients που δήλωσες στο *.ini

 

* Επειδή προσωπικά δεν θέλω να αποθηκεύω κωδικούς από email, έχω φτιάξει ένα account στο gmx.com και το έχω για τέτοιες δουλειές.

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

@ pmav99

Δεν μπορεσα να το τρεξω

 

 

[chris@debian ~]$ python '/home/chris/check_prices/check_prices.py' 
Traceback (most recent call last):
  File "/home/chris/check_prices/check_prices.py", line 18, in <module>
    from utils import Configuration, setup_logging
  File "/home/chris/check_prices/utils/__init__.py", line 11, in <module>
    from urllib.request import urlopen
ImportError: No module named request
[chris@debian ~]$ python --version
Python 2.7.7
[chris@debian ~]$ 

 

 

Μπραβο για την προσπαθεια σου, αλλα θα εκφρασω καποια αντιρρηση.

Το να ελενχεται η μεταβολη της τιμης εχει μεν προγραμματιστικο ενδειαφερον αλλα πρακτικα δεν μπορει

να εφαρμοστει για τους εξης λογους:

α) Αν υποθεσουμε οτι θεσουμε οριο ειδοποιησης τα 15% της τιμης και αυτη αλλαξει κατα 14,9%, που πρακτικα αναλογως του ποσου ειναι ελαχιστη διαφορα, θα χασουμε την ειδοποιηση.

 

β) H επισκεψη στη σελιδα κρινεται αναγκαια διοτι Υπαρχουν και αλλοι παραγοντες που καθοριζουν την

αποφαση μας για την τελικη αγορα.

1) Αν το προιον ειναι ετοιμοπαραδωτο.

2) Η αξιοπιστεια του καταστηματος.

3) Χρεωσεις μεταφορικων κτλ σε σχεση με αλλο κατ/μα με παραπλησια η ομοια τιμη.

4) Μια μεγαλη βουτια προς τα κατω ειναι αληθεια συμφερουσα τιμη η εινα ελφρως ελαττωματικο προιον.

Εκτος αν δεν καταλαβα καλα τι εννοεις, μιας και δεν μπορεσα να το δω στην πραξη.

 

Email εστειλα κανονικοτατα με Link.png Site: sendEmail

Απαιτουνται για SSL πιστοποιηση Gmail ...

libnet-ssleay-perl

libcrypt-ssleay-perl

libio-socket-ssl-perl

Και σε debianοειδη οποιος δει αυτο το error:ERROR => Received:530 5.7.0 Must issue a STARTTLS command first.

Πρεπει να αλλαξει στο /usr/share/perl5/IO/Socket/SSL.pm

Απο: m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))$}i

Σε   : m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))}i

 

To script που εκτελειται ειναι αυτο:

#!/bin/bash
# Define sender's detail  email ID
From_Mail="[email protected]"

# Sender's Username and password account for sending mail
Sndr_Uname="${From_Mail}"
Sndr_Passwd="yourpassword"

# Define recepient's email ID
To_Mail="[email protected]"

# Define CC to (Note: for multiple CC use ,(comma) as seperator )
# CC_TO=""

# Define mail server for sending mail [ IP:PORT or HOSTNAME:PORT ]
RELAY_SERVER="smtp.gmail.com:587"

# Subject
Subject="Test Mail using SendEmail"

# Mail Body

MSG() {

cat <<_EOF
Αλλαγή Τιμής μπλα μπλα

_EOF

}

sendEmail.pl -v -f ${From_Mail} \
                     -t ${To_Mail} -u "${Subject}" \
                     -o tls=auto \
                     -m `MSG` \
                     -xu "${Sndr_Uname}" \
                     -xp "${Sndr_Passwd}" \
                     -s "${RELAY_SERVER}" \
                     -cc "${CC_TO}" \
                     -a /home/chris/dif/NewPrice.txt

Και το τροποποιημενο αρχικο script:

#!/bin/bash
##################################################################################
## "echo $DISPLAY"look at the current setting of DISPLAY while you are logged in.#
## "crontab -e"edit the cronetab                                                 #
## created 15/06/2014 by chris sv8xxx                                         #
##################################################################################
URL="http://www.skroutz.gr/s/4771538/Samsung-Galaxy-S4-I9506-16GB.html"
PRICE=$"345,00"
##################################################################################
price_now=($(curl $URL | egrep lowPrice |awk -F'[^0-9,;]*' '$0=$4'))
if [ $PRICE == $price_now ]; then
echo Η τιμή παραμένει η ίδια
else
echo $URL
echo Η τιμή άλλαξε
aplay /home/`id -un`/dif/Sweepdow.wav
exec /home/chris/dif/sendEmail-v156/sm.sh
echo "$URL
Παλαιά τιμή:$PRICE Νέα τιμή:$price_now" > /home/`id -un`/dif/NewPrice.txt
export DISPLAY=:1
zenity --text-info --html --url=$URL --title='Η τιμή άλλαξε!  Παλαιά τιμή:'"$PRICE Νέα τιμή:$price_now" --width=430 --height=600
fi

Αυτα ειναι τα παιχνιδια μου χαχα

Υ.Γ. ο mailer ειναι πολυ καλος για χρηση σε servers.

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

Νομίζω ότι το έγραψα. Θέλει python 3 για να τρέξει.

 

 

α) Αν υποθεσουμε οτι θεσουμε οριο ειδοποιησης τα 15% της τιμης και αυτη αλλαξει κατα 14,9%, που πρακτικα αναλογως του ποσου ειναι ελαχιστη διαφορα, θα χασουμε την ειδοποιηση.

Όπως και αν έχει, κάπου πρέπει να υπάρχει ένα όριο. Διαφορετικά θα παίρνεις διαρκώς ειδοποιήσεις ακόμα και για αμελητέες διαφοροποιήσεις στην τιμη. Εσύ διαλέγεις το όριο. Ουσιαστικά πρέπει να απαντήσεις πόσα χρήματα είσαι διατεθειμένος να ξοδέψεις για ένα προϊόν. Αν δεν έχεις ξεκάθαρη απάντηση, απλά βάζεις πιο χαμηλό όριο (ή απλά πας και αγοράζεις κατευθείαν αυτό που θες :P)

 

Από εκεί και πέρα το script το μόνο που κάνει είναι να σε ειδοποιεί ότι κάποιο κατάσταστημα μείωσε την τιμή ενός προιόντος. Τίποτα περισσότερο, τίποτα λιγότερο. Απλά σου στέλνει ένα email. Ούτε αγοράζει για εσένα ούτε τίποτα.

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

Δημοσ. (επεξεργασμένο)

τι γινεται με την tar 1.27 και τα xattrs?

mkdir test
echo "mpeee" > test/koko
setfattr -n user.do_i_own -v "YES" test/koko
getfattr -d -R test
# file: test/koko
user.do_i_own="YES"
tar cvpf test.tar --xattrs test/
mkdir out
tar xvpf test.tar -C out/
getfattr -d -R out/test
Ψοφησε το xattr

Με bsdtar δουλευει. Σε arch αυτα (tar 1.27.1-1). Τι κανω λαθος? Mηπως επειδη στο laptop εχω παλιο και custom kernel (3.0.68-1-lts-laptop)?

Σε fedora για να βγουν πρεπει να βαλω --xattrs-include='*' στο extract, εδω δεν δουλεψε.



SOLVED, θελει --xattrs και στο extract.

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

Παιδια καλησπερα και συγχαρητιρια για τα προγραμματακια που φτιαχνετε,ηθελα να ρωτησε αυτες οι γλωσσες που γραφεται αυτα τα προγραμματα λεγονται scripting γλωσσες?Τι διαφορα εχουν απο μια κανονικη γλωσσα προγραμματισμου?Ασχολουμε με C λιγο και θα θελα να μου προτεινετε καμια τετοια γλωσσα που ειναι κοντα στην C(το συντακτικο) για να ειναι πιο ευκολα για μενα,σε λινουξ παντα μιλαμε,να σται καλα και καλο βραδυ σε ολους

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

  • 2 μήνες μετά...
Δημοσ. (επεξεργασμένο)

#!/bin/bash

koko() {
  for i in {1..21}; do 
    echo mpee
    sleep 0.1
  done
}

total=21
pstr="[#################]"
echo -n "--------------------------------]"

koko | while read ln; do
  b=$(( b + 1 ))
  per=$(( $b * 20 / $total ))
  printf "\rWorking:%4d%% %.${per}s" $(( $b * 100 / $total )) $pstr
done

 

Γινεται να πετυχω το ιδιο αποτελεσμα μονο με την printf μεσα στην koko, ανθρωπινα χωρις τo echo?

 

Βαριεμαι να διαβασω την printf :P

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

Γινεται να πετυχω το ιδιο αποτελεσμα μονο με την printf μεσα στην koko, ανθρωπινα χωρις τo echo?

 

Βαριεμαι να διαβασω την printf :P

Τεμπελχανά :P

 

#!/bin/bash

koko() {
  for i in {1..21}; do 
  pstr="########################"
  dstr="------------------------"
  echo -ne "\rWorking:[${pstr:0:$i}${dstr:0:21-$i}]"
  sleep 0.1
  done
}

koko
Σου κάνει κάτι τέτοιο ?

 

Η έκφραση ${pstr:0:$i} αντί να σου δώσει όλο το pstr σου επιστρέφει μόνο ένα υπό-αλφαριθμητικό του, από τη θέση 0 μέχρι τη θέση $i δηλαδή θα σου εμφανίσει i διέσεις #. Αντίστοιχα η άλλη έκφραση θα σου δώσει 21-i παύλες. Όσο μεγαλώνει το i θα αυξάνονται οι διέσεις και θα μειώνονται οι παύλες.

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

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

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

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

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

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

Σύνδεση

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

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