Advertisement
freakrho

PyCube

Oct 25th, 2012
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.85 KB | None | 0 0
  1. #PyCube v1.0
  2. from tkinter import *
  3. from tkinter import ttk, filedialog
  4. import os, glob, urllib.request
  5. root = Tk()
  6. root.title("PyCube v1.0")
  7. mainframe = ttk.Frame(root, padding="12 12 12 12")
  8. mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
  9. mainframe.columnconfigure(0, weight=1)
  10. mainframe.rowconfigure(0, weight=1)
  11.  
  12. bd = 5
  13. rel = 'solid'
  14. rel2 = 'ridge'
  15. padd = 6
  16.  
  17. workd = os.getcwd()
  18. HDList = StringVar()
  19. PCList = StringVar()
  20. dir1 = StringVar()
  21. dir2 = StringVar()
  22.  
  23. def chooseDir1():
  24.     dirname = filedialog.askdirectory(parent=root,initialdir="C:\\",title='Seleccione la carpeta 1')
  25.     dir1.set(dirname)
  26.    
  27. def chooseDir2():
  28.     dirname = filedialog.askdirectory(parent=root,initialdir="C:\\",title='Seleccione la carpeta 1')
  29.     dir2.set(dirname)
  30.  
  31. def checkgames(namesList,dirs):
  32.     games = []
  33.     codesList = [row[0] for row in namesList]
  34.     for n in range(len(codesList)):
  35.         if codesList[n] in dirs:
  36.             games.append(namesList[n][1])
  37.     lista = ''
  38.     for juego in games:
  39.         lista = lista + juego
  40.     return lista
  41.  
  42. def refresh():
  43.     os.chdir(dir2.get())
  44.     dirs = glob.glob('*')
  45.     os.chdir(dir1.get())
  46.     getGames = glob.glob('*')
  47.  
  48.     ##Leer archivo###
  49.     os.chdir(workd)
  50.     in_file = open('nameslist.txt','rt')
  51.     namesList = []
  52.     lista = ''
  53.     for line in in_file.readlines():
  54.         y = [value for value in line.split(' = ')]
  55.         namesList.append( y )
  56.         lista = lista + y[0] + '\t' + y[1]
  57.     in_file.close()
  58.     #################
  59.  
  60.  
  61.     PCList.set(checkgames(namesList,dirs))
  62.     HDList.set(checkgames(namesList,getGames))
  63.     gamesLC.configure(state='normal')
  64.     gamesLC.delete(1.0, END)
  65.     gamesLC.insert(END, str(lista))
  66.     gamesLC.configure(state='disabled')
  67.  
  68. ##Creaciones
  69. ###Frames
  70. pcFrame = ttk.Frame(root, padding=padd, borderwidth=bd, relief=rel)
  71. hdFrame = ttk.Frame(root, padding=padd, borderwidth=bd, relief=rel)
  72. clFrame = ttk.Frame(root, padding=padd, borderwidth=bd, relief=rel)
  73. dir1sel = ttk.Frame(root, padding=padd, borderwidth=bd)
  74. dir2sel = ttk.Frame(root, padding=padd, borderwidth=bd)
  75. ###Titulos
  76. titlePC = ttk.Label(pcFrame, text="Carpeta 1:", relief=rel2)
  77. titleHD = ttk.Label(hdFrame, text="Carpeta 2:", relief=rel2)
  78. titleLC = ttk.Label(clFrame, text="Lista completa:", relief=rel2)
  79. ###Listas
  80. gamesPC = ttk.Label(pcFrame, textvariable=PCList)
  81. gamesHD = ttk.Label(hdFrame, textvariable=HDList)
  82. gamesLC = Text(clFrame, state='disabled')
  83. scrollbar = Scrollbar(clFrame)
  84. gamesLC.configure(wrap=WORD, yscrollcommand=scrollbar.set, width=50, font=("Helvetica", 8))
  85. direc1 = ttk.Label(dir1sel, textvariable=dir1)
  86. direc2 = ttk.Label(dir2sel, textvariable=dir2)
  87. ##Botones
  88. dir1Button = ttk.Button(dir1sel, text='Seleccionar carpeta 1', command=chooseDir1)
  89. dir2Button = ttk.Button(dir2sel, text='Seleccionar carpeta 2', command=chooseDir2)
  90. refButton = ttk.Button(root, text='Refrescar', command=refresh)
  91.  
  92. ##Grids
  93. dir1sel.grid(column=0, row=0, sticky=(N, W, E, S))
  94. dir2sel.grid(column=1, row=0, sticky=(N, W, E, S))
  95. refButton.grid(column=2,row=0, sticky=(N, W, E, S))
  96. pcFrame.grid(column=0, row=1, sticky=(N, W, E, S))
  97. hdFrame.grid(column=1, row=1, sticky=(N, W, E, S))
  98. clFrame.grid(column=2, row=1, sticky=(N, W, E, S))
  99.  
  100. direc1.grid(column=0, row=0, sticky=(N, W, E, S))
  101. direc2.grid(column=0, row=0, sticky=(N, W, E, S))
  102. dir1Button.grid(column=1, row=0, sticky=(N, W, E, S))
  103. dir2Button.grid(column=1, row=0, sticky=(N, W, E, S))
  104.  
  105. titlePC.grid(column=0, row=0, sticky=(N, W, E, S))
  106. titleHD.grid(column=0, row=0, sticky=(N, W, E, S))
  107. titleLC.grid(column=0, row=0, sticky=(N, W, E, S))
  108. gamesPC.grid(column=0, row=1, sticky=(N, W, E, S))
  109. gamesHD.grid(column=0, row=1, sticky=(N, W, E, S))
  110. scrollbar.grid(column=2, row=1, sticky=(N, W, E, S))
  111. gamesLC.grid(column=0, row=1, sticky=(N, W, E, S))
  112.  
  113. scrollbar.config(command=gamesLC.yview)
  114.  
  115. root.mainloop();
  116. os.chdir(workd)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement