Advertisement
Guest User

Untitled

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