Beispiel #1
0
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)
Beispiel #2
0
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