Уведомления

Группа в Telegram: @pythonsu

#1 Июль 10, 2012 23:40:46

funnyman
Зарегистрирован: 2012-07-10
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Демон udp.

компенсировали плюсом, а за минус неприятно потому что не заслуженно, даже не разобравшись, хотя исключения и их обработка в самом примитивном викимане есть для начинающих в python..

Офлайн

#2 Июль 11, 2012 11:19:35

iandriyanov
Зарегистрирован: 2012-07-10
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Демон udp.

funnyman
компенсировали плюсом, а за минус неприятно потому что не заслуженно, даже не разобравшись, хотя исключения и их обработка в самом примитивном викимане есть для начинающих в python..

- Зашел
- Посоветовал, если что есть
- Пруф
- …
- Профит!

Ну, как то так! Попадает ваш ответ, похожий на “лишьбы отстали, чего нить напишу”, под профит?

Офлайн

#3 Июль 11, 2012 11:55:13

funnyman
Зарегистрирован: 2012-07-10
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Демон udp.

попадает, если уже написали прогу для работы с сокетами и бд, то про try и exept знать должны были, в этой конструкции ничего сложного нет обсалютно что бы расписывать ее.. хоть раздел для новичков чтение основ никто не отменял..

Офлайн

#4 Июль 11, 2012 20:44:15

iandriyanov
Зарегистрирован: 2012-07-10
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Демон udp.

Ну вот как то так, без рефакторинга.

Собственно try except, были бы не полными…кагбэ внизу все есть!


#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys                        # Standart library for compile source
import psycopg2                        # Library for use connection with pgsql
import simplejson                    # Lobrary for parse string in JSON
# Server program
from socket import *                    # Foll import library of using and create UDP server (sock)
from psycopg2 import pool
# Set the socket parameters
host = ""                        # Listen any interfaces
port = 5005                        # Port Listener
buf = 1500                        # Size buffer for UDP listener
addr = (host,port)                    # VARiable of sock connection
# Create socket and bind to address
UDPSock = socket(AF_INET,SOCK_DGRAM)            # The create of socket connection
UDPSock.bind(addr)                    # and accept configure
# Create class conn
pool = psycopg2.pool.SimpleConnectionPool(1, 2, 'host=localhost dbname=logger user=log')
pool_in = psycopg2.pool.SimpleConnectionPool(1, 2, 'host=localhost dbname=logger_py user=log')
# Connector pgsql
with open('out.txt', 'a') as f:        # -= Special for СКЛЕРОЗ =-
    # Receive messages
    while True:
        data,addr = UDPSock.recvfrom(buf)        # Recive the data input on host (listen up comment of 'addr') in standart stream on the UDPsock
        if data:                    # Statement of data
            res = simplejson.loads(data)        # VARiable of using standart lib simplejson for parse stream in data (Recived on UDPSock)
            
        try:
            try:
                con_sel = pool.getconn()
                cur_sel = con_sel.cursor()
                cur_sel.execute("select sid from users where wiegand26=%s", (res['CARDNUMBER'], ))
                sid = cur_sel.fetchone()[0]
            finally:
                pool_in.putconn(con) 
            con = pool_in.getconn()
            cur = con.cursor()
            cur.execute("insert into logger_py(point, datatime, event_id, cardnumber, firstname, lastname, dep, nick) values (%s, %s, %s, %s, %s, %s, %s, %s)", (res['POINT'], res['DATATIME'], sid, res['CARDNUMBER'], res['FIRSTNAME'], res['LASTNAME'], res['DEP'], res['MIDDLENAME']))
                                # This is string of request in database with 8(eight row) and 8(eight) Values, 
                                    # Which take the value of the parse content JSON
            con.commit()                # Send request after check on exploite or injection, and close connection
        except Exception as e:
            print "-=-=-=-=",e
            import traceback
            traceback.print_exc()
            f.write("\nReceived message '")        # -=  параллельно пишем  =-
            f.write(data)                # -=  полученные даныне  =-
            f.write("' ;")                # -=  в файл в каталоге  =- 
        finally:
            pool.putconn(con_sel)
            
        print "\nReceived message '", data,"'"  # DEBUG info
 
"""
while True:
    data,addr = UDPSock.recvfrom(buf)        # Recive the data input on host (listen up comment of 'addr') in standart stream on the UDPsock
    if data:                    # Statement of data
        res = simplejson.loads(data)        # VARiable of using standart lib simplejson for parse stream in data (Recived on UDPSock)
        
        try:
            cur.execute("insert into logger_py(point, datatime, event_id, cardnumber, firstname, lastname, dep, nick) values (%s, %s, %s, %s, %s, %s, %s, %s)", (res['POINT'], res['DATATIME'], res['EVENTID'], res['CARDNUMBER'], res['FIRSTNAME'], res['LASTNAME'], res['DEP'], res['MIDDLENAME']))
                                # This is string of request in database with 8(eight row) and 8(eight) Values, 
                                    # Which take the value of the parse content JSON
            con.commit()                # Send request after check on exploite or injection, and close connection
        except Exception:
                f = open('out.txt', 'a')
                f.write("\nReceived message '")        # -=  параллельно пишем  =-
                f.write(data)                # -=  полученные даныне  =-
                f.write("' ;")                # -=  в файл в каталоге  =- 
                f.close()
        print "\nReceived message '", data,"'"  # DEBUG info
"""       
# Close socket
UDPSock.close()

Офлайн

#5 Июль 11, 2012 20:45:08

iandriyanov
Зарегистрирован: 2012-07-10
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Демон udp.

Задавайте вопросы, постараюсь ответить, для пояснения быдло кода.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version