def send_docs(display_bar, docs=[]): names = () #------------------------------------------------- # Inicializace klienta #------------------------------------------------- epp = ClientSession() if not epp.load_config(): return epp.join_missing_config_messages(options['verbose']) if len(options['verbose']): verbose = epp.set_verbose(options['verbose']) else: verbose = '1' #------------------------------------------------- # Apped docs from argv params #------------------------------------------------- for filepath in option_args: if os.path.isfile(filepath): docs.extend(split_docs(open(filepath).read())) else: docs.append((0,'File not found: %s'%filepath)) #------------------------------------------------- # For every loaded document #------------------------------------------------- if display_bar: verbose = epp.set_verbose(0) sart_at = time.time() bar = None bar_pos = 0 max = len(docs) bar_step = (100.0/max)*0.01 bar_header = '%s: %d'%(_T('Send files'),max) epp.print_tag(BEGIN) # enclose leak messages into tag (comment) epp.display() # display errors or notes for code, xmldoc in docs: epp.reset_round() if code: # Returns command name from XML doc, # for check_* commands also grab list of names for sorting output command_name = epp.grab_command_name_from_xml(xmldoc) if len(command_name): if command_name in ('hello','login'): epp.connect() # No problem call connect() if we are connected already. elif not epp.is_connected(): if not __auto_login__(epp, verbose): break if command_name == 'logout': verbose = epp.set_verbose(0) # silent logout #------------------------------------------------- # when it is online send document #------------------------------------------------- if epp.is_online(command_name) and epp.is_connected(): # send document if only we are online epp.send(xmldoc) # send to server xml_answer = epp.receive() # receive answer epp.process_answer(xml_answer) # process answer epp.print_answer() epp.display() # display errors or notes else: if not display_bar: print epp.get_formated_message(xmldoc,1) # 0 - note, 1 - ERROR if display_bar: if bar is None: bar = terminal_controler.ProgressBar(colored_output,bar_header) bar.clear() bar.update(bar_pos, _T('sending...')) bar_pos += bar_step epp.print_tag(END) # end of enclosing leak messages if display_bar: # print final 100% note = "Ran test in %.3f sec"%(time.time() - sart_at) bar.clear() bar.update(1.0, note) #------------------------------------------------- # END of transmition - automatic logout #------------------------------------------------- if epp.is_connected(): epp.set_verbose(0) # Very important! If is not set, it can overwrite outputed data. try: epp.api_command('logout') # automaticly logout except FredError, msg: pass # print 'ERROR:',msg