예제 #1
0
 def outer():
     try:
         t = DummyProcess(target=start_w3af_core,
                          args=(self._exception_handler,))
         t.start()
     except AttributeError:
         pass
예제 #2
0
def spawn(function, fargs, fkwargs):
    """
    Execute the function now in an asynchronous process/thread
    """
    #logger.debug('Spawning execution of %s' % function)
    
    p = DummyProcess(target=function, args=fargs)
    p.start()
    
    return p
예제 #3
0
    def test_multiple_instances_in_different_dummy_processes(self):
        """
        Create different w3afCore instances, in different threads.

        https://github.com/andresriancho/w3af-module/issues/5
        """
        t = DummyProcess(target=start_w3af_core,
                         args=(self._exception_handler, ))
        t.start()
        t.join()

        self.assertEqual(self._exceptions, [])
예제 #4
0
    def test_multiple_instances_in_different_dummy_processes(self):
        """
        Create different w3afCore instances, in different threads.

        https://github.com/andresriancho/w3af-module/issues/5
        """
        t = DummyProcess(target=start_w3af_core,
                         args=(self._exception_handler,))
        t.start()
        t.join()

        self.assertEqual(self._exceptions, [])
예제 #5
0
def main():
    out_folder = 'results'
    temp_folder = os.path.join(out_folder, 'tmp')

    if not os.path.exists(out_folder):
        os.makedirs(out_folder)

    if os.path.exists(temp_folder):
        shutil.rmtree(temp_folder, onerror=remove_readonly)
        os.makedirs(temp_folder)

    if not os.path.exists(temp_folder):
        os.makedirs(temp_folder)

    try:
        while os.path.isfile('pipefile2'):
            time.sleep(10)

        with open('pipefile', 'w') as f:
            f.write('0')

        directory = os.path.join('uploads', 'input.xlsx')
        p = DummyProcess(target=run_process, args=(directory, 'по_расписанию'))
        p.start()
        settings.is_running = True
        while settings.is_running:
            time.sleep(5)
            with open('pipefile', 'w') as f:
                f.write(str(calculate_progress()))

    except:
        print('Произошла ошибка: ', traceback.print_exc())
        print('error')
    finally:
        if os.path.isfile('pipefile'):
            os.remove('pipefile')
예제 #6
0
 def start(self):
     if not hasattr(self._parent, "_children"):
         setattr(self._parent, "_children",
                 weakref.WeakKeyDictionary())
     DummyProcess.start(self)
예제 #7
0
 def outer():
     try:
         t = DummyProcess(target=start_w3af_core)
         t.start()
     except AttributeError:
         pass
예제 #8
0
 def outer():
     t = DummyProcess(target=start_w3af_core,
                      args=(self._exception_handler, ))
     t.start()
     t.join()
예제 #9
0
 def outer():
     try:
         t = DummyProcess(target=start_w3af_core)
         t.start()
     except AttributeError:
         pass
예제 #10
0
 def outer():
     t = DummyProcess(target=start_w3af_core,
                      args=(self._exception_handler,))
     t.start()
     t.join()
예제 #11
0
def make():
    global p

    if request.form.get('stop_button'):
        settings.is_terminating = True
        return redirect('/')

    folder = os.path.join(current_app.root_path, app.config['UPLOAD_FOLDER'])

    if request.form.get('schedule_button'):
        f = request.files['schedule_file']

        if not f:
            return redirect('/')

        filename = 'input.xlsx'
        filepath = os.path.join(folder, filename)
        if os.path.isfile(filepath):
            os.remove(filepath)
        f.save(filepath)
        return redirect('/')

    if request.form.get('report_button'):
        start_date = request.form.get('start_date')
        end_date = request.form.get('end_date')
        if start_date and end_date:
            run_process(None, None, 'report', start_date, end_date)
        return redirect('/')

    if not os.path.exists(folder):
        os.makedirs(folder)

    out_folder = os.path.join(current_app.root_path, 'results')
    temp_folder = os.path.join(out_folder, 'tmp')

    if not os.path.exists(out_folder):
        os.makedirs(out_folder)

    if os.path.exists(temp_folder):
        shutil.rmtree(temp_folder, onerror=remove_readonly)
        os.makedirs(temp_folder)

    if not os.path.exists(temp_folder):
        os.makedirs(temp_folder)

    f = request.files['file']

    if not f:
        return redirect('/')

    filename = f.filename
    f.save(os.path.join(folder, filename))

    if p and p.is_alive():
        return redirect('/')

    xlsx_name = os.path.join(
        os.path.join(current_app.root_path, app.config['UPLOAD_FOLDER']),
        filename)

    if request.form.get('add_checkbox'):
        DummyProcess(target=run_process,
                     args=(xlsx_name, filename, 'add')).start()

    if request.form.get('parse_checkbox'):
        p = DummyProcess(target=run_process, args=(xlsx_name, filename))
        p.start()

    return redirect('/')