Compare commits

...

10 Commits

Author SHA1 Message Date
Stanislav e4219fada2
Merge cd70c99c67 into 9f22835f73 2024-02-19 10:20:09 -07:00
Luca Falavigna 9f22835f73
Use errno.EISDIR and errno.EACCESS instead of hardcoding values (#1196) 2024-02-19 09:38:24 -06:00
Stanislav cd70c99c67
Merge branch 'arsenetar:master' into i18n_Russian 2023-12-07 21:52:39 +03:00
Stanislav 7eafb86c2b
Merge branch 'arsenetar:master' into i18n_Russian 2023-08-13 18:35:41 +03:00
Stanislav 71672bc2c9
Update ui.po 2023-06-25 20:39:10 +03:00
Stanislav f4e6768caf
Update core.po 2023-06-24 12:39:40 +03:00
Stanislav 8ce4080c4e
Update ui.po 2023-06-24 12:38:57 +03:00
Stanislav f191b64cca
Update columns.po 2023-06-24 12:34:42 +03:00
Stanislav a714a0860c
Update core.po 2023-06-24 12:33:16 +03:00
Stanislav 5fb8caefa9
Small fix Russian language 2023-06-24 12:04:47 +03:00
5 changed files with 48 additions and 48 deletions

View File

@ -10,6 +10,7 @@ import logging
import re
import os
import os.path as op
from errno import EISDIR, EACCES
from xml.etree import ElementTree as ET
from hscommon.jobprogress.job import nulljob
@ -376,8 +377,8 @@ class Results(Markable):
do_write(outfile)
except OSError as e:
# If our OSError is because dest is already a directory, we want to handle that. 21 is
# the code we get on OS X and Linux, 13 is what we get on Windows.
if e.errno in {21, 13}:
# the code we get on OS X and Linux (EISDIR), 13 is what we get on Windows (EACCES).
if e.errno in (EISDIR, EACCES):
p = str(outfile)
dirname, basename = op.split(p)
otherfiles = os.listdir(dirname)

View File

@ -14,6 +14,7 @@ import re
import os
import shutil
from errno import EISDIR, EACCES
from pathlib import Path
from typing import Callable, List
@ -75,10 +76,8 @@ def smart_copy(source_path: Path, dest_path: Path) -> None:
try:
_smart_move_or_copy(shutil.copy, source_path, dest_path)
except OSError as e:
if e.errno in {
21,
13,
}: # it's a directory, code is 21 on OS X / Linux and 13 on Windows
# It's a directory, code is 21 on OS X / Linux (EISDIR) and 13 on Windows (EACCES)
if e.errno in (EISDIR, EACCES):
_smart_move_or_copy(shutil.copytree, source_path, dest_path)
else:
raise

View File

@ -112,7 +112,7 @@ msgstr "Размеры"
#: core\pe\result_table.py:21 core\se\result_table.py:21
msgid "Size (KB)"
msgstr "Размер (КБ)"
msgstr "Размер (кБ)"
#: core\pe\result_table.py:24
msgid "EXIF Timestamp"

View File

@ -99,15 +99,15 @@ msgstr ""
#: core\app.py:473
msgid "Select a directory to copy marked files to"
msgstr "Выберите каталог, в который вы хотите скопировать отмеченные файлы"
msgstr "Выберите каталог, в который Вы хотите скопировать отмеченные файлы"
#: core\app.py:475
msgid "Select a directory to move marked files to"
msgstr "Выберите каталог, в который вы хотите переместить отмеченные файлы"
msgstr "Выберите каталог для перемещения отмеченных файлов"
#: core\app.py:514
msgid "Select a destination for your exported CSV"
msgstr "Выберите назначение для экспортируемого "
msgstr "Выберите назначение для Вашего экспортируемого CSV"
#: core\app.py:520 core\app.py:781 core\app.py:791
msgid "Couldn't write to file: {}"
@ -123,7 +123,7 @@ msgstr "Вы собираетесь удалить %d файлов из резу
#: core\app.py:753
msgid "{} duplicate groups were changed by the re-prioritization."
msgstr "{} групп дубликатов было изменено при реприоритезации."
msgstr "{} групп дубликатов было изменено при обновлении приоритета."
#: core\app.py:801
msgid "The selected directories contain no scannable file."
@ -135,7 +135,7 @@ msgstr "Сбор файлов для сканирования"
#: core\app.py:867
msgid "%s (%d discarded)"
msgstr "%s. (%d отменено)"
msgstr "%s (%d отменено)"
#: core\directories.py:190
msgid "Collected {} files to scan"
@ -147,7 +147,7 @@ msgstr "Собрано {} каталогов для сканирования"
#: core\engine.py:27
msgid "%d matches found from %d groups"
msgstr "Найдено %d совпадений из %d групп"
msgstr "%d совпадений найдено из %d групп"
#: core\gui\deletion_options.py:71
msgid "You are sending {} file(s) to the Trash."
@ -248,7 +248,7 @@ msgstr "%d / %d (%s / %s) дубликатов отмечено."
#: core\results.py:141
msgid " filter: %s"
msgstr "фильтр: %s"
msgstr " фильтр: %s"
#: core\scanner.py:90
msgid "Read size of %d/%d files"
@ -260,8 +260,9 @@ msgstr "Прочитаны метаданные %d/%d файлов"
#: core\scanner.py:154
msgid "Almost done! Fiddling with results..."
msgstr "Почти готово! Возиться с результатами..."
msgstr "Почти готово! Вожусь с результатами..."
#: core\se\scanner.py:18
msgid "Folders"
msgstr "Папки"

View File

@ -92,8 +92,8 @@ msgid ""
"Instead of sending files to trash, delete them directly. This option is "
"usually used as a workaround when the normal deletion method doesn't work."
msgstr ""
"Удалить файлы с диска вместо отправки в Корзину. Используйте если нормальный"
" метод удаления не работает."
"Удалить файлы с диска вместо отправки в Корзину. Используйте, если нормальный "
"метод удаления не работает."
#: qt/deletion_options.py:59 cocoa/en.lproj/Localizable.strings:0
msgid "Proceed"
@ -188,7 +188,7 @@ msgstr "Несохранённые результаты"
#: qt/directories_dialog.py:231 cocoa/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr "Имеются несохранённые результаты, вы действительно хотите выйти?"
msgstr "Имеются несохранённые результаты, Вы действительно хотите выйти?"
#: qt/directories_dialog.py:239 cocoa/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
@ -204,7 +204,7 @@ msgstr "Все файлы (*.*)"
#: qt/directories_dialog.py:267 qt/result_window.py:311
msgid "dupeGuru Results (*.dupeguru)"
msgstr "Результаты dupeGuru (*. dupeguru)"
msgstr "Результаты dupeGuru (*.dupeguru)"
#: qt/directories_dialog.py:278
msgid "Start a new scan"
@ -212,7 +212,7 @@ msgstr "Начать новую проверку"
#: qt/directories_dialog.py:279 cocoa/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr "Имеются несохранённые результаты, вы действительно хотите продолжить?"
msgstr "Имеются несохранённые результаты, Вы действительно хотите продолжить?"
#: qt/directories_model.py:23 cocoa/en.lproj/Localizable.strings:0
msgid "Name"
@ -255,7 +255,7 @@ msgstr "Теги для проверки:"
#: qt/me/preferences_dialog.py:36 cocoa/en.lproj/Localizable.strings:0
msgid "Track"
msgstr "Трек"
msgstr "Дорожка"
#: qt/me/preferences_dialog.py:38 cocoa/en.lproj/Localizable.strings:0
msgid "Artist"
@ -322,7 +322,7 @@ msgstr "Уровень фильтрации:"
#: qt/preferences_dialog.py:69
msgid "More Results"
msgstr "Дополнительные результаты"
msgstr "Больше результатов"
#: qt/preferences_dialog.py:74
msgid "Fewer Results"
@ -378,7 +378,7 @@ msgstr ""
#: qt/problem_dialog.py:33 cocoa/en.lproj/Localizable.strings:0
msgid "Problems!"
msgstr "Проблемка!"
msgstr "Проблема!"
#: qt/problem_dialog.py:37 cocoa/en.lproj/Localizable.strings:0
msgid ""
@ -408,15 +408,15 @@ msgstr "Показать значения разницы"
#: qt/result_window.py:60
msgid "Send Marked to Recycle Bin..."
msgstr "Переместить отмеченные в Корзину"
msgstr "Переместить отмеченные в Корзину..."
#: qt/result_window.py:61 cocoa/en.lproj/Localizable.strings:0
msgid "Move Marked to..."
msgstr "Переместить отмеченные в"
msgstr "Переместить отмеченные в..."
#: qt/result_window.py:62 cocoa/en.lproj/Localizable.strings:0
msgid "Copy Marked to..."
msgstr "Скопировать отмеченные в"
msgstr "Скопировать отмеченные в..."
#: qt/result_window.py:63 cocoa/en.lproj/Localizable.strings:0
msgid "Remove Marked from Results"
@ -476,7 +476,7 @@ msgstr "Экспорт в CSV"
#: qt/result_window.py:89 cocoa/en.lproj/Localizable.strings:0
msgid "Save Results..."
msgstr "Сохранить результаты"
msgstr "Сохранить результаты..."
#: qt/result_window.py:90 cocoa/en.lproj/Localizable.strings:0
msgid "Invoke Custom Command"
@ -508,15 +508,15 @@ msgstr "Значения разницы"
#: qt/result_window.py:310 cocoa/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Выберите файл, чтобы сохранить ваши результаты"
msgstr "Выберите файл для сохранения Ваших результатов"
#: qt/se/preferences_dialog.py:41
msgid "Ignore files smaller than"
msgstr "Игнорировать файлы меньше чем"
msgstr "Игнорировать файлы меньше, чем"
#: qt/se/preferences_dialog.py:52 cocoa/en.lproj/Localizable.strings:0
msgid "KB"
msgstr "КБ"
msgstr "кБ"
#: cocoa/en.lproj/Localizable.strings:0
msgid "%@ Results"
@ -548,7 +548,7 @@ msgstr "Все на передний план"
#: cocoa/en.lproj/Localizable.strings:0
msgid "Check for update..."
msgstr "Проверка обновлений"
msgstr "Проверка обновлений..."
#: cocoa/en.lproj/Localizable.strings:0
msgid "Close Window"
@ -593,7 +593,7 @@ msgstr "Настройки dupeGuru"
#: cocoa/en.lproj/Localizable.strings:0
msgid "dupeGuru Results"
msgstr "Результаты dupeGuru "
msgstr "Результаты dupeGuru"
#: cocoa/en.lproj/Localizable.strings:0
msgid "dupeGuru Website"
@ -625,7 +625,7 @@ msgstr "Уровень фильтрации:"
#: cocoa/en.lproj/Localizable.strings:0
msgid "Filter Results..."
msgstr "Отфильтровать результаты"
msgstr "Отфильтровать результаты..."
#: cocoa/en.lproj/Localizable.strings:0
msgid "Folder Selection Window"
@ -645,11 +645,11 @@ msgstr "Скрыть остальные"
#: cocoa/en.lproj/Localizable.strings:0
msgid "Ignore files smaller than:"
msgstr "Пропускать файлы меньше чем:"
msgstr "Пропускать файлы меньше, чем:"
#: cocoa/en.lproj/Localizable.strings:0
msgid "Load from file..."
msgstr "Загрузить из файла"
msgstr "Загрузить из файла..."
#: cocoa/en.lproj/Localizable.strings:0
msgid "Minimize"
@ -673,7 +673,7 @@ msgstr "Вставить"
#: cocoa/en.lproj/Localizable.strings:0
msgid "Preferences..."
msgstr "Настройки"
msgstr "Настройки..."
#: cocoa/en.lproj/Localizable.strings:0
msgid "Quick Look"
@ -685,7 +685,7 @@ msgstr "Выйти из dupeGuru"
#: cocoa/en.lproj/Localizable.strings:0
msgid "Reset to Default"
msgstr "Восстановить значения по умолчанию"
msgstr "Восстановить значение по умолчанию"
#: cocoa/en.lproj/Localizable.strings:0
msgid "Reset To Defaults"
@ -705,7 +705,7 @@ msgstr "Выбрать все"
#: cocoa/en.lproj/Localizable.strings:0
msgid "Send Marked to Trash..."
msgstr "Переместить отмеченные в Корзину"
msgstr "Переместить отмеченные в Корзину..."
#: cocoa/en.lproj/Localizable.strings:0
msgid "Services"
@ -753,11 +753,11 @@ msgstr "Выберите файл каталогов для загрузки"
#: qt\directories_dialog.py:338
msgid "dupeGuru Results (*.dupegurudirs)"
msgstr "Каталоги dupeGuru (*.dupegurudirs)"
msgstr "Результаты dupeGuru (*.dupegurudirs)"
#: qt\directories_dialog.py:347
msgid "Select a file to save your directories to"
msgstr "Выберите файл для сохранения каталогов"
msgstr "Выберите файл для сохранения Ваших каталогов"
#: qt\directories_dialog.py:348
msgid "dupeGuru Directories (*.dupegurudirs)"
@ -797,7 +797,7 @@ msgstr ""
#: qt\exclude_list_table.py:36
msgid "Compilation error: "
msgstr "Ошибка компиляции:"
msgstr "Ошибка компиляции: "
#: qt\pe\image_viewer.py:56
msgid "Increase zoom"
@ -834,7 +834,7 @@ msgstr "Переопределить значки темы на панели и
#: qt\pe\preferences_dialog.py:58
msgid ""
"Use our own internal icons instead of those provided by the theme engine"
msgstr "Используйте внутренние значки вместо значков, встроенных в тему"
msgstr "Использовать наши внутренние значки вместо значков, встроенных в тему"
#: qt\pe\preferences_dialog.py:66
msgid "Show scrollbars in image viewers"
@ -964,7 +964,7 @@ msgstr ""
#: qt\se\preferences_dialog.py:68
msgid "Ignore files larger than"
msgstr "Игнорировать файлы больше чем"
msgstr "Игнорировать файлы больше, чем"
#: qt\app.py:135 qt\app.py:293
msgid "Clear Cache"
@ -980,7 +980,7 @@ msgstr ""
#: qt\app.py:299
msgid "Cache cleared."
msgstr "Кэш очищен "
msgstr "Кэш очищен."
#: qt\preferences_dialog.py:173
msgid "Use dark style"
@ -993,8 +993,7 @@ msgstr "Сохранить профиль сканирования"
#: qt\preferences_dialog.py:242
msgid "Profile the scan operation and save logs for optimization."
msgstr ""
"В папке установленной или портативной программы, есть папка Data в которую "
"сохраняется логи и файл с раширением *.profile для оптимизации."
"Настройте операцию сканирования и сохраните журналы для оптимизации."
#: qt\preferences_dialog.py:246
msgid "Logs located in: <a href=\"{}\">{}</a>"
@ -1022,11 +1021,11 @@ msgstr "Под лицензией GPLv3"
#: qt\about_box.py:68
msgid "No update available."
msgstr "У вас самая свежая версия"
msgstr "Обновления недоступны."
#: qt\about_box.py:71
msgid "New version {} available, download <a href=\"{}\">here</a>."
msgstr "Обнаружена новая {} версия, загружать <a href=\"{}\">тут</a>."
msgstr "Обнаружена новая {} версия, загрузить <a href=\"{}\">тут</a>."
#: qt\error_report_dialog.py:50
msgid "Error Report"