Advertisement
Guest User

Untitled

a guest
Jan 15th, 2018
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.09 KB | None | 0 0
  1. import pygtk
  2.  
  3. pygtk.require('2.0')
  4. import gtk
  5. from mayan_api_client import API
  6. api = API(host='http://www.sspu-opava.cz:82', username='Dave', password='dbvjdu123')
  7. dokument=""
  8. metadata=""
  9.  
  10.  
  11.  
  12. class RadioButtons:
  13. def callback(self, widget, data=None):
  14. print "%s was toggled %s" % (data, ("OFF", "ON")[widget.get_active()])
  15.  
  16. def close_application(self, widget, event, data=None):
  17. gtk.main_quit()
  18. return False
  19.  
  20. def __init__(self):
  21. self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  22.  
  23. self.window.connect("delete_event", self.close_application)
  24.  
  25. self.window.set_title("Typ dokumentu")
  26. self.window.set_border_width(0)
  27.  
  28. box1 = gtk.VBox(False, 0)
  29. self.window.add(box1)
  30. box1.show()
  31.  
  32. box2 = gtk.VBox(False, 10)
  33. box2.set_border_width(10)
  34. box1.pack_start(box2, True, True, 0)
  35. box2.show()
  36.  
  37.  
  38. buttons = []
  39. position = 0
  40. for result in api.documents.document_types.get()['results']:
  41. button = gtk.RadioButton(buttons[position - 1] if position > 0 else None, result['label'])
  42. button.connect('toggled', self.callback, result['id'])
  43. box2.pack_start(button, True, True, 0)
  44. button.show()
  45. buttons.append(button)
  46. position += 1
  47.  
  48.  
  49.  
  50.  
  51.  
  52. separator = gtk.HSeparator()
  53. box1.pack_start(separator, False, True, 0)
  54. separator.show()
  55.  
  56. box2 = gtk.VBox(False, 10)
  57. box2.set_border_width(10)
  58. box1.pack_start(box2, False, True, 0)
  59. box2.show()
  60.  
  61. button = gtk.Button("post")
  62. button.connect_object("clicked", self.close_application, self.window,
  63. None)
  64. box2.pack_start(button, True, True, 0)
  65. button.set_flags(gtk.CAN_DEFAULT)
  66. button.grab_default()
  67. button.show()
  68. self.window.show()
  69.  
  70. def main():
  71. gtk.main()
  72. return 0
  73.  
  74.  
  75. if __name__ == "__main__":
  76. RadioButtons()
  77. main()
  78.  
  79.  
  80.  
  81. class text_box:
  82. def hello(self, widget, entry):
  83. entry_text = self.entry.get_text()
  84. print("Entry contents: ".format(entry_text))
  85.  
  86.  
  87. def delete_event(self, widget, event, data=None):
  88. print("Delete even occurred")
  89. return False
  90.  
  91. def submit(self, button):
  92. try:
  93. input = self.entry.get_text()
  94. print(float(input))
  95. return input
  96. except ValueError:
  97. print("This is not a number...")
  98. self.md = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "This is not a number")
  99. self.md.set_position(gtk.WIN_POS_CENTER)
  100. self.md.run()
  101. self.md.destroy()
  102.  
  103.  
  104. def enter(self, button):
  105. try:
  106. input = self.entry.get_text()
  107. input = float(input)
  108. print(input)
  109. return input
  110. except ValueError:
  111. self.md = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "This is not a number")
  112. self.md.run()
  113. self.md.destroy()
  114. print("This is not a number...")
  115.  
  116.  
  117.  
  118. def destroy(self, widget, data=None):
  119. gtk.main_quit()
  120.  
  121. def __init__(self):
  122.  
  123. self.fix = gtk.Fixed()
  124.  
  125. #create a new window
  126. self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  127. self.window.set_size_request(300, 300)
  128. self.window.set_title("metadata")
  129. self.window.set_position(gtk.WIN_POS_CENTER)
  130. vbox = gtk.VBox(False,0)
  131. self.window.add(vbox)
  132. vbox.show()
  133.  
  134.  
  135. self.window.connect("delete_event", self.delete_event)
  136. self.window.connect("destroy", self.destroy)
  137. self.window.set_border_width(10)
  138. self.button = gtk.Button("Submit")
  139. self.button.connect_object("clicked", self.submit, self.window)
  140.  
  141.  
  142. for result in api.metadata.metadata_types.get()['results']:
  143. self.entry = gtk.Entry()
  144. self.label = gtk.Label(result['name'])
  145. vbox.pack_start(self.label, False, False, 0)
  146. self.label.show()
  147. self.entry.set_max_length(20)
  148. self.entry.select_region(0, len(self.entry.get_text()))
  149. self.entry.connect_object("activate", self.enter, self.window)
  150. vbox.pack_start(self.entry, False, False, 0)
  151. self.entry.show()
  152.  
  153.  
  154.  
  155. vbox.pack_start(self.button, False, False, 00)
  156. self.button.show()
  157.  
  158. self.window.show()
  159.  
  160. def main(self):
  161. gtk.main()
  162. return 0
  163.  
  164. if __name__ == "__main__":
  165. hello = text_box()
  166. hello.main()
  167.  
  168.  
  169.  
  170.  
  171.  
  172. def main():
  173. # file filters used with the filechoosers
  174. filter = gtk.FileFilter()
  175. filter.set_name("Images")
  176. filter.add_mime_type("image/png")
  177. filter.add_mime_type("image/jpeg")
  178. filter.add_mime_type("image/gif")
  179. filter.add_pattern("*.png")
  180. filter.add_pattern("*.jpg")
  181. filter.add_pattern("*.gif")
  182. filter.add_pattern("*.tif")
  183. filter.add_pattern("*.xpm")
  184. all_filter = gtk.FileFilter()
  185. all_filter.set_name("All files")
  186. all_filter.add_pattern("*")
  187.  
  188. window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  189. window.set_title("Native Filechooser")
  190.  
  191. window.connect("destroy", lambda wid: gtk.main_quit())
  192. window.connect("delete_event", lambda e1, e2: gtk.main_quit())
  193.  
  194. button_open = gtk.FileChooserButton("Open File")
  195. button_open.add_filter(filter)
  196. button_open.add_filter(all_filter)
  197. button_open.connect("selection-changed", on_file_selected)
  198.  
  199. window.add(button_open)
  200. window.show_all()
  201. print dokument
  202.  
  203. def on_file_selected(widget):
  204. filename = widget.get_filename()
  205. print "File Choosen: ", filename
  206. with open(filename) as file_object:
  207. response = api.documents.documents.post({'document_type': dokument}, files={'file': file_object})
  208.  
  209.  
  210. if __name__ == "__main__":
  211. main()
  212. gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement