31 Ekim 2015 Cumartesi

www.tahribat.com sitesine ne oldu ?

Evet sevgili internet kullanıcıları "tahrip eden tahrip olur" sözü ne kadar gerçekçi değil mi?
Gün itibarı ile tahribat.com tahrib edilmiştir.
Para ile satılmış kişilikler ve sistemler her zaman yok olmaya küçülmeye mahkumdur.
Neden kendi insanlarına zarar verirler anlamış değilim. Belki karaktersizliklerinden olabilir. Yoksa yurdumuza gelen her dolar bu memleket içerisinde harcanıyorsa kimin kazandığının pek bir önemi yoktur.
Bir dönem malum yayın dağıtıcısı bir firmanın köpekliğini üstlenmişlerdir.
Şimdi sizi premium üyeliğiniz  kurtarsın, biliyorum ki o üyelikle bir çok kişinin masum sitelerine saldırarak zarar verdiniz.

Bilgiye sahip olmayan insanlarsınız diyemem ama adam değilsiniz !

Siteyi ziyaret etmek istediğinizde aşağıdaki resimdeki sayfa ile karşılaşacaksınız.



5 Eylül 2015 Cumartesi

Python TCP threading stream(bz2)

import socket
import thread


def run(clientsock,addr):
    "Burada kesinlikle karşılaştırma, sorgu veya koşul eklemeyinz(yanıt süreniz uzar)"
    try:
          
        a=clientsock.recv(BUFF)
                                   
        status = '200 OK'
        clientsock.send('HTTP/1.0 200 OK\r\n')
        clientsock.send('Content-type:application/x-bzip2\r\n')
        clientsock.send('Access-Control-Allow-Origin:*\r\n\r\n')
           
        clientsock.send(sıkılştırılmış_bz2_json_içerik)
        
        clientsock.close()
    except Exception,e:print e
   
class _main(): #CGI+ALL THREAD
    def run(self,salla):
        ADDR = (HOST, PORT)
        serversock = socket(AF_INET, SOCK_STREAM)
        serversock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
        serversock.setsockopt(IPPROTO_TCP, TCP_NODELAY, 1)
        serversock.bind(ADDR)
        serversock.listen(10)
        While True :
            try:
                #Burada kime yetki verecekseniz ona göre thread açın
                thread.start_new_thread(run, (clientsock, addr))

                   
            except Exception,e:print "thr start error :",e
           
if __name__ == "__main__":
    ma_in = _main()
    thread.start_new_thread(ma_in.run,(None,))

Python wsgi bz2 content (stream)

from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server
import bz2

def simple_app(environ, start_response):

    status = '200 OK'
    headers = [('Content-type', 'application/x-bzip2')]

    start_response(status, headers)

    word = ""
    for key, value in environ.iteritems():
        word += "%s: %s\n" % (key, value)
   
          
    ret = bz2.compress(word)
    return ret

httpd = make_server('', 8000, simple_app)
print "Serving on port 8000..."
httpd.serve_forever()

Python basit hafıza oyunu (Tkinter)

#! /usr/bin/python
# -*- coding: utf-8 -*-

import os
import thread,time
import random

import math

try:
    dirs = os.path.dirname(os.__file__).lower()
    if "python2" in dirs:
        from Tkinter import *
    elif "python3" in dirs:
        from tkinter import *
except Exception,e : print e

LARGE_FONT = ("Verdana",20)
color = 0

root = Tk()
frame = Frame(root)
root.title("Very Hard Memory Game !")
root.geometry("200x200")
root.resizable(0, 0)

Grid.rowconfigure(root, 0, weight=1)
Grid.columnconfigure(root, 0, weight=1)
frame.grid(row=0, column=0, sticky=N + S + E + W)
grid = Frame(frame)
grid.grid(sticky=N + S + E + W, column=0, row=8, columnspan=2)
Grid.rowconfigure(frame, 8, weight=1)
Grid.columnconfigure(frame, 0, weight=1)

class _zo : pass
zo = _zo()
zo.foo = []
zo.pick = None
zo.lq =[]
zo.a = {}
zo.level = 0
zo.lev_list = [4,9,16,25,36,49,64,81]
zo.miss = 0


def get_num(num):
    h = sorted(zo.a.keys())
    p = zo.foo.index(num)
    if num in zo.lq and num == zo.pick :
        zo.a["%0.2d_%d"%(p,num)].config(text=num, state="disabled")

        if len(zo.lq) > 1 :
            zo.lq.remove(num)
            zo.pick = ( random.choice(zo.lq))
            zo.a["my_lab"].config(text= "where is %d ?" % zo.pick)
        elif len(zo.lq) == 1:
            zo.lq = []
            zo.foo = []
            zo.pick = None
            zo.level = zo.level +1
            for s in zo.a.keys() :
                zo.a[s].destroy()
            zo.a = {}
            do_cube(zo.lev_list[zo.level])

   
    else:
        zo.miss += 1
        zo.a["my_lab"].config(text="Try again for (%d)!(Miss:%s)"%(zo.pick,zo.miss))   
       




def timot(hu):
    time.sleep(2)
    n = sorted(zo.a.keys())  

    for s in n :
        if not s.startswith("my"):
            y = zo.foo[n.index(s)]
            zo.a[s].config(text=y)
            time.sleep(1)
            zo.a[s].config(text="")
    zo.pick = random.choice(zo.foo)
    for j in n: zo.a[j].config(state="normal")
    zo.a["my_lab"].config(text="where is %d ?" %zo.pick)

def do_cube(many):
    bx = int(math.sqrt(many))
    w = (200+(200*(zo.level*0.15)))
    root.geometry("%dx%d+400+200" %(w,w+(20+(5*zo.level))))
   
   
    color = "orange","red","green","blue","yellow","brown","dodgerblue","pink"
    zo.foo  = random.sample(range(100),many)
    zo.lq = [e for e in zo.foo]

    for y in range(bx):
        for x in range(bx):
            ind = (x*bx) + y 
            rand_no = zo.foo[ind]
           
            butn = Button(frame, bg=color[x], command= lambda rand_no=rand_no:get_num(rand_no), font=LARGE_FONT,state="disabled")
            butn.grid(column=x, row=y, sticky=N + S + E + W)

            zo.a["%0.2d_%d"%(ind,rand_no)] = butn
           
    for x in range(bx):
        Grid.columnconfigure(frame, x, weight=1)
    for y in range(bx):
        Grid.rowconfigure(frame, y, weight=1)

    zo.a["my_lab"] = Label(root,text="ready !")
    zo.a["my_lab"].grid(column=0, row=bx+1, sticky=N + S + E + W,columnspan = bx)
   
   
    thread.start_new_thread(timot,(None,))


do_cube(zo.lev_list[zo.level])


root.mainloop()

2 Eylül 2015 Çarşamba

Python modbus RTU, ASCII , TCP-IP


Example scenario:


  1. Define a table
  2. Calculate CRC
  3. Convert to Byte Array
  4. Struct pack(only for tcp-ip)
Or buy some stuf on modbus.org , take unlimited python library.

py installer wxpython error (_core,_core_ etc.)

Şayet wx-2.8-gtk2-unicode modülünde herhangi bir probleminiz yoksa, varsa /usr/lib/python2.7/dist-packeges/ dizinindeki tüm wx dosyalarını silip tekrar kurun.

Aşağıdaki kütüphaneler objektif C dilini derlemesini sağlayacaktır.
    sudo apt-get install gobjc sudo apt-get install gnustep-devel
    Dosyayı indirin. dizine çıkarın,cd komutu ile dizine geçin,  make, sudo make install
    Dosyayı indirin , dizine çıkarın,cd komutu ile dizine geçin, make, sudo make install

     Pyinstaller devoloper indirin.

Dizine çıkarın ve pyinstaller-develop/bootloder dizinine geçin. 
Bu komutu uygulayın python ./waf configure build install

    Çıktı şöyle olacaktır :

    build install
    Linux-64bit detected
    Building LSB bootloader.
    Checking for program gcc or cc           : /usr/bin/gcc
    Checking for program cpp                 : /usr/bin/cpp
    Checking for program ar                  : /usr/bin/ar
    Checking for program ranlib              : /usr/bin/ranlib
    Checking for gcc                         : ok 
    Checking for program lsbcc               : /usr/local/bin/lsbcc
    Checking for LSB build tools >= 4.0      : LSB >= 4.0 is required




    pyinstaller ana dizinine geçip
    sudo python  setup.py install

    Şimdi gönül rahatlığı ile wx aplikasyonunuzu uygulamaya dönüştürebilirsiniz.

    pyinstalller --debug --onefile --window uygulamanız.py

    Uyarılar:  64bit Ubuntu 14.04 LTS de uygulanmıştır. Uygulama adınızda 'wx' kelimesini kullanmayınız..

26 Mart 2015 Perşembe

Add elements a tuple (Tüp e öğe ekleme)

>>> a = 1,2,3
>>> a += (4,) #add 4 in to a
>>> a
(1, 2, 3, 4)
>>>

10 Şubat 2015 Salı

How to build a non class app

>>> def a(words) : print words   
>>> x={}
>>> x["f"] = a
>>> x["f"]("deneme")
deneme #result

so if want to build non class app you need use a dict of per class.

but = Button(self.root,text:"dont click me !")
but.place(x=0,y=0,width=100)

gui_dict = {}
for i in range(4):
    temp_button = but
    temp_button.config(text=but.config('text')[-1].split(" ")[i])
    temp_button.config(x=((i+100)+10),y=40)
    gui_dict["button%0.2d"%(i+1)]  = temp_button #namespace

now you got 4 button :
names is : 'button01','button02','button03','button04'
text is : "dont","click","me","!"
for command,  need a tuple for recall

easy edit after any actions :
f = (1,2,3,4)
for e in range(len(gui_dict.keys())):
    gui_dict["button%0.2d"%(i+1)].config(text="%0.1d"%f[e])