Polskie Forum Użytkowników GIMP-a

Hyde zone => Hyde park => Wątek zaczęty przez: lion. on 15.03.2010, 15:49:38



Tytuł: phyton w windowsie - skrypt
Wiadomość wysłana przez: lion. on 15.03.2010, 15:49:38
Zapytam się tu bo wiem że kilka osób zna się na pythonie i liczę na pomoc :)

Na czym polega problem?:
Cytuj
Składa się on z dwóch części:
1. Odbierająca wiadomości na gg. Opiera się ona na EKG (eksperymentalny klient gadu). Skrypt napisany w Pythonie. Jeżeli w wiadomości znajduje się adres e-mail uruchamia część drugą.
2. Wysyłająca zaproszenia. Jest to skrypt w PHP wykorzystujący cUrl'a. Łączy się on ze stroną, loguje i wysyła zaproszenie na podany adres.
Cytuj
Skrypt do ekg
Kod:
#!/usr/bin/python
# -*- coding: iso-8859-2 -*-
import ekg
import os
import re
import subprocess

def init():
   ekg.printf("generic","Zaladowano")
   return 1

def deinit():
   ekg.printf("generic","Usunięto")
   return 1

def handle_msg(uin, name, msgclass, text, time, secure):
   if re.match(r"^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$",text):
      ekg.command("msg %s Zaproszenie zostalo wyslane"%(uin))
      pipe = subprocess.Popen(['/home/wd/Programy/Lockerz/SENDmodul/send', text ], stdout=subprocess.PIPE)
      ret = pipe.wait()
      return 1
   else:
      ekg.command("msg %s W wiadomosci powinien znajdowac sie tylko adres e-mail"%(uin))
   return 1

Część wysyłająca:
Kod:
#!/usr/bin/php
<?php
$email
=$argv[1];
$email=urlencode ($email);
$ch curl_init();
$ckfile tempnam ("/tmp""CURLCOOKIE");
curl_setopt ($chCURLOPT_COOKIEJAR$ckfile);
curl_setopt($chCURLOPT_URL'http://www.lockerz.com/auth/login');
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS'remember+me=on&handle=ADRES%40DOMENA&password=HASLO');
$page curl_exec($ch);
curl_setopt ($chCURLOPT_COOKIEFILE$ckfile);
curl_setopt($chCURLOPT_URL'http://www.lockerz.com/invitation/send_email_invites');
curl_setopt($chCURLOPT_POSTFIELDS"emails=$email&message=");
$page curl_exec($ch);
curl_close($ch);
?>

Cytuj
Do mojego postu wyżej dodałem kod skryptu wysyłającego.
W bocie do ekg musicie zmienić ścieżkę tak żeby wskazywała na ten skrypt, a w module wysyłającym wpisać swój e-mail i hasło.

Potrzebne pakiety:
php5, php5-cli, php5-curl
ekg

Dostałem parę PW dotyczących z pytaniem jak to uruchomić na Windowsie. Prawdopodobnie jakoś się da, ale jest to skrypt na Linuksa.

Nic z tego nie rozumiem zbyt. Użytkownik po wpisaniu emaila w komunikatorze gg dostaje zaproszenie do Lockerz. Nie wiem czy skrypt działa na windowsowym GG. Oraz czym są te pakiety? Jak uruchomić skrypt na Windowsie?





Tytuł: Odp: phyton w windowsie - skrypt
Wiadomość wysłana przez: Funik on 15.03.2010, 16:36:09
http://www.python.org.pl/
Tutaj masz stronkę FAQ i wiki co do pythonow. A co do tego czy na Windowsie się uruchomi to wątpię żeby było to proste bo skrpyt jest przeznaczony pod Linuxa.


Tytuł: Odp: phyton w windowsie - skrypt
Wiadomość wysłana przez: lion. on 15.03.2010, 17:27:18
Emm, dlaczego ktoś zmienił w code link do strony w "dałem się nabrać"?


Tytuł: Odp: phyton w windowsie - skrypt
Wiadomość wysłana przez: Ziomioslaw on 15.03.2010, 18:57:35
No ta linia to raczej zadziała tylko na Linuksie:

Kod:
pipe = subprocess.Popen(['/home/wd/Programy/Frajerz/SENDmodul/send', text ], stdout=subprocess.PIPE)

Nie napisałeś który skrypt chcesz uruchomić (tylko jeden z jest w Pythonie, drugi jest w PHP) i co dokładnie nie działa.
Potrzebujesz zainstalować obsługę PHP pod Windows, albo przepisać ten PHP do Pythona, cURL jest obecny chyba w każdym języku.

Emm, dlaczego ktoś zmienił w code link do strony w "dałem się nabrać"?

No, bo dałeś się ;)


Tytuł: Odp: phyton w windowsie - skrypt
Wiadomość wysłana przez: lion. on 15.03.2010, 22:17:02
No ta linia to raczej zadziała tylko na Linuksie:

Kod:
pipe = subprocess.Popen(['/home/wd/Programy/Frajerz/SENDmodul/send', text ], stdout=subprocess.PIPE)

Ehh no cóż trudno :P. Dzięki za fatygę temat do zamknięcia.


Tytuł: Odp: phyton w windowsie - skrypt
Wiadomość wysłana przez: Ziomioslaw on 15.03.2010, 22:19:09
Można było próbować zamienić ścieżkę na Windowsową.