def run(options): """ executes the purpose of this program having options into account """ courseid = str(options.courseid) themeid = str(options.themeid) exercises = [] for path in options.files: if not path.endswith(".html"): print "WARNING: unsuported format %s (ignored)"%path continue if not os.path.isfile(path): print "WARNING: file not found %s (ignored)"%path continue with open(path) as f: soup = BeautifulSoup(f.read()) title = unicode(soup.title.text).strip().encode("utf-8") description = "\n".join(str(c).strip() for c in soup.body.div.contents if not c == None and len(str(c).strip())> 0 and not c.name == "h1") exercise = MoodleExercise(title, description) if options.duedate: exercise.set_allowsubmissionsfromdate(options.fromdate) exercise.set_duedate(options.duedate) exercises.append(exercise) if len(exercises)>0: moodle = MoodleScrapper() moodle.submit_exercises_on_theme(courseid, themeid, exercises) moodle.disconnect()
def run(options): """ executes the purpose of this program having options into account """ moodle = MoodleScrapper() mycourses = moodle.get_my_courses() if len(mycourses) == 0: print "No courses found" return if options.jsonformat: for course in mycourses: print course else: print ",".join('"%s"'%c for c in mycourses[0].__dict__.keys()) for course in mycourses: print ",".join('"%s"'%c for c in course.__dict__.values())
<a role="button" title="Afegeix..." href="#"> <img src="http://agora.xtec.cat/insjoandaustria/moodle/theme/image.php/xtec2/core/1441294536/a/add_file" alt="Add file" /> </a> </div> """ import sys from moodlescrap import MoodleScrapper from exercise import MoodleExercise cursid_escollit = "142" temaid_escollit = "1" moodle = MoodleScrapper() moodle.jump_to_theme_by_id(cursid_escollit, temaid_escollit) # activa l'edició moodle.follow_link("Activa edició") # Troba tema per nom soup = moodle.contents # print soup # moodle.disconnect() # sys.exit() formid = "section%s"%temaid_escollit
#! /src/bin/env python # encoding: utf-8 # Demostració d'obtenció de la llista de temes d'un curs en Moodle import sys from moodlescrap import MoodleScrapper from exercise import MoodleExercise curs_escollit = "TEST" tema_escollit = "Tema de Test" # obtenció de les dades de connexió #url, username, password = obte_params_conf() moodle = MoodleScrapper() # Mostra la llista de cursos moodle.show_mycourses() # Obtenció de la pàgina amb el curs moodle.jump_to_course_by_name(curs_escollit) # Mostra temes del curs moodle.show_themes_of_course() #print "List of themes" #soup = moodle.contents #for tema in soup.find_all("h3", attrs={"class":"section-title"}): # print tema.a.text #print soup #for tema in soup.find_all("li", attrs={"aria-label":tema_escollit}): # print "\tTema [%s]:%s"%(tema[id], tema.h3.a.text) # #formid = "section%s"%tema["id"][len("section-")]
# Demostració de connexió i desconnexió de Moodle import os, base64 import mechanize from moodlescrap import MoodleScrapper fitxer_config = ".config/moodlescrap.dat" # Obtenció de les dades de connexió def obte_params_conf(): """ obté els paràmetres url, usuari i pasword del fitxer de configuració """ url = username = pasword = None if os.path.exists(fitxer_config): f = open(fitxer_config) url=f.readline().strip() username=f.readline().strip() password=base64.b64decode(f.readline().strip()) f.close() return url, username, password # obtenció de les dades de connexió url, username, password = obte_params_conf() moodle = MoodleScrapper(url, username, password) print moodle.br.title() # Desconnexió moodle.disconnect() print "URL : ", moodle.response.geturl() # print "Body: ", response.read() #print "headers: ", moodle.response.info()