Beispiel #1
0
def test_download_no_overwrite(supply_download_data):

    filename, encoding = download_file(
        url=supply_download_data['url'],
        folder=supply_download_data['temp_dir'],
        name_override=supply_download_data['temp_name'])

    assert filename == f'{supply_download_data["temp_dir"]}/' \
                       f'{supply_download_data["temp_name"]}'

    assert os.path.isfile(filename) is True

    Path(filename).touch()
    file_stats_touched = os.stat(filename)
    assert type(file_stats_touched.st_mtime) is float

    # Downloading again and comparises if the file was overwritten
    filename, encoding = download_file(
        url=supply_download_data['url'],
        folder=supply_download_data['temp_dir'],
        name_override=supply_download_data['temp_name'],
        force_overwrite=False)

    file_stats_new = os.stat(filename)
    assert file_stats_touched.st_mtime == file_stats_new.st_mtime

    os.unlink(filename)
Beispiel #2
0
def create():
    if request.method == "POST":
        for key, value in request.values.items():
            if key.endswith("url"):
                try:
                    r = requests.head(value)
                except:
                    return render_template(
                        "create.html", error=f"Invalid {key.replace('_',' ')}")

        data = request.values.copy()

        if request.files.get("audio_sample"):
            f = request.files["audio_sample"]
            f.filename = get_sample_name(data["name"])
            upload_file_to_s3(f)
            download_file(f.filename)
            data["has_audio"] = True

        voice = Voice(**data)
        db.session.add(voice)
        db.session.commit()
        return redirect("/voice?id=" + str(voice.id))
    else:
        return render_template("create.html")
Beispiel #3
0
def test_download_simple_file(supply_download_data):

    filename, encoding = download_file(url=supply_download_data['url'])

    assert filename == 'add_url.html'
    assert os.path.isfile(filename) is True

    os.unlink('add_url.html')  # Cleaning up file
Beispiel #4
0
def test_download_file_with_folder(supply_download_data):

    filename, encoding = download_file(url=supply_download_data['url'],
                                       folder=supply_download_data['temp_dir'])

    assert filename == f'{supply_download_data["temp_dir"]}/add_url.html'
    assert os.path.isfile(filename) is True

    os.unlink(filename)
Beispiel #5
0
def test_download_file_with_override(supply_download_data):

    filename, encoding = download_file(
        url=supply_download_data['url'],
        name_override=supply_download_data['temp_name'])

    assert filename == supply_download_data['temp_name']
    assert os.path.isfile(filename) is True

    os.unlink(filename)
Beispiel #6
0
def test_download_file_with_folder_and_name_override(supply_download_data):

    filename, encoding = download_file(
        url=supply_download_data['url'],
        folder=supply_download_data['temp_dir'],
        name_override=supply_download_data['temp_name'])

    assert filename == f'{supply_download_data["temp_dir"]}/' \
                       f'{supply_download_data["temp_name"]}'
    assert os.path.isfile(filename) is True

    os.unlink(filename)