def update_similarity( request, corpus_id ): response = _json( request, enable_method=False ) from distiller import start_routine try: c = Corpus.objects.get(pk=corpus_id) routine = start_routine( type='RELSy', corpus=c ) except Exception, e: return throw_error( response, error="Exception: %s" % e, code=API_EXCEPTION_DOESNOTEXIST )
""" START the classic tfidf extraction. Open related sub-process with routine id. Return the routine created. """ from distiller import start_routine, stop_routine import subprocess, sys response = _json( request, enable_method=False ) try: c = Corpus.objects.get(pk=corpus_id) except Exception, e: return throw_error( response, error="Exception: %s" % e, code=API_EXCEPTION_DOESNOTEXIST ) routine = start_routine( type='TFIDF', corpus=c ) if routine is None: throw_error( response, error="A very strange error", code=API_EXCEPTION_EMPTY) # call a sub process, and pass the related routine id scriptpath = os.path.dirname(__file__) + "/metrics.py" response['routine'] = routine.json() try: subprocess.Popen([ "python", scriptpath, '-r', str(routine.id), '-c', str(c.id), '-f', 'standard' ], stdout=None, stderr=None) except Exception, e: return throw_error(response, error="Exception: %s" % e, code=API_EXCEPTION) return render_to_json( response ) @login_required( login_url = API_LOGIN_REQUESTED_URL ) def update_tfidf( request, corpus_id ):