Автоматическое переименование сохраняемых файлов

Как можно реализовать фичу, чтобы когда сохраняешь файл из интернета на комп, если его имя изначально "загружено", то оно меняется на другое, можно по шаблону или на набор случайных символов. Надо, чтобы имя менялось не когда файл уже попал на диск компа, а в момент открытия окна сохранения файла в браузере. Может какое расширение для браузера есть, или как-то можно по другому реализовать?

3.9K3.9K показов
193193 открытия
7 комментариев

RenameAndUniquify это:

void DownloadFileImpl::RenameAndUniquify(
const base::FilePath& full_path,
const RenameCompletionCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));

base::FilePath new_path(full_path);

int uniquifier =
file_util::GetUniquePathNumber(new_path, FILE_PATH_LITERAL(""));
if (uniquifier > 0) {
new_path = new_path.InsertBeforeExtensionASCII(
base::StringPrintf(" (%d)", uniquifier));
}

...

}

Ответить

Это язык Мордора? Он не должен звучать здесь.

Ответить

или так попробуй: import os

known_extensions = ['.tar.gz', '.tar.bz2']
def splitext(file_name):
file_name = file_name.strip()

for ex in known_extensions:
if file_name[-len(ex):] == ex:
return file_name[:-len(ex)], ex

return os.path.splitext(file_name)

Ответить

В браузере уже буквально так и работает. И в любом другом месте, предлагая добавить циферку в имя

Ответить

А разве так по умолчанию не работает?

Ответить