Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.51 KB | None | 0 0
  1. # -*- coding: cp1252 -*-
  2. from __future__ import print_function
  3. from Tkinter import *
  4. import threading
  5. import urllib
  6. import webbrowser
  7. import os
  8. import fileinput
  9.  
  10. root = Tk()
  11.  
  12. root.focus_force()
  13.  
  14. #define o tamanho da janela:
  15. root.minsize(700,500)
  16. root.maxsize(700,500)
  17.  
  18. #variaveis globais:
  19. global texto_link
  20. global meter_links
  21. global listbox
  22.  
  23. #variavel de continuação de funçoes:
  24. hiperlink = True
  25. hipertrue = True
  26. supertrue = True
  27.  
  28. #vaiavel de atualizacao:
  29. atualiza = True
  30.  
  31. #lista temporária de links:
  32. lista = []
  33.  
  34. #titulo da janela
  35. root.title("Links Úteis - FastLabPyTool")
  36.  
  37. #icone do canto:
  38. root.wm_iconbitmap('icone.ico')
  39.  
  40. #texto auxiliar:
  41. def texto_auxiliar():
  42. texto_link = Label(root, text = "Insere aqui o Link:", font = "Arial 10")
  43. texto_link.place(x = 30, y = 50)
  44. texto_auxiliar()
  45.  
  46. #insere caixas de texto:
  47. meter_links = Entry(root, width = 70, fg = "blue")
  48. meter_links.place(x = 150, y = 50)
  49.  
  50. #Ficheiro:
  51. filename = "linkers.txt"
  52.  
  53. #coloca a lista de links:
  54. def lista_links(f, line, item):
  55. listbox = Listbox(root, width = 105, height = 20, bg = "cyan", fg = "blue")
  56. with open(filename, "r") as f:
  57. f = f.readlines()
  58. for line in f:
  59. listbox.insert(END, line)
  60. listbox.bind('<Button-3>', lambda event: eventos_linkers(event, line, f, listbox, line, item))
  61. listbox.place(x = 20, y = 100)
  62. lista_links(hiperlink, hipertrue, supertrue)
  63.  
  64. #conecta o link à internet:
  65. def link_conections(listbox):
  66. items = listbox.curselection()
  67. for item in items:
  68. item = listbox.get(item)
  69. webbrowser.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open(item)
  70.  
  71. #apaga os links seleccionados do arquivo:
  72. def delete_links_arq(listbox, line, item):
  73. f = open(filename, "r")
  74. lines = f.readlines()
  75. f.close()
  76. f = open(filename, "w")
  77. for line in lines:
  78. if item in line:
  79. f.write(item.replace(line, ''))
  80. f.close()
  81.  
  82. """for line in fileinput.input(filename, inplace=True):
  83. if ( line):
  84. continue
  85. print (line, end='')"""
  86.  
  87. #apaga os links:
  88. def delete_links(listbox, items, f, line, item):
  89. items = listbox.curselection()
  90. for item in items:
  91. listbox.delete(item, item)
  92. items = listbox.curselection()
  93. item = listbox.get(item)
  94. delete_links_arq(listbox, line, item)
  95.  
  96. #abre opções de linker através de eventos:
  97. def eventos_linkers(event, items, f, listbox, line, item):
  98. link_options = ["Abrir Hiperligação", "Eliminar Hiperligação"]
  99. menu_options = Menu(root)
  100. menubar = Menu(root, tearoff = 0)
  101. menubar.add_cascade(label = link_options[0], command = lambda: link_conections(listbox))
  102. menubar.add_cascade(label = link_options[1], command = lambda: delete_links(listbox, items, f, line, item))
  103. menubar.tk_popup(event.x_root, event.y_root)
  104.  
  105. #decide se a caixa de texto contem um link:
  106. def links_name(f, line, item):
  107. texto = meter_links.get()
  108. abrir = open(filename, "a")
  109. if (len(str(texto))) > 0:
  110. abrir.write((texto) + "n")
  111. abrir.close()
  112. texto = 0
  113. lista_links(f, line, item)
  114. links_name(hiperlink, hipertrue, supertrue)
  115.  
  116. #coloca os botoes:
  117. def botoes(f, line, item):
  118. botao_submit = Button(root, text = "Guardar Link", bg = "cyan", fg = "black", command = lambda: links_name(f, line, item))
  119. botao_submit.place(x = 600, y = 45)
  120. botoes(hiperlink, hipertrue, supertrue)
  121.  
  122. #Apenas se valer mesmo a pena :)
  123. """
  124. #cria um proceso no CPU:
  125. def processo():
  126. try:
  127. processar = thread.start_new_thread( print_time, ("Thread-1", 2, ) )
  128. processar.start()
  129. except:
  130. print "ERRO: Impossível criar processo!"
  131. processo()
  132. """
  133. #acaba o programa:
  134. root.lift()
  135. root.mainloop()
  136.  
  137. menubar.add_cascade(label = link_options[1],
  138. command = lambda: delete_links(listbox, items, f, line, item))
  139.  
  140. #apaga os links:
  141. def delete_links(listbox, items, f, line, item):
  142. items = listbox.curselection()
  143. for item in items:
  144. listbox.delete(item, item) # Aqui você deleta o item selecionado
  145. items = listbox.curselection()
  146. item = listbox.get(item) # E aqui você acha que obtem o item selecionado
  147. delete_links_arq(listbox, line, item) # Por fim, você passa um valor errado aqui
  148.  
  149. #apaga os links:
  150. def delete_links(listbox, items, f, line, item):
  151. items = listbox.curselection()
  152. for index in items:
  153. item = listbox.get(index) # Obtem o item selecionado
  154. items = listbox.curselection()
  155. listbox.delete(index) # Deleta o item
  156.  
  157. delete_links_arq(listbox, line, item) # Aqui você passa o valor correto
  158.  
  159. #apaga os links seleccionados do arquivo:
  160. def delete_links_arq(listbox, line, item):
  161. f = open(filename, "r") # Abre em modo somente leitura
  162. lines = f.readlines()
  163. f.close()
  164. f = open(filename, "w") # Abre em modo de escrita
  165. for line in lines:
  166. if item in line:
  167. f.write(item.replace(line, '')) # Aqui você não está removendo a linha
  168. f.close() # Fecha o arquivo precocemente
  169.  
  170. """for line in fileinput.input(filename, inplace=True):
  171. if ( line):
  172. continue
  173. print (line, end='')"""
  174.  
  175. #apaga os links seleccionados do arquivo:
  176. def delete_links_arq(listbox, line, item):
  177. for line in fileinput.input(filename, inplace=True):
  178. if item in line: # Se o link estiver nessa linha então faça
  179. pass # Não faz nada, pula
  180. else: # Se não
  181. print(line, end='') # Escreve a linha no arquivo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement