def upload_bean(baseurl, user, passwd): 'Upload A Local Bean To Heritrix' filename = easygui.fileopenbox(title = "cxml-Datei waehlen", \ filetypes = "*.cxml") msg = "Fuer welchen Job ist die Bean bestimmt?" job_name = easygui.enterbox(msg) if job_name == None: pass else: fd = open(filename, "r") data = fd.read() fd.close() url = baseurl + '/engine/job/' + job_name + '/jobdir/crawler-beans.cxml' requests.put(url, auth=HTTPDigestAuth(user, passwd), \ data=data, verify=False)
def say_heritrix(baseurl, user, passwd, contact_url): 'Access Heritrix Via API' msg = "Heritrix steuern" choices = ["Job anlegen", "Job starten", "Abbrechen"] choice = easygui.buttonbox(msg, choices=choices) if choice == 'Job anlegen': msg = "Name des neuen Jobs eingeben" job_name = easygui.enterbox(msg) if job_name != None: payload = {'action':'create', 'createpath':job_name} url = baseurl + '/engine' ret = requests.post(url, auth=HTTPDigestAuth(user, passwd), \ data=payload, verify=False) print(ret) # Job-Bean erstellen values_dict = get_values(contact_url) data = create_bean(values_dict) # Bean auf Server uebertragen msg = "Soll die Konfigurationsdatei auf den Server uebertragen werden?" choices = ["Ja", "Nein"] choice = easygui.buttonbox(msg, choices=choices) if choice == "Ja": url = baseurl + '/engine/job/' + job_name + '/jobdir/crawler-beans.cxml' ret = requests.put(url, auth=HTTPDigestAuth(user, passwd), \ data=data, verify=False) print(ret) else: pass msg = "Soll die Jobkonfiguration auf dem Server gebaut werden?" choices = ["Ja", "Nein"] choice = easygui.buttonbox(msg, choices=choices) if choice == "Ja": payload = {'action':'build'} url = baseurl + '/engine/job/' + job_name ret = requests.post(url, auth=HTTPDigestAuth(user, passwd), \ data=payload, verify=False) print(ret) else: pass else: pass elif choice == 'Job starten': msg = "Name des zu startenden Jobs angeben" job_name = easygui.enterbox(msg) if job_name == None: pass else: payload = {'action':'launch'} url = baseurl + '/engine/job/' + job_name requests.post(url, auth=HTTPDigestAuth(user, passwd), \ data=payload, verify=False) time.sleep(3) payload = {'action':'unpause'} requests.post(url, auth=HTTPDigestAuth(user, passwd), \ data=payload, verify=False) else: pass