Advertisement
Guest User

Untitled

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