diff --git a/Makefile b/Makefile index b8ccc50b..b5124872 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ PYTHON ?= python3 +PYTHON_VERSION_MINOR := $(shell ${PYTHON} -c "import sys; print(sys.version_info.minor)") PYRCC5 ?= pyrcc5 REQ_MINOR_VERSION = 4 PREFIX ?= /usr/local @@ -10,11 +11,11 @@ PREFIX ?= /usr/local ifeq ($(shell uname -o), Msys) BIN = Scripts - SO = pyd + SO = *.pyd VENV_OPTIONS = else BIN = bin - SO = so + SO = cpython-3$(PYTHON_VERSION_MINOR)m*.so VENV_OPTIONS = --system-site-packages endif @@ -53,11 +54,9 @@ pyc: ${PYTHON} -m compileall ${packages} reqs : - @ret=`${PYTHON} -c "import sys; print(int(sys.version_info[:2] >= (3, ${REQ_MINOR_VERSION})))"`; \ - if [ $${ret} -ne 1 ]; then \ - echo "Python 3.${REQ_MINOR_VERSION}+ required. Aborting."; \ - exit 1; \ - fi +ifneq ($(shell test $(PYTHON_VERSION_MINOR) -gt $(REQ_MINOR_VERSION); echo $$?),0) + $(error "Python 3.${REQ_MINOR_VERSION}+ required. Aborting.") +endif ifndef NO_VENV @${PYTHON} -m venv -h > /dev/null || \ echo "Creation of our virtualenv failed. If you're on Ubuntu, you probably need python3-venv." @@ -91,19 +90,19 @@ i18n: $(mofiles) %.mo : %.po msgfmt -o $@ $< -core/pe/_block.*.$(SO) : core/pe/modules/block.c core/pe/modules/common.c | env - $(VENV_PYTHON) hscommon/build_ext.py $^ _block - mv _block.*.$(SO) core/pe +core/pe/_block.$(SO) : core/pe/modules/block.c core/pe/modules/common.c + $(PYTHON) hscommon/build_ext.py $^ _block + mv _block.$(SO) core/pe -core/pe/_cache.*.$(SO) : core/pe/modules/cache.c core/pe/modules/common.c | env - $(VENV_PYTHON) hscommon/build_ext.py $^ _cache - mv _cache.*.$(SO) core/pe +core/pe/_cache.$(SO) : core/pe/modules/cache.c core/pe/modules/common.c + $(PYTHON) hscommon/build_ext.py $^ _cache + mv _cache.$(SO) core/pe -qt/pe/_block_qt.*.$(SO) : qt/pe/modules/block.c | env - $(VENV_PYTHON) hscommon/build_ext.py $^ _block_qt - mv _block_qt.*.$(SO) qt/pe +qt/pe/_block_qt.$(SO) : qt/pe/modules/block.c + $(PYTHON) hscommon/build_ext.py $^ _block_qt + mv _block_qt.$(SO) qt/pe -modules : core/pe/_block.*.$(SO) core/pe/_cache.*.$(SO) qt/pe/_block_qt.*.$(SO) +modules : core/pe/_block.$(SO) core/pe/_cache.$(SO) qt/pe/_block_qt.$(SO) mergepot : $(VENV_PYTHON) build.py --mergepot diff --git a/core/pe/cache_shelve.py b/core/pe/cache_shelve.py index cc4a39c0..fee51dad 100644 --- a/core/pe/cache_shelve.py +++ b/core/pe/cache_shelve.py @@ -126,6 +126,11 @@ class ShelveCache: continue todelete.append(path) for path in todelete: - del self[path] - + try: + del self[path] + except KeyError: + # I have no idea why a KeyError sometimes happen, but it does, as we can see in + # #402 and #439. I don't think it hurts to silently ignore the error, so that's + # what we do + pass diff --git a/locale/it/LC_MESSAGES/columns.po b/locale/it/LC_MESSAGES/columns.po index c287121f..e59a2686 100644 --- a/locale/it/LC_MESSAGES/columns.po +++ b/locale/it/LC_MESSAGES/columns.po @@ -45,7 +45,7 @@ msgstr "Modificato" #: core/me/prioritize.py:18 msgid "Duration" -msgstr "" +msgstr "Durata" #: core/me/prioritize.py:24 core/me/result_table.py:22 msgid "Bitrate" @@ -53,7 +53,7 @@ msgstr "Bitrate" #: core/me/prioritize.py:30 msgid "Samplerate" -msgstr "" +msgstr "Campionamento" #: core/me/result_table.py:20 msgid "Size (MB)" @@ -119,4 +119,4 @@ msgstr "Dimensione (KB)" #: core/pe/result_table.py:23 msgid "EXIF Timestamp" -msgstr "" +msgstr "Data EXIF" diff --git a/locale/it/LC_MESSAGES/core.po b/locale/it/LC_MESSAGES/core.po index 25f9ba8b..5d90847a 100644 --- a/locale/it/LC_MESSAGES/core.po +++ b/locale/it/LC_MESSAGES/core.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: dupeGuru\n" "PO-Revision-Date: 2013-12-07 15:22+0000\n" -"Last-Translator: hsoft \n" +"Last-Translator: auanasgheps\n" "Language-Team: Italian (http://www.transifex.com/projects/p/dupeguru/language/it/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: utf-8\n" @@ -12,17 +12,18 @@ msgstr "" #: core/app.py:40 msgid "There are no marked duplicates. Nothing has been done." -msgstr "" +msgstr "Non ci sono duplicati marcati. Nessuna operazione è stata completata." #: core/app.py:41 msgid "There are no selected duplicates. Nothing has been done." -msgstr "" +msgstr "Non ci sono duplicati selezionati. Nessuna operazione è stata completata." #: core/app.py:42 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" -msgstr "" +msgstr "Stai per aprire molti file contemporaneamente. A seconda di quale programma +li aprirà, potrebbe crearsi un bel casino. Vuoi continuare?" #: core/app.py:65 msgid "Scanning for duplicates" @@ -66,7 +67,7 @@ msgstr "Tutti i file marcati sono stati spostati correttamente." #: core/app.py:306 msgid "All marked files were successfully sent to Trash." -msgstr "Tutti i file marcati sono stati inviati nel cestino." +msgstr "Tutti i file marcati sono stati spostati nel cestino." #: core/app.py:368 msgid "'{}' already is in the list." @@ -86,19 +87,19 @@ msgstr "" #: core/app.py:450 msgid "copy" -msgstr "" +msgstr "copiare" #: core/app.py:450 msgid "move" -msgstr "" +msgstr "spostare" #: core/app.py:451 msgid "Select a directory to {} marked files to" -msgstr "" +msgstr "Seleziona una cartella per {} in essa i file marcati" #: core/app.py:490 msgid "Select a destination for your exported CSV" -msgstr "" +msgstr "Seleziona una destinazione per il file CSV" #: core/app.py:518 msgid "You have no custom command set up. Set it up in your preferences." @@ -112,7 +113,7 @@ msgstr "Stai per rimuovere %d file dai risultati. Continuare?" #: core/app.py:719 msgid "{} duplicate groups were changed by the re-prioritization." -msgstr "" +msgstr "{} gruppi duplicati sono stati cambiati dalla nuova priorirità" #: core/app.py:762 msgid "Collecting files to scan" @@ -140,7 +141,7 @@ msgstr "Lettura dimensione di %d/%d file" #: core/gui/deletion_options.py:69 msgid "You are sending {} file(s) to the Trash." -msgstr "" +msgstr "Stai spostando {} file al Cestino." #: core/gui/ignore_list_dialog.py:24 msgid "Do you really want to remove all %d items from the ignore list?" @@ -150,7 +151,7 @@ msgstr "" #: core/prioritize.py:68 msgid "None" -msgstr "" +msgstr "Nessuno" #: core/prioritize.py:96 msgid "Ends with number" @@ -162,11 +163,11 @@ msgstr "Non termina con un numero" #: core/prioritize.py:98 msgid "Longest" -msgstr "" +msgstr "Più lungo" #: core/prioritize.py:99 msgid "Shortest" -msgstr "" +msgstr "Più corto" #: core/prioritize.py:132 msgid "Highest" @@ -214,47 +215,47 @@ msgstr "Verificate %d/%d somiglianze" #: core/pe/matchexif.py:18 msgid "Read EXIF of %d/%d pictures" -msgstr "" +msgstr "Leggi dati EXIF da %d/%d immagini" #: core/app.py:312 msgid "Could not load file: {}" -msgstr "" +msgstr "Impossibile caricare il file: {}" #: core/app.py:496 core/app.py:742 msgid "Couldn't write to file: {}" -msgstr "" +msgstr "Impossibile modificare il file: {}" #: core/me/scanner.py:19 core/se/scanner.py:15 msgid "Filename" -msgstr "" +msgstr "Nome del file" #: core/me/scanner.py:20 msgid "Filename - Fields" -msgstr "" +msgstr "Nome file - Campi" #: core/me/scanner.py:21 msgid "Filename - Fields (No Order)" -msgstr "" +msgstr "Nome file - Campi (Nessun Ordine)" #: core/me/scanner.py:22 msgid "Tags" -msgstr "" +msgstr "Tag" #: core/me/scanner.py:23 core/pe/scanner.py:20 core/se/scanner.py:16 msgid "Contents" -msgstr "" +msgstr "Contenuti" #: core/pe/scanner.py:21 msgid "EXIF Timestamp" -msgstr "" +msgstr "Timestamp EXIF" #: core/scanner.py:139 msgid "Almost done! Fiddling with results..." -msgstr "" +msgstr "Quasi finito! Sto organizzando i risultati..." #: core/se/scanner.py:17 msgid "Folders" -msgstr "" +msgstr "Cartelle" #~ msgid "Sending files to the recycle bin" #~ msgstr "Spostamento nel cestino" diff --git a/locale/it/LC_MESSAGES/ui.po b/locale/it/LC_MESSAGES/ui.po index 89a2abf2..a6d9325c 100644 --- a/locale/it/LC_MESSAGES/ui.po +++ b/locale/it/LC_MESSAGES/ui.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: dupeGuru\n" "PO-Revision-Date: 2013-12-07 15:22+0000\n" -"Last-Translator: hsoft \n" +"Last-Translator: auanasgheps\n" "Language-Team: Italian (http://www.transifex.com/projects/p/dupeguru/language/it/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: utf-8\n" @@ -12,12 +12,12 @@ msgstr "" #: qt/app.py:81 msgid "Quit" -msgstr "" +msgstr "Esci" #: qt/app.py:83 qt/ignore_list_dialog.py:32 #: cocoa/en.lproj/Localizable.strings:0 msgid "Ignore List" -msgstr "" +msgstr "Lista elementi ignorati" #: qt/app.py:85 cocoa/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" @@ -29,55 +29,60 @@ msgstr "Informazioni su dupeGuru" #: qt/app.py:87 msgid "Open Debug Log" -msgstr "" +msgstr "Apri registro eventi" #: qt/app.py:251 msgid "{} file (*.{})" -msgstr "" +msgstr "{} file (*.{})" #: qt/deletion_options.py:30 cocoa/en.lproj/Localizable.strings:0 msgid "Deletion Options" -msgstr "" +msgstr "Opzioni di eliminazione" #: qt/deletion_options.py:35 cocoa/en.lproj/Localizable.strings:0 msgid "Link deleted files" -msgstr "" +msgstr "Collega file eliminati" #: qt/deletion_options.py:37 cocoa/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." msgstr "" +"Dopo aver selezionato un duplicato, per sostituire il file eliminato posiziona un collegamento " +"che ha come destinazione i file di referenza." #: qt/deletion_options.py:44 msgid "Hardlink" -msgstr "" +msgstr "Hardlink" #: qt/deletion_options.py:44 msgid "Symlink" -msgstr "" +msgstr "Symlink" #: qt/deletion_options.py:48 msgid " (unsupported)" -msgstr "" +msgstr " (non supportato)" #: qt/deletion_options.py:49 cocoa/en.lproj/Localizable.strings:0 msgid "Directly delete files" -msgstr "" +msgstr "Elimina file direttamente" #: qt/deletion_options.py:51 cocoa/en.lproj/Localizable.strings:0 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 "" +"Invece di spostare file nel cestino, eliminali direttamente. Questa opzione " +"di solito è usata come alternativa al sistema di eliminazione standard quando " +"non funziona." #: qt/deletion_options.py:59 cocoa/en.lproj/Localizable.strings:0 msgid "Proceed" -msgstr "" +msgstr "Procedi" #: qt/deletion_options.py:60 cocoa/en.lproj/Localizable.strings:0 msgid "Cancel" -msgstr "Cancella" +msgstr "Annulla" #: qt/details_table.py:16 cocoa/en.lproj/Localizable.strings:0 msgid "Attribute" @@ -94,7 +99,7 @@ msgstr "Riferimento" #: qt/directories_dialog.py:64 cocoa/en.lproj/Localizable.strings:0 msgid "Load Results..." -msgstr "Carica i risultati..." +msgstr "Caricamento risultati..." #: qt/directories_dialog.py:65 cocoa/en.lproj/Localizable.strings:0 msgid "Results Window" @@ -102,7 +107,7 @@ msgstr "Finestra dei risultati" #: qt/directories_dialog.py:66 msgid "Add Folder..." -msgstr "" +msgstr "Aggiungi Cartella..." #: qt/directories_dialog.py:74 qt/result_window.py:100 #: cocoa/en.lproj/Localizable.strings:0 @@ -111,7 +116,7 @@ msgstr "File" #: qt/directories_dialog.py:76 qt/result_window.py:108 msgid "View" -msgstr "" +msgstr "Visualizzazione" #: qt/directories_dialog.py:78 qt/result_window.py:110 #: cocoa/en.lproj/Localizable.strings:0 @@ -136,7 +141,7 @@ msgstr "Scansiona" #: qt/directories_dialog.py:230 msgid "Unsaved results" -msgstr "" +msgstr "Risultati non salvati" #: qt/directories_dialog.py:231 cocoa/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" @@ -144,9 +149,7 @@ msgstr "Hai dei risultati non salvati. Vuoi veramente chiudere?" #: qt/directories_dialog.py:239 cocoa/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" -msgstr "" -"Seleziona una cartella da aggiungere alla lista delle cartelle da " -"scansionare" +msgstr "Seleziona una cartella da aggiungere alla lista delle cartelle da scansionare" #: qt/directories_dialog.py:266 cocoa/en.lproj/Localizable.strings:0 msgid "Select a results file to load" @@ -154,15 +157,15 @@ msgstr "Seleziona un risultato (file) da caricare" #: qt/directories_dialog.py:267 msgid "All Files (*.*)" -msgstr "" +msgstr "Tutti i file (*.*)" #: qt/directories_dialog.py:267 qt/result_window.py:311 msgid "dupeGuru Results (*.dupeguru)" -msgstr "" +msgstr "Risultati dupeGuru (*.dupeguru)" #: qt/directories_dialog.py:278 msgid "Start a new scan" -msgstr "" +msgstr "Inizia una nuova scansione" #: qt/directories_dialog.py:279 cocoa/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" @@ -186,11 +189,11 @@ msgstr "Normale" #: qt/ignore_list_dialog.py:45 cocoa/en.lproj/Localizable.strings:0 msgid "Remove Selected" -msgstr "" +msgstr "Rimuovi Selezionati" #: qt/ignore_list_dialog.py:46 cocoa/en.lproj/Localizable.strings:0 msgid "Clear" -msgstr "" +msgstr "Deseleziona" #: qt/ignore_list_dialog.py:47 qt/problem_dialog.py:61 #: cocoa/en.lproj/Localizable.strings:0 @@ -199,19 +202,19 @@ msgstr "Chiudi" #: qt/directories_dialog.py:128 cocoa/en.lproj/Localizable.strings:0 msgid "Scan Type:" -msgstr "" +msgstr "Tipo di scansione:" #: qt/preferences_dialog.py:43 msgid "Filter Hardness:" -msgstr "" +msgstr "Durezza del filtro:" #: qt/preferences_dialog.py:69 msgid "More Results" -msgstr "" +msgstr "Più risultati" #: qt/preferences_dialog.py:74 msgid "Fewer Results" -msgstr "" +msgstr "Meno risultati" #: qt/preferences_dialog.py:81 msgid "Font size:" @@ -219,7 +222,7 @@ msgstr "Dimensione carattere:" #: qt/preferences_dialog.py:85 msgid "Language:" -msgstr "" +msgstr "Lingua:" #: qt/preferences_dialog.py:91 cocoa/en.lproj/Localizable.strings:0 msgid "Copy and Move:" @@ -244,7 +247,7 @@ msgstr "" #: qt/preferences_dialog.py:174 msgid "dupeGuru has to restart for language changes to take effect." -msgstr "" +msgstr "Per cambiare lingua, dupeGuru deve riavviarsi." #: qt/prioritize_dialog.py:75 cocoa/en.lproj/Localizable.strings:0 msgid "Re-Prioritize duplicates" @@ -299,15 +302,15 @@ msgstr "Visualizza le differenze" #: qt/result_window.py:60 msgid "Send Marked to Recycle Bin..." -msgstr "" +msgstr "Sposta elementi marcati nel Cestino..." #: qt/result_window.py:61 cocoa/en.lproj/Localizable.strings:0 msgid "Move Marked to..." -msgstr "Sposta gli elementi marcati nel..." +msgstr "Sposta elementi marcati nel..." #: qt/result_window.py:62 cocoa/en.lproj/Localizable.strings:0 msgid "Copy Marked to..." -msgstr "Copia gli elementi evidenziati nel..." +msgstr "Copia elementi evidenziati nel..." #: qt/result_window.py:63 cocoa/en.lproj/Localizable.strings:0 msgid "Remove Marked from Results" @@ -335,7 +338,7 @@ msgstr "Apri gli elementi selezionati con l'applicazione predefinita" #: qt/result_window.py:80 msgid "Open Containing Folder of Selected" -msgstr "" +msgstr "Apri cartella degli elementi selezionati" #: qt/result_window.py:82 cocoa/en.lproj/Localizable.strings:0 msgid "Rename Selected" @@ -359,11 +362,11 @@ msgstr "Marca i selezionati" #: qt/result_window.py:87 msgid "Export To HTML" -msgstr "" +msgstr "Esporta in HTML" #: qt/result_window.py:88 msgid "Export To CSV" -msgstr "" +msgstr "Esporta in CSV" #: qt/result_window.py:89 cocoa/en.lproj/Localizable.strings:0 msgid "Save Results..." @@ -375,7 +378,7 @@ msgstr "Invoca comando personalizzato" #: qt/result_window.py:102 msgid "Mark" -msgstr "" +msgstr "Marca" #: qt/result_window.py:106 cocoa/en.lproj/Localizable.strings:0 msgid "Columns" @@ -387,7 +390,7 @@ msgstr "Ripristina impostazioni predefinite" #: qt/result_window.py:185 msgid "{} Results" -msgstr "" +msgstr "{} Resultati" #: qt/result_window.py:193 cocoa/en.lproj/Localizable.strings:0 msgid "Dupes Only" @@ -395,7 +398,7 @@ msgstr "Solo duplicati" #: qt/result_window.py:194 msgid "Delta Values" -msgstr "" +msgstr "Valori Delta" #: qt/result_window.py:310 cocoa/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" @@ -484,7 +487,7 @@ msgstr "" #: qt/se/preferences_dialog.py:41 msgid "Ignore files smaller than" -msgstr "" +msgstr "Ignora file più piccoli di" #: qt/se/preferences_dialog.py:52 cocoa/en.lproj/Localizable.strings:0 msgid "KB" @@ -492,7 +495,7 @@ msgstr "KB" #: cocoa/en.lproj/Localizable.strings:0 msgid "%@ Results" -msgstr "" +msgstr "%@ Resultati" #: cocoa/en.lproj/Localizable.strings:0 msgid "Action" @@ -557,7 +560,7 @@ msgstr "Cartelle" #: cocoa/en.lproj/Localizable.strings:0 msgid "dupeGuru" -msgstr "" +msgstr "dupeGuru" #: cocoa/en.lproj/Localizable.strings:0 msgid "dupeGuru Preferences" @@ -573,11 +576,11 @@ msgstr "Sito Web di dupeGuru" #: cocoa/en.lproj/Localizable.strings:0 msgid "Edit" -msgstr "Edita" +msgstr "Modifica" #: cocoa/en.lproj/Localizable.strings:0 msgid "Export Results to CSV" -msgstr "" +msgstr "Esporta risultati in CSV" #: cocoa/en.lproj/Localizable.strings:0 msgid "Export Results to XHTML" @@ -597,7 +600,7 @@ msgstr "Durezza del filtro:" #: cocoa/en.lproj/Localizable.strings:0 msgid "Filter Results..." -msgstr "" +msgstr "Filtra Risultati..." #: cocoa/en.lproj/Localizable.strings:0 msgid "Folder Selection Window" @@ -605,7 +608,7 @@ msgstr "Finestra di selezione della cartella" #: cocoa/en.lproj/Localizable.strings:0 msgid "Font Size:" -msgstr "" +msgstr "Dimensione Carattere:" #: cocoa/en.lproj/Localizable.strings:0 msgid "Hide dupeGuru" @@ -654,7 +657,7 @@ msgstr "Preferenze..." #: cocoa/en.lproj/Localizable.strings:0 msgid "Quick Look" -msgstr "" +msgstr "Sguardo rapido" #: cocoa/en.lproj/Localizable.strings:0 msgid "Quit dupeGuru" @@ -666,7 +669,7 @@ msgstr "Ripristina le impostazioni predefinite" #: cocoa/en.lproj/Localizable.strings:0 msgid "Reset To Defaults" -msgstr "" +msgstr "Imposta prefefinite" #: cocoa/en.lproj/Localizable.strings:0 msgid "Reveal" @@ -678,7 +681,7 @@ msgstr "Mostra gli elementi selezionati nel Finder" #: cocoa/en.lproj/Localizable.strings:0 msgid "Select All" -msgstr "" +msgstr "Seleziona tutto" #: cocoa/en.lproj/Localizable.strings:0 msgid "Send Marked to Trash..." @@ -686,7 +689,7 @@ msgstr "Sposta gli elementi marcati nel cestino..." #: cocoa/en.lproj/Localizable.strings:0 msgid "Services" -msgstr "" +msgstr "Servizi" #: cocoa/en.lproj/Localizable.strings:0 msgid "Show All" @@ -710,23 +713,23 @@ msgstr "Zoom" #: qt/directories_dialog.py:116 cocoa/en.lproj/Localizable.strings:0 msgid "Application Mode:" -msgstr "" +msgstr "Modalità applicazione:" #: qt/directories_dialog.py:121 cocoa/en.lproj/Localizable.strings:0 msgid "Music" -msgstr "" +msgstr "Musica" #: qt/directories_dialog.py:121 cocoa/en.lproj/Localizable.strings:0 msgid "Picture" -msgstr "" +msgstr "Foto" #: qt/directories_dialog.py:121 cocoa/en.lproj/Localizable.strings:0 msgid "Standard" -msgstr "" +msgstr "Standard" #: qt/directories_dialog.py:135 msgid "More Options" -msgstr "" +msgstr "Più Opzioni" #~ msgid "Removing dead tracks from your iTunes Library" #~ msgstr "Rimozione delle tracce insistenti dalla libreria di iTunes" @@ -765,10 +768,10 @@ msgstr "" #~ msgstr "Non trovo l'applicazione iPhoto." #~ msgid "Preferences" -#~ msgstr "" +#~ msgstr "Impostazioni" #~ msgid "Check for Update" -#~ msgstr "" +#~ msgstr "Controlla aggiornamenti" #~ msgid "Filename" #~ msgstr "Nome del file" @@ -786,7 +789,7 @@ msgstr "" #~ msgstr "Contenuti" #~ msgid "Audio Contents" -#~ msgstr "" +#~ msgstr "Contenuti Audio" #~ msgid "EXIF Timestamp" #~ msgstr "Data e ora EXIF" diff --git a/tox.ini b/tox.ini index 5c7b7681..04be5170 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,12 @@ skipsdist = True skip_missing_interpreters = True [testenv] +whitelist_externals = + make +setenv = + PYTHON="{envpython}" commands = + make modules flake8 py.test core hscommon deps =