Merge pull request #1201 from croneter/beta-version

Bump master
This commit is contained in:
croneter 2020-07-11 15:50:16 +02:00 committed by GitHub
commit ba6c46afac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 401 additions and 284 deletions

View file

@ -1,5 +1,5 @@
[![stable version](https://img.shields.io/badge/stable_version-2.11.7-blue.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/stable/repository.plexkodiconnect/repository.plexkodiconnect-1.0.2.zip)
[![beta version](https://img.shields.io/badge/beta_version-2.11.7-red.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/beta/repository.plexkodiconnectbeta/repository.plexkodiconnectbeta-1.0.2.zip)
[![stable version](https://img.shields.io/badge/stable_version-2.12.2-blue.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/stable/repository.plexkodiconnect/repository.plexkodiconnect-1.0.2.zip)
[![beta version](https://img.shields.io/badge/beta_version-2.12.2-red.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/beta/repository.plexkodiconnectbeta/repository.plexkodiconnectbeta-1.0.2.zip)
[![Installation](https://img.shields.io/badge/wiki-installation-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/Installation)
[![FAQ](https://img.shields.io/badge/wiki-FAQ-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/faq)

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.plexkodiconnect" name="PlexKodiConnect" version="2.11.7" provider-name="croneter">
<addon id="plugin.video.plexkodiconnect" name="PlexKodiConnect" version="2.12.2" provider-name="croneter">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
<import addon="script.module.requests" version="2.9.1" />
@ -83,7 +83,23 @@
<summary lang="lt_LT">Natūralioji „Plex“ integracija į „Kodi“</summary>
<description lang="lt_LT">Prijunkite „Kodi“ prie „Plex Medija Serverio“. Šiame papildinyje daroma prielaida, kad valdote visus savo vaizdo įrašus naudodami „Plex“ (ir nė vieno su „Kodi“). Galite prarasti jau saugomus „Kodi“ vaizdo įrašų ir muzikos duomenų bazių duomenis (kadangi šis papildinys juos tiesiogiai pakeičia). Naudokite savo pačių rizika!</description>
<disclaimer lang="lt_LT">Naudokite savo pačių rizika</disclaimer>
<news>version 2.11.7:
<news>version 2.12.2:
- version 2.12.0 and 2.12.1 for everyone
- Fix regression: sync dialog not showing up when it should
version 2.12.1 (beta only):
- Fix PKC shutdown on Kodi profile switch
- Fix Kodi content type for images/photos
- Added support for custom set of safe characters when escaping paths (thanks @geropan)
- Revert "Don't allow spaces in devicename"
- Fix sync dialog showing in certain cases even though user opted out
version 2.12.0 (beta only):
- Fix websocket threads; enable PKC background sync for all Plex Home users!
- Fix PKC incorrectly marking a video as unwatched if an external player has been used
- Update translations
version 2.11.7:
- Fix PKC crashing on devices running Microsoft UWP, e.g. XBox
version 2.11.6:

View file

@ -1,3 +1,19 @@
version 2.12.2:
- version 2.12.0 and 2.12.1 for everyone
- Fix regression: sync dialog not showing up when it should
version 2.12.1 (beta only):
- Fix PKC shutdown on Kodi profile switch
- Fix Kodi content type for images/photos
- Added support for custom set of safe characters when escaping paths (thanks @geropan)
- Revert "Don't allow spaces in devicename"
- Fix sync dialog showing in certain cases even though user opted out
version 2.12.0 (beta only):
- Fix websocket threads; enable PKC background sync for all Plex Home users!
- Fix PKC incorrectly marking a video as unwatched if an external player has been used
- Update translations
version 2.11.7:
- Fix PKC crashing on devices running Microsoft UWP, e.g. XBox

View file

@ -1,7 +1,7 @@
# XBMC Media Center language file
# Translators:
# Croneter None <croneter@gmail.com>, 2017
# Michal Kuncl <michal.kuncl@gmail.com>, 2019
# Michal Kuncl <michal.kuncl@gmail.com>, 2020
#
msgid ""
msgstr ""
@ -9,7 +9,7 @@ msgstr ""
"Report-Msgid-Bugs-To: croneter@gmail.com\n"
"POT-Creation-Date: 2017-04-15 13:13+0000\n"
"PO-Revision-Date: 2017-04-30 08:30+0000\n"
"Last-Translator: Michal Kuncl <michal.kuncl@gmail.com>, 2019\n"
"Last-Translator: Michal Kuncl <michal.kuncl@gmail.com>, 2020\n"
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/croneter/teams/73837/cs_CZ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -262,7 +262,7 @@ msgstr "Kvalita videa při překódování"
msgctxt "#30161"
msgid "Auto-adjust transcoding quality (deactivate for Chromecast)"
msgstr ""
msgstr "Automaticky upravit kvalitu překódování (deaktivujte pro Chromecast)"
msgctxt "#30165"
msgid "Direct Play"
@ -705,13 +705,13 @@ msgstr "Server je online"
# Plex notification when we need to transcode
msgctxt "#33004"
msgid "PMS enforced transcoding"
msgstr ""
msgstr "Překódování vynucené PMS"
# Plex notification when we need to use direct streaming (instead of
# transcoding)
msgctxt "#33005"
msgid "PMS enforced direct streaming"
msgstr ""
msgstr "Přímé streamování vynucené PMS"
# Error notification
msgctxt "#33009"
@ -1058,6 +1058,8 @@ msgctxt "#39056"
msgid ""
"Used by sync and when attempting Direct Paths. Restart Kodi on changes!"
msgstr ""
"Použito při synchronizaci a při pokusu o přehrávání přes přímé cesty. "
"Restartujte Kodi po změně!"
# PKC Settings, category name
msgctxt "#39057"
@ -1264,7 +1266,7 @@ msgstr "Zadejte IP adresu nebo URL vašeho Plex Media Serveru. Např.:"
msgctxt "#39217"
msgid "Use HTTPS (SSL) connections? Answer should probably be yes."
msgstr ""
msgstr "Použít připojení HTTPS (SSL)? Odpověď by měla nejspíš ano."
msgctxt "#39218"
msgid "Error contacting PMS"
@ -1512,7 +1514,7 @@ msgstr "Používejte na vlastní nebezpečí"
# If user gets prompted to choose between several subtitles to burn in
msgctxt "#39706"
msgid "Don't burn-in any subtitle"
msgstr ""
msgstr "Nevpalovat žádné titulky"
# If user gets prompted to choose between several audio/subtitle tracks and
# language is unknown

View file

@ -880,6 +880,11 @@ msgctxt "#39036"
msgid "Escape special characters in path (e.g. space to %20)"
msgstr ""
# PKC Settings - Customize Paths
msgctxt "#39090"
msgid "Safe characters for http(s), dav(s) and (s)ftp urls"
msgstr ""
# PKC Settings - Customize Paths
msgctxt "#39037"
msgid "Original Plex MOVIE path to replace:"

View file

@ -965,7 +965,12 @@ msgstr ""
# PKC Settings - Customize Paths
msgctxt "#39036"
msgid "Escape special characters in path (e.g. space to %20)"
msgstr "Escapar caracteres especiales en la ruta (i.e. espacio a %20)"
msgstr "Escapar caracteres especiales en la ruta (p. ej. espacio a %20)"
# PKC Settings - Customize Paths
msgctxt "#39090"
msgid "Safe characters for http(s), dav(s) and (s)ftp urls"
msgstr "Caracteres seguros para urls http(s), dav(s) y (s)ftp"
# PKC Settings - Customize Paths
msgctxt "#39037"

View file

@ -1,7 +1,8 @@
# XBMC Media Center language file
# Translators:
# Elixir59, 2019
# Croneter None <croneter@gmail.com>, 2019
# Croneter None <croneter@gmail.com>, 2020
# Raph Mell, 2020
#
msgid ""
msgstr ""
@ -9,7 +10,7 @@ msgstr ""
"Report-Msgid-Bugs-To: croneter@gmail.com\n"
"POT-Creation-Date: 2017-04-15 13:13+0000\n"
"PO-Revision-Date: 2017-04-30 08:30+0000\n"
"Last-Translator: Croneter None <croneter@gmail.com>, 2019\n"
"Last-Translator: Raph Mell, 2020\n"
"Language-Team: French (Canada) (https://www.transifex.com/croneter/teams/73837/fr_CA/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -68,8 +69,8 @@ msgstr "Activer les notifications pour la mise en cache d'images"
msgctxt "#30009"
msgid "Enable image caching during Kodi playback (restart Kodi!)"
msgstr ""
"Activer la mise en cache des images pendant la lecture Kodi (redémarrez Kodi"
" !)"
"Activer la mise en cache des images pendant la lecture Kodi (redémarrez "
"Kodi!)"
# PKC settings - Artwork
msgctxt "#30010"
@ -122,7 +123,7 @@ msgstr "Recherche sur FanartTV terminée"
# PKC settings sync options
msgctxt "#30020"
msgid "Sync Plex playlists (reboot Kodi!)"
msgstr "Synchroniser les playlists de Plex (redémarrez Kodi !)"
msgstr "Synchroniser les playlists de Plex (redémarrez Kodi!)"
# PKC settings sync options
msgctxt "#30021"
@ -224,7 +225,7 @@ msgstr "Pour les films"
msgctxt "#30125"
msgid "Done"
msgstr "L'action a été effectuée"
msgstr "Effectué"
# Error popup message text
msgctxt "#30128"
@ -265,7 +266,7 @@ msgstr "Qualité vidéo si un transcodage est nécessaire"
msgctxt "#30161"
msgid "Auto-adjust transcoding quality (deactivate for Chromecast)"
msgstr ""
msgstr "Auto-ajuster la qualité du transcodage (désactivé pour Chromecast)"
msgctxt "#30165"
msgid "Direct Play"
@ -277,7 +278,7 @@ msgstr "Transcodage"
msgctxt "#30170"
msgid "Recently Added TV Shows"
msgstr "Série(s) récemment ajoutée"
msgstr "Série(s) récemment ajoutée(s)"
msgctxt "#30171"
msgid "In Progress TV Shows"
@ -289,7 +290,7 @@ msgstr "Chaînes"
msgctxt "#30174"
msgid "Recently Added"
msgstr "Récemment ajoutée"
msgstr "Récemment ajouté"
msgctxt "#30177"
msgid "In Progress Movies"
@ -441,7 +442,7 @@ msgstr "Evaluer la chanson"
# contextmenu entry
msgctxt "#30408"
msgid "Plex addon settings"
msgstr "Paramètres daddon de plex"
msgstr "Paramètres dextension de plex"
# contextmenu entry
msgctxt "#30409"
@ -465,7 +466,7 @@ msgid ""
"Server?"
msgstr ""
"La suppression n'a pas pu être effectuée. La suppression est-elle activée "
"sur le serveur de médias Plex ?"
"sur le serveur de médias Plex?"
# contextmenu entry
msgctxt "#30415"
@ -551,13 +552,13 @@ msgstr ""
msgctxt "#30514"
msgid "Show all Plex extras instead of immediately playing trailers"
msgstr ""
"Afficher tous les extras Plex au lieu de jouer immédiatement les bandes-"
"Afficher tous les extras Plex au lieu de lire immédiatement les bandes-"
"annonces."
# PKC Settings - Sync Options
msgctxt "#30515"
msgid "Maximum items to request from the server at once"
msgstr "Nombre maximum d'éléments concurrents à demander au serveur"
msgstr "Nombre maximum d'éléments à demander au serveur en même temps"
# PKC Settings, category name
msgctxt "#30516"
@ -577,7 +578,7 @@ msgstr "Activer les bandes-annonces Plex (nécessite PlexPass)"
# PKC Settings - Playback
msgctxt "#30519"
msgid "Ask to play trailers"
msgstr "Demander de jouer les bandes-annonces"
msgstr "Demander de lire les bandes-annonces"
# PKC Settings - Plex
msgctxt "#30520"
@ -600,7 +601,7 @@ msgctxt "#30523"
msgid "Also show sync progress for playstate and user data"
msgstr ""
"Afficher également la progression de la synchronisation pour l'état de "
"lecture et les données utilisateur"
"lecture et des données utilisateur"
# PKC Settings - Sync Options
msgctxt "#30524"
@ -645,7 +646,8 @@ msgstr "Générer un nouvel ID unique Plex (Ex: pour cloner Kodi)"
# PKC Settings - Connection
msgctxt "#30536"
msgid "Users must log in every time Kodi restarts"
msgstr "Les utilisateurs doivent se connectent chaque fois que Kodi redémarre"
msgstr ""
"Les utilisateurs doivent se connecter à chaque fois que Kodi redémarre"
# PKC Settings warning
msgctxt "#30537"
@ -716,13 +718,13 @@ msgstr "Le serveur est en ligne"
# Plex notification when we need to transcode
msgctxt "#33004"
msgid "PMS enforced transcoding"
msgstr ""
msgstr "PMS impose le transcodage"
# Plex notification when we need to use direct streaming (instead of
# transcoding)
msgctxt "#33005"
msgid "PMS enforced direct streaming"
msgstr ""
msgstr "PMS impose le streaming en direct"
# Error notification
msgctxt "#33009"
@ -751,7 +753,7 @@ msgstr "Choisissez le fichier de sous-titres"
# Dialog before playback
msgctxt "#33016"
msgid "Play trailers?"
msgstr "Jouer les bandes-annonces ?"
msgstr "Lire les bandes-annonces?"
# Error message
msgctxt "#33032"
@ -772,23 +774,23 @@ msgid ""
"Delete file(s) from Plex Server? This will also delete the file(s) from "
"disk!"
msgstr ""
"Supprimer les fichiers du serveur de Plex ? Cela va également supprimer "
"le(s) fichier(s) du disque !"
"Supprimer les fichiers du serveur de Plex? Cela va également supprimer le(s)"
" fichier(s) du disque!"
# PKC Settings - Playback
msgctxt "#39000"
msgid "- Number of trailers to play before a movie"
msgstr "-Nombre de bandes-annonces à jouer avant un film"
msgstr "-Nombre de bandes-annonces à lire avant un film"
# PKC Settings - Playback
msgctxt "#39001"
msgid "Boost audio when transcoding"
msgstr "Booster l'audio pendant le transcodage"
msgstr "Augmenter l'audio pendant le transcodage"
# PKC Settings - Playback
msgctxt "#39002"
msgid "Burnt-in subtitle size"
msgstr "Taille des sous-titres incorporés"
msgstr "Taille des sous-titres incrustés"
# PKC Settings - Sync
msgctxt "#39003"
@ -798,27 +800,27 @@ msgstr "Nombre de processus de téléchargement simultanés"
# PKC Settings - Plex
msgctxt "#39004"
msgid "Enable Plex Companion (restart Kodi!)"
msgstr "Activer le compagnon de Plex (redémarrage de Kodi !)"
msgstr "Activer le compagnon de Plex (redémarrer Kodi!)"
# PKC Settings - Plex
msgctxt "#39005"
msgid "Plex Companion Port (change only if needed)"
msgstr "Plex Companion Port (change only if needed)"
msgstr "Plex Companion Port (changement uniquement si nécessaire)"
# PKC Settings - Plex
msgctxt "#39008"
msgid "Plex Companion: Allows flinging media to Kodi through Plex"
msgstr "Plex Companion: Allows flinging media to Kodi through Plex"
msgstr "Plex Companion: Permet de lancer des médias vers Kodi via Plex"
# Error message
msgctxt "#39009"
msgid "Could not login to plex.tv. Please try signing in again."
msgstr "Could not login to plex.tv. Please try signing in again."
msgstr "Impossible de se logguer à plex.tv. Veuillez essayer à nouveau"
# Error message
msgctxt "#39010"
msgid "Problems connecting to plex.tv. Network or internet issue?"
msgstr "Problèmes de connexion à plex.tv. Problème de réseau ou dinternet ?"
msgstr "Problèmes de connexion à plex.tv. Problème réseau ou dinternet ?"
# Error message
msgctxt "#39011"
@ -838,12 +840,12 @@ msgstr "Pas encore autorisée pour le serveur Plex "
# Error message
msgctxt "#39014"
msgid "Please sign in to plex.tv."
msgstr "Sil vous plaît connectez-vous à plex.tv."
msgstr "Veuillez vous connexter à plex.tv."
# Error message
msgctxt "#39015"
msgid "Problems connecting to server. Pick another server?"
msgstr "Problèmes de connexion au serveur. Choisir un autre serveur ?"
msgstr "Problèmes de connexion au serveur. Choisir un autre serveur?"
# Pop-up on initial sync
msgctxt "#39016"
@ -851,7 +853,7 @@ msgid ""
"Disable Plex music library? (It is HIGHLY recommended to use Plex music only"
" with direct paths for large music libraries. Kodi might crash otherwise)"
msgstr ""
"Désactiver la bibliothèque musicale de Plex ? (Il est fortement recommandé "
"Désactiver la bibliothèque musicale de Plex? (Il est fortement recommandé "
"dutiliser Plex musique seulement avec des chemins daccès directs pour les "
"grandes bibliothèques musicale. Sinon Kodi peut sinterrompre)"
@ -861,8 +863,8 @@ msgid ""
"Would you now like to go to the plugin's settings to fine-tune PKC? You will"
" need to RESTART Kodi!"
msgstr ""
"Aimeriez-vous maintenant aller dans les paramètres du plugin pour affiner la"
" PKC ? Vous devrez redémarrer Kodi !"
"Voulez-vous maintenant aller dans les paramètres du plugin pour affiner "
"PKC? Vous devrez redémarrer Kodi!"
# PKC Settings - Advanced
msgctxt "#39018"
@ -891,12 +893,12 @@ msgstr "local"
msgctxt "#39023"
msgid "Failed to authenticate. Did you login to plex.tv?"
msgstr ""
"Impossible deffectuer l'authentification. Êtes-vous connectez à plex.tv ?"
"Impossible deffectuer l'authentification. Êtes-vous connectez à plex.tv?"
# PKC Settings - Plex
msgctxt "#39025"
msgid "Automatically log into plex.tv on startup"
msgstr "Vous connecter automatiquement plex.tv au démarrage"
msgstr "Connecter automatiquement plex.tv au démarrage"
# PKC Settings - Sync
msgctxt "#39026"
@ -911,11 +913,11 @@ msgid ""
"shares need to use direct paths (e.g. smb://myNAS/mymovie.mkv or "
"\\\\myNAS/mymovie.mkv)!"
msgstr ""
"MISE EN GARDE ! Si vous choisissez le mode « Natif », vous pourriez perdre "
"accès à certaines fonctionnalités de Plex tels que : Plex trailers et les "
"MISE EN GARDE! Si vous choisissez le mode «Natif», vous pourriez perdre "
"accès à certaines fonctionnalités de Plex tels que: Plex trailers et les "
"options de transcodage. Toutes les actions de Plex ont besoin dutiliser des"
" chemins daccès directs (par exemple smb://myNAS/mymovie.mkv ou "
"\\myNAS/mymovie.mkv) !"
"\\myNAS/mymovie.mkv)!"
# Pop-up on initial sync
msgctxt "#39029"
@ -930,7 +932,7 @@ msgid ""
" Kodi can't locate your content."
msgstr ""
"Ajouter des informations didentification réseau pour permettre daccéder à "
"votre contenu Kodi ? Remarque : Sauter cette étape peut générer un message "
"votre contenu Kodi? Remarque: Sauter cette étape peut générer un message "
"lors de lanalyse initiale de votre contenu si Kodi ne peut pas localiser "
"votre contenu."
@ -1009,8 +1011,9 @@ msgid ""
"Go a step further and completely replace all original Plex library paths "
"(/volume1/media) with custom SMB paths (smb://NAS/MyStuff)?"
msgstr ""
"Go a step further and completely replace all original Plex library paths "
"(/volume1/media) with custom SMB paths (smb://NAS/MyStuff)?"
"Continuer et remplacer complètement tous les chemins d'accès originaux de la"
" bibliothèque Plex (/volume1/media) par des chemins d'accès SMB "
"personnalisés (smb://NAS/MyStuff)?"
# Pop-up on initial sync
msgctxt "#39044"
@ -1018,8 +1021,8 @@ msgid ""
"Please enter your custom smb paths in the settings under \"Sync Options\" "
"and then restart Kodi"
msgstr ""
"Please enter your custom smb paths in the settings under \"Sync Options\" "
"and then restart Kodi"
"Veuillez entrer vos chemins smb personnalisés dans les paramètres sous "
"\"Sync Options\" et ensuite redémarrer Kodi"
# PKC Settings - Customize Paths
msgctxt "#39045"
@ -1044,7 +1047,7 @@ msgstr "On Deck: Append season- and episode-number SxxExx"
# PKC Settings - Advanced
msgctxt "#39049"
msgid "Nothing works? Try a full reset!"
msgstr "Rien ne fonctionne ? Essayez une réinitialisation complète !"
msgstr "Rien ne fonctionne? Essayez une réinitialisation complète!"
# PKC Settings - Connection
msgctxt "#39050"
@ -1083,6 +1086,8 @@ msgctxt "#39056"
msgid ""
"Used by sync and when attempting Direct Paths. Restart Kodi on changes!"
msgstr ""
"Utilisé pour la synchronisation et les chemins directs. Redémarrez Kodi "
"après les changements!"
# PKC Settings, category name
msgctxt "#39057"
@ -1106,7 +1111,7 @@ msgid ""
"background?"
msgstr ""
"Vous souhaitez télécharger des illustrations supplémentaires de FanArtTV en "
"arrière-plan ?"
"arrière-plan?"
# PKC Settings - Sync
msgctxt "#39062"
@ -1121,22 +1126,22 @@ msgstr "Forcer le transcodage Hi10P"
# PKC Settings - Appearance Tweaks
msgctxt "#39064"
msgid "Recently Added: Also show already watched episodes"
msgstr "Recently Added: Also show already watched episodes"
msgstr "Ajouté récemment: Montre également les épisodes déjà visionnés"
# PKC Settings - Appearance Tweaks
msgctxt "#39065"
msgid "Force-refresh Kodi skin on stopping playback"
msgstr "Forcer le rafraîchissement du skin de Kodi va arrêter le playback."
msgstr "Forcer le rafraîchissement du skin lors de l'arrêt de la lecture"
# PKC Settings - Appearance Tweaks
msgctxt "#39066"
msgid "Recently Added: Also show already watched movies"
msgstr "Récemment ajouté : Montrer aussi les films déjà visionnés"
msgstr "Récemment ajouté: Montrer aussi les films déjà visionnés"
# PKC Settings - Connection
msgctxt "#39067"
msgid "Your current Plex Media Server:"
msgstr "Votre serveur Plex actuel :"
msgstr "Votre serveur Plex actuel: "
# PKC Settings - Connection
msgctxt "#39068"
@ -1146,17 +1151,17 @@ msgstr "Entrez manuellement l'adresse du Plex Media Server"
# PKC Settings - Connection
msgctxt "#39069"
msgid "Current address:"
msgstr "Adresse actuelle :"
msgstr "Adresse actuelle: "
# PKC Settings - Connection
msgctxt "#39070"
msgid "Current port:"
msgstr "Port actuel :"
msgstr "Port actuel: "
# PKC Settings - Connection
msgctxt "#39071"
msgid "Current plex.tv status:"
msgstr "État actuel de plex.tv :"
msgstr "État actuel de plex.tv: "
# PKC Settings, category name
msgctxt "#39073"
@ -1174,8 +1179,8 @@ msgid ""
"If you use several Plex libraries of one kind, e.g. \"Kids Movies\" and "
"\"Parents Movies\", be sure to check the Wiki: https://goo.gl/JFtQV9"
msgstr ""
"Si vous utilisez plusieurs bibliothèques de Plex dun type, par exemple « "
"Films enfants » et « Films parents », assurez-vous de consulter le Wiki : "
"Si vous utilisez plusieurs bibliothèques de Plex dun type, par exemple "
"«Films enfants» et «Films parents», assurez-vous de consulter le Wiki: "
"https://goo.gl/JFtQV9"
# PKC Settings - Appearance Tweaks
@ -1186,7 +1191,7 @@ msgstr "Nombre maximum de vidéos à afficher dans les widgets"
# PKC Settings - Plex
msgctxt "#39078"
msgid "Plex Companion Update Port (change only if needed)"
msgstr "Plex Companion Update Port (change only if needed)"
msgstr "Plex Companion Update Port (à modifier uniquement si nécessaire)"
# Error message
msgctxt "#39079"
@ -1194,8 +1199,8 @@ msgid ""
"Plex Companion could not open the GDM port. Please change it in the PKC "
"settings."
msgstr ""
"Plex Companion could not open the GDM port. Please change it in the PKC "
"settings."
"Plex Companion n'a pas pu ouvrir le port GDM. Veuillez le modifier dans les "
"paramètres du PKC."
# Pop-up on initial sync.
# Check that next translations for Add-on Paths and Direct Paths are
@ -1205,8 +1210,9 @@ msgid ""
"Use Add-on Paths (default, easy) or Direct Paths? Choose Add-on Paths if "
"you're unsure. PKC will not work if your Direct Paths setup is wrong!"
msgstr ""
"Utiliser les chemins de l'Add-on (par défaut, simple) ou les chemins Directs? \n"
"Choisissez les chemins de l'Add-on si vous n'êtes pas sûr. PKC ne fonctionnera pas si vos réglages chemins Directs ne sont pas corrects."
"Utiliser les chemins de l'Add-on (par défaut, simple) ou les chemins "
"Directs? Choisissez les chemins de l'Add-on si vous n'êtes pas sûr. PKC ne "
"fonctionnera pas si vos réglages chemins Directs ne sont pas corrects."
# Button text for choosing PKC mode
msgctxt "#39081"
@ -1250,24 +1256,24 @@ msgstr "Synchroniser la bibliothèque manuellement"
msgctxt "#39205"
msgid "Unable to run the sync, the add-on is not connected to a Plex server."
msgstr ""
"Impossible de lancer la synchronisation, lAdd-on nest pas connecté à un "
"serveur Plex."
"Impossible de lancer la synchronisation, lextension nest pas connecté à un"
" serveur Plex."
msgctxt "#39206"
msgid ""
"Plex might lock your account if you fail to log in too many times. Proceed "
"anyway?"
msgstr ""
"Plex pourrait bloquer votre compte si vous ne parvenez pas à vous connecter "
"trop de fois. Continuer néanmoins ?"
"Plex pourrait bloquer votre compte si vous vous connecter trop de fois. "
"Poursuivre quand même ?"
msgctxt "#39207"
msgid "Resetting PMS connections, please wait"
msgstr "Resetting PMS connections, please wait"
msgstr "Réinitialisation des connexions PMS, veuillez patienter"
msgctxt "#39208"
msgid "Failed to reset PKC. Try to restart Kodi."
msgstr "Failed to reset PKC. Try to restart Kodi."
msgstr "Impossible de réinitialiser PKC. Essayez de redémarrer Kodi."
# PKC Settings - Plex
msgctxt "#39209"
@ -1276,7 +1282,7 @@ msgstr "Interrupteur de connexion à plex.tv (se connecter ou se déconnecter)"
msgctxt "#39210"
msgid "Not yet connected to Plex Server"
msgstr "Not yet connected to Plex Server"
msgstr "Pas encore connecté au serveur Plex"
msgctxt "#39211"
msgid "Watch later"
@ -1290,11 +1296,11 @@ msgstr "{0} hors-ligne"
msgctxt "#39215"
msgid "Enter your Plex Media Server's IP or URL, Examples are:"
msgstr "Enter your Plex Media Server's IP or URL, Examples are:"
msgstr "Entrez l'IP ou l'URL du Plex Media Server, exemples: "
msgctxt "#39217"
msgid "Use HTTPS (SSL) connections? Answer should probably be yes."
msgstr ""
msgstr "Utiliser le HTTPS (SSL) ? La réponse devrait être oui."
msgctxt "#39218"
msgid "Error contacting PMS"
@ -1302,7 +1308,7 @@ msgstr "Error contacting PMS"
msgctxt "#39219"
msgid "Abort (Yes) or save address anyway (No)?"
msgstr "Abort (Yes) or save address anyway (No)?"
msgstr "Abandonner (Oui) ou enregistrer quand même l'adresse (Non) ?"
# String attached at the end to get something like "PMS Name is offline"
msgctxt "#39220"
@ -1322,8 +1328,8 @@ msgid ""
"Only look for missing fanart or refresh all fanart? The scan will take quite"
" a while and happen in the background."
msgstr ""
"Only look for missing fanart or refresh all fanart? The scan will take quite"
" a while and happen in the background."
"Cherchez seulement le fanart manquant ou rafraîchissez tous les fanart ? Le "
"balayage prendra un certain temps et se fera en arrière-plan."
msgctxt "#39224"
msgid "Refresh all"
@ -1331,7 +1337,7 @@ msgstr "Tout rafraîchir"
msgctxt "#39225"
msgid "Missing only"
msgstr "Missing only"
msgstr "Manquant seulement"
# Message in the PKC settings if user has not logged in to plex.tv
msgctxt "#39226"
@ -1369,20 +1375,20 @@ msgid ""
"Running the image cache process can take some time. It will happen in the "
"background. Are you sure you want continue?"
msgstr ""
"Running the image cache process can take some time. It will happen in the "
"background. Are you sure you want continue?"
"L'exécution du processus de mise en cache des images peut prendre un certain"
" temps. Il se fera en arrière-plan. Êtes-vous sûr de vouloir continuer ?"
msgctxt "#39251"
msgid "Reset all existing cache data first?"
msgstr "Reset all existing cache data first?"
msgstr "Supprimer d'abord tout le cache des données ?"
msgctxt "#39303"
msgid "Problems trying to contact plex.tv. Try again later"
msgstr "Problèmes en essayant de contacter plex.tv. Réessayez plus tard"
msgstr "Problèmes en essayant de connecter plex.tv. Réessayez plus tard"
msgctxt "#39304"
msgid "Go to https://plex.tv/pin and enter the code: "
msgstr "Allez sur https://plex.tv/pin et entrez le code : "
msgstr "Allez sur https://plex.tv/pin et entrez le code: "
msgctxt "#39305"
msgid "Could not sign in to plex.tv. Try again later"
@ -1417,8 +1423,8 @@ msgid ""
"Library sync thread has crashed. You should restart Kodi now. Please report "
"this on the forum"
msgstr ""
"Library sync thread has crashed. You should restart Kodi now. Please report "
"this on the forum"
"La synchronisation de la bibliothèque s'est interrompue. Vous devriez "
"redémarrer Kodi maintenant. Veuillez le signaler sur le forum"
msgctxt "#39401"
msgid ""
@ -1465,9 +1471,10 @@ msgid ""
"returned ERRORS. Try lowering the number of sync download threads in the "
"settings. Skipped some items for now."
msgstr ""
"The Plex Server did not like you asking for so much data at once and "
"returned ERRORS. Try lowering the number of sync download threads in the "
"settings. Skipped some items for now."
"Le serveur Plex n'a pas aimé que vous demandiez autant de données d'un seul "
"coup et a renvoyé des ERREURS. Essayez de réduire le nombre de threads de "
"téléchargement de synchronisation dans les paramètres. Certains éléments ont"
" été ignorés pour l'instant."
msgctxt "#39410"
msgid "ERROR in library sync"
@ -1496,19 +1503,20 @@ msgstr ""
msgctxt "#39601"
msgid "Could not stop the database from running. Please try again later."
msgstr "Could not stop the database from running. Please try again later."
msgstr ""
"Impossible de stopper la base de donnée. Veuillez réessayer plus tard."
msgctxt "#39603"
msgid ""
"Reset all PlexKodiConnect Addon settings? (this is usually NOT recommended "
"and unnecessary!)"
msgstr ""
"Réinitialiser tous les paramètres de PlexKodiConnect Addon ? (ceci nest "
"généralement pas recommandée et inutiles !)"
"Réinitialiser tous les paramètres de PlexKodiConnect Addon? (ceci nest "
"généralement pas recommandée et inutiles!)"
msgctxt "#39700"
msgid "Amazon Alexa (Voice Recognition)"
msgstr "Amazon Alexa (Voice Recognition)"
msgstr "Amazon Alexa (Reconnaissance vocale)"
msgctxt "#39701"
msgid "Activate Alexa"
@ -1516,7 +1524,7 @@ msgstr "Activer Alexa"
msgctxt "#39702"
msgid "Browse by folder"
msgstr "Parcourir en suivant les répertoires"
msgstr "Parcourir par dossier"
# For use with addon.xml (PKC metadata for Kodi, e.g. description)
# Addon Summary
@ -1548,7 +1556,7 @@ msgstr "A utiliser à vos propres risques"
# If user gets prompted to choose between several subtitles to burn in
msgctxt "#39706"
msgid "Don't burn-in any subtitle"
msgstr ""
msgstr "Ne pas incruster de sous-titres"
# If user gets prompted to choose between several audio/subtitle tracks and
# language is unknown
@ -1613,7 +1621,7 @@ msgid ""
" correct your file!"
msgstr ""
"Kodi ne peut pas traiter {0}. PKC ne fonctionnera pas correctement. Merci de"
" visiter {1} et de corriger votre fichier !"
" visiter {1} et de corriger votre fichier!"
# Shown once on first installation to comply with the terms of use of
# themoviedb.org
@ -1621,7 +1629,7 @@ msgctxt "#39717"
msgid "PKC uses free additional artwork from www.themoviedb.org. Many thanks!"
msgstr ""
"PKC utilise gratuitement des artwork additionnels provenant de "
"www.themoviedb.org. Merci beaucoup !"
"www.themoviedb.org. Merci beaucoup!"
# Shown during very first PKC setup only
msgctxt "#39718"
@ -1630,7 +1638,7 @@ msgid ""
"many versions of a media item you posses?"
msgstr ""
"Voulez-vous remplacer vos notes d'utilisateurs personnalisées avec un "
"indicateur du nombre de versions d'un média que vous possédez ?"
"indicateur du nombre de versions d'un média que vous possédez?"
# In PKC Settings under Sync
msgctxt "#39719"

View file

@ -1,11 +1,12 @@
# XBMC Media Center language file
# Translators:
# Croneter None <croneter@gmail.com>, 2017
# Nat Le Scouarnec <nat@blogotheque.net>, 2017
# scorpio686 <gced@live.be>, 2018
# Janek B. <janek-transifex@les3j.net>, 2019
# Elixir59, 2019
# julien benoist <jbnitro@hotmail.fr>, 2019
# Croneter None <croneter@gmail.com>, 2020
# Raph Mell, 2020
#
msgid ""
msgstr ""
@ -13,7 +14,7 @@ msgstr ""
"Report-Msgid-Bugs-To: croneter@gmail.com\n"
"POT-Creation-Date: 2017-04-15 13:13+0000\n"
"PO-Revision-Date: 2017-04-30 08:30+0000\n"
"Last-Translator: julien benoist <jbnitro@hotmail.fr>, 2019\n"
"Last-Translator: Raph Mell, 2020\n"
"Language-Team: French (France) (https://www.transifex.com/croneter/teams/73837/fr_FR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -72,8 +73,8 @@ msgstr "Activer les notifications pour la mise en cache d'images"
msgctxt "#30009"
msgid "Enable image caching during Kodi playback (restart Kodi!)"
msgstr ""
"Activer la mise en cache des images pendant la lecture Kodi (redémarrez Kodi"
" !)"
"Activer la mise en cache des images pendant la lecture Kodi (redémarrez "
"Kodi!)"
# PKC settings - Artwork
msgctxt "#30010"
@ -126,7 +127,7 @@ msgstr "Recherche sur FanartTV terminée"
# PKC settings sync options
msgctxt "#30020"
msgid "Sync Plex playlists (reboot Kodi!)"
msgstr "Synchroniser les playlists de Plex (redémarrez Kodi !)"
msgstr "Synchroniser les playlists de Plex (redémarrez Kodi!)"
# PKC settings sync options
msgctxt "#30021"
@ -228,7 +229,7 @@ msgstr "Pour les films"
msgctxt "#30125"
msgid "Done"
msgstr "L'action a été effectuée"
msgstr "Effectué"
# Error popup message text
msgctxt "#30128"
@ -269,7 +270,7 @@ msgstr "Qualité vidéo si un transcodage est nécessaire"
msgctxt "#30161"
msgid "Auto-adjust transcoding quality (deactivate for Chromecast)"
msgstr ""
msgstr "Auto-ajuster la qualité du transcodage (désactivé pour Chromecast)"
msgctxt "#30165"
msgid "Direct Play"
@ -281,7 +282,7 @@ msgstr "Transcodage"
msgctxt "#30170"
msgid "Recently Added TV Shows"
msgstr "Série(s) récemment ajoutée"
msgstr "Série(s) récemment ajoutée(s)"
msgctxt "#30171"
msgid "In Progress TV Shows"
@ -293,7 +294,7 @@ msgstr "Chaînes"
msgctxt "#30174"
msgid "Recently Added"
msgstr "Récemment ajoutée"
msgstr "Récemment ajouté"
msgctxt "#30177"
msgid "In Progress Movies"
@ -445,7 +446,7 @@ msgstr "Evaluer la chanson"
# contextmenu entry
msgctxt "#30408"
msgid "Plex addon settings"
msgstr "Paramètres daddon de plex"
msgstr "Paramètres dextension de plex"
# contextmenu entry
msgctxt "#30409"
@ -469,7 +470,7 @@ msgid ""
"Server?"
msgstr ""
"La suppression n'a pas pu être effectuée. La suppression est-elle activée "
"sur le serveur de médias Plex ?"
"sur le serveur de médias Plex?"
# contextmenu entry
msgctxt "#30415"
@ -555,13 +556,13 @@ msgstr ""
msgctxt "#30514"
msgid "Show all Plex extras instead of immediately playing trailers"
msgstr ""
"Afficher tous les extras Plex au lieu de jouer immédiatement les bandes-"
"Afficher tous les extras Plex au lieu de lire immédiatement les bandes-"
"annonces."
# PKC Settings - Sync Options
msgctxt "#30515"
msgid "Maximum items to request from the server at once"
msgstr "Nombre maximum d'éléments concurrents à demander au serveur"
msgstr "Nombre maximum d'éléments à demander au serveur en même temps"
# PKC Settings, category name
msgctxt "#30516"
@ -581,7 +582,7 @@ msgstr "Activer les bandes-annonces Plex (nécessite PlexPass)"
# PKC Settings - Playback
msgctxt "#30519"
msgid "Ask to play trailers"
msgstr "Demander de jouer les bandes-annonces"
msgstr "Demander de lire les bandes-annonces"
# PKC Settings - Plex
msgctxt "#30520"
@ -604,7 +605,7 @@ msgctxt "#30523"
msgid "Also show sync progress for playstate and user data"
msgstr ""
"Afficher également la progression de la synchronisation pour l'état de "
"lecture et les données utilisateur"
"lecture et des données utilisateur"
# PKC Settings - Sync Options
msgctxt "#30524"
@ -649,7 +650,8 @@ msgstr "Générer un nouvel ID unique Plex (Ex: pour cloner Kodi)"
# PKC Settings - Connection
msgctxt "#30536"
msgid "Users must log in every time Kodi restarts"
msgstr "Les utilisateurs doivent se connectent chaque fois que Kodi redémarre"
msgstr ""
"Les utilisateurs doivent se connecter à chaque fois que Kodi redémarre"
# PKC Settings warning
msgctxt "#30537"
@ -720,13 +722,13 @@ msgstr "Le serveur est en ligne"
# Plex notification when we need to transcode
msgctxt "#33004"
msgid "PMS enforced transcoding"
msgstr ""
msgstr "PMS impose le transcodage"
# Plex notification when we need to use direct streaming (instead of
# transcoding)
msgctxt "#33005"
msgid "PMS enforced direct streaming"
msgstr ""
msgstr "PMS impose le streaming en direct"
# Error notification
msgctxt "#33009"
@ -755,7 +757,7 @@ msgstr "Choisissez le fichier de sous-titres"
# Dialog before playback
msgctxt "#33016"
msgid "Play trailers?"
msgstr "Jouer les bandes-annonces ?"
msgstr "Lire les bandes-annonces?"
# Error message
msgctxt "#33032"
@ -776,23 +778,23 @@ msgid ""
"Delete file(s) from Plex Server? This will also delete the file(s) from "
"disk!"
msgstr ""
"Supprimer les fichiers du serveur de Plex ? Cela va également supprimer "
"le(s) fichier(s) du disque !"
"Supprimer les fichiers du serveur de Plex? Cela va également supprimer le(s)"
" fichier(s) du disque!"
# PKC Settings - Playback
msgctxt "#39000"
msgid "- Number of trailers to play before a movie"
msgstr "-Nombre de bandes-annonces à jouer avant un film"
msgstr "-Nombre de bandes-annonces à lire avant un film"
# PKC Settings - Playback
msgctxt "#39001"
msgid "Boost audio when transcoding"
msgstr "Booster l'audio pendant le transcodage"
msgstr "Augmenter l'audio pendant le transcodage"
# PKC Settings - Playback
msgctxt "#39002"
msgid "Burnt-in subtitle size"
msgstr "Taille des sous-titres incorporés"
msgstr "Taille des sous-titres incrustés"
# PKC Settings - Sync
msgctxt "#39003"
@ -802,27 +804,27 @@ msgstr "Nombre de processus de téléchargement simultanés"
# PKC Settings - Plex
msgctxt "#39004"
msgid "Enable Plex Companion (restart Kodi!)"
msgstr "Activer le compagnon de Plex (redémarrage de Kodi !)"
msgstr "Activer le compagnon de Plex (redémarrer Kodi!)"
# PKC Settings - Plex
msgctxt "#39005"
msgid "Plex Companion Port (change only if needed)"
msgstr "Plex Companion Port (change only if needed)"
msgstr "Plex Companion Port (changement uniquement si nécessaire)"
# PKC Settings - Plex
msgctxt "#39008"
msgid "Plex Companion: Allows flinging media to Kodi through Plex"
msgstr "Plex Companion: Allows flinging media to Kodi through Plex"
msgstr "Plex Companion: Permet de lancer des médias vers Kodi via Plex"
# Error message
msgctxt "#39009"
msgid "Could not login to plex.tv. Please try signing in again."
msgstr "Could not login to plex.tv. Please try signing in again."
msgstr "Impossible de se logguer à plex.tv. Veuillez essayer à nouveau"
# Error message
msgctxt "#39010"
msgid "Problems connecting to plex.tv. Network or internet issue?"
msgstr "Problèmes de connexion à plex.tv. Problème de réseau ou dinternet ?"
msgstr "Problèmes de connexion à plex.tv. Problème réseau ou dinternet ?"
# Error message
msgctxt "#39011"
@ -842,7 +844,7 @@ msgstr "Pas encore autorisée pour le serveur Plex "
# Error message
msgctxt "#39014"
msgid "Please sign in to plex.tv."
msgstr "Sil vous plaît connectez-vous à plex.tv."
msgstr "Veuillez vous connexter à plex.tv."
# Error message
msgctxt "#39015"
@ -855,7 +857,7 @@ msgid ""
"Disable Plex music library? (It is HIGHLY recommended to use Plex music only"
" with direct paths for large music libraries. Kodi might crash otherwise)"
msgstr ""
"Désactiver la bibliothèque musicale de Plex ? (Il est fortement recommandé "
"Désactiver la bibliothèque musicale de Plex? (Il est fortement recommandé "
"dutiliser Plex musique seulement avec des chemins daccès directs pour les "
"grandes bibliothèques musicale. Sinon Kodi peut sinterrompre)"
@ -865,8 +867,8 @@ msgid ""
"Would you now like to go to the plugin's settings to fine-tune PKC? You will"
" need to RESTART Kodi!"
msgstr ""
"Aimeriez-vous maintenant aller dans les paramètres du plugin pour affiner la"
" PKC ? Vous devrez redémarrer Kodi !"
"Voulez-vous maintenant aller dans les paramètres du plugin pour affiner "
"PKC? Vous devrez redémarrer Kodi!"
# PKC Settings - Advanced
msgctxt "#39018"
@ -895,12 +897,12 @@ msgstr "local"
msgctxt "#39023"
msgid "Failed to authenticate. Did you login to plex.tv?"
msgstr ""
"Impossible deffectuer l'authentification. Êtes-vous connectez à plex.tv ?"
"Impossible deffectuer l'authentification. Êtes-vous connectez à plex.tv?"
# PKC Settings - Plex
msgctxt "#39025"
msgid "Automatically log into plex.tv on startup"
msgstr "Vous connecter automatiquement plex.tv au démarrage"
msgstr "Connecter automatiquement plex.tv au démarrage"
# PKC Settings - Sync
msgctxt "#39026"
@ -915,11 +917,11 @@ msgid ""
"shares need to use direct paths (e.g. smb://myNAS/mymovie.mkv or "
"\\\\myNAS/mymovie.mkv)!"
msgstr ""
"MISE EN GARDE ! Si vous choisissez le mode « Natif », vous pourriez perdre "
"accès à certaines fonctionnalités de Plex tels que : Plex trailers et les "
"MISE EN GARDE! Si vous choisissez le mode «Natif», vous pourriez perdre "
"accès à certaines fonctionnalités de Plex tels que: Plex trailers et les "
"options de transcodage. Toutes les actions de Plex ont besoin dutiliser des"
" chemins daccès directs (par exemple smb://myNAS/mymovie.mkv ou "
"\\myNAS/mymovie.mkv) !"
"\\myNAS/mymovie.mkv)!"
# Pop-up on initial sync
msgctxt "#39029"
@ -934,7 +936,7 @@ msgid ""
" Kodi can't locate your content."
msgstr ""
"Ajouter des informations didentification réseau pour permettre daccéder à "
"votre contenu Kodi ? Remarque : Sauter cette étape peut générer un message "
"votre contenu Kodi? Remarque: Sauter cette étape peut générer un message "
"lors de lanalyse initiale de votre contenu si Kodi ne peut pas localiser "
"votre contenu."
@ -1013,8 +1015,9 @@ msgid ""
"Go a step further and completely replace all original Plex library paths "
"(/volume1/media) with custom SMB paths (smb://NAS/MyStuff)?"
msgstr ""
"Go a step further and completely replace all original Plex library paths "
"(/volume1/media) with custom SMB paths (smb://NAS/MyStuff)?"
"Continuer et remplacer complètement tous les chemins d'accès originaux de la"
" bibliothèque Plex (/volume1/media) par des chemins d'accès SMB "
"personnalisés (smb://NAS/MyStuff)?"
# Pop-up on initial sync
msgctxt "#39044"
@ -1022,8 +1025,8 @@ msgid ""
"Please enter your custom smb paths in the settings under \"Sync Options\" "
"and then restart Kodi"
msgstr ""
"Please enter your custom smb paths in the settings under \"Sync Options\" "
"and then restart Kodi"
"Veuillez entrer vos chemins smb personnalisés dans les paramètres sous "
"\"Sync Options\" et ensuite redémarrer Kodi"
# PKC Settings - Customize Paths
msgctxt "#39045"
@ -1048,7 +1051,7 @@ msgstr "On Deck: Append season- and episode-number SxxExx"
# PKC Settings - Advanced
msgctxt "#39049"
msgid "Nothing works? Try a full reset!"
msgstr "Rien ne fonctionne ? Essayez une réinitialisation complète !"
msgstr "Rien ne fonctionne? Essayez une réinitialisation complète!"
# PKC Settings - Connection
msgctxt "#39050"
@ -1087,6 +1090,8 @@ msgctxt "#39056"
msgid ""
"Used by sync and when attempting Direct Paths. Restart Kodi on changes!"
msgstr ""
"Utilisé pour la synchronisation et les chemins directs. Redémarrez Kodi "
"après les changements!"
# PKC Settings, category name
msgctxt "#39057"
@ -1110,7 +1115,7 @@ msgid ""
"background?"
msgstr ""
"Vous souhaitez télécharger des illustrations supplémentaires de FanArtTV en "
"arrière-plan ?"
"arrière-plan?"
# PKC Settings - Sync
msgctxt "#39062"
@ -1125,22 +1130,22 @@ msgstr "Forcer le transcodage Hi10P"
# PKC Settings - Appearance Tweaks
msgctxt "#39064"
msgid "Recently Added: Also show already watched episodes"
msgstr "Recently Added: Also show already watched episodes"
msgstr "Ajouté récemment: Montre également les épisodes déjà visionnés"
# PKC Settings - Appearance Tweaks
msgctxt "#39065"
msgid "Force-refresh Kodi skin on stopping playback"
msgstr "Forcer le rafraîchissement du skin de Kodi va arrêter le playback."
msgstr "Forcer le rafraîchissement du skin lors de l'arrêt de la lecture"
# PKC Settings - Appearance Tweaks
msgctxt "#39066"
msgid "Recently Added: Also show already watched movies"
msgstr "Récemment ajouté : Montrer aussi les films déjà visionnés"
msgstr "Récemment ajouté: Montrer aussi les films déjà visionnés"
# PKC Settings - Connection
msgctxt "#39067"
msgid "Your current Plex Media Server:"
msgstr "Votre serveur Plex actuel :"
msgstr "Votre serveur Plex actuel: "
# PKC Settings - Connection
msgctxt "#39068"
@ -1150,17 +1155,17 @@ msgstr "Entrez manuellement l'adresse du Plex Media Server"
# PKC Settings - Connection
msgctxt "#39069"
msgid "Current address:"
msgstr "Adresse actuelle :"
msgstr "Adresse actuelle: "
# PKC Settings - Connection
msgctxt "#39070"
msgid "Current port:"
msgstr "Port actuel :"
msgstr "Port actuel: "
# PKC Settings - Connection
msgctxt "#39071"
msgid "Current plex.tv status:"
msgstr "État actuel de plex.tv :"
msgstr "État actuel de plex.tv: "
# PKC Settings, category name
msgctxt "#39073"
@ -1178,8 +1183,8 @@ msgid ""
"If you use several Plex libraries of one kind, e.g. \"Kids Movies\" and "
"\"Parents Movies\", be sure to check the Wiki: https://goo.gl/JFtQV9"
msgstr ""
"Si vous utilisez plusieurs bibliothèques de Plex dun type, par exemple « "
"Films enfants » et « Films parents », assurez-vous de consulter le Wiki : "
"Si vous utilisez plusieurs bibliothèques de Plex dun type, par exemple "
"«Films enfants» et «Films parents», assurez-vous de consulter le Wiki: "
"https://goo.gl/JFtQV9"
# PKC Settings - Appearance Tweaks
@ -1190,7 +1195,7 @@ msgstr "Nombre maximum de vidéos à afficher dans les widgets"
# PKC Settings - Plex
msgctxt "#39078"
msgid "Plex Companion Update Port (change only if needed)"
msgstr "Plex Companion Update Port (change only if needed)"
msgstr "Plex Companion Update Port (à modifier uniquement si nécessaire)"
# Error message
msgctxt "#39079"
@ -1198,8 +1203,8 @@ msgid ""
"Plex Companion could not open the GDM port. Please change it in the PKC "
"settings."
msgstr ""
"Plex Companion could not open the GDM port. Please change it in the PKC "
"settings."
"Plex Companion n'a pas pu ouvrir le port GDM. Veuillez le modifier dans les "
"paramètres du PKC."
# Pop-up on initial sync.
# Check that next translations for Add-on Paths and Direct Paths are
@ -1209,8 +1214,9 @@ msgid ""
"Use Add-on Paths (default, easy) or Direct Paths? Choose Add-on Paths if "
"you're unsure. PKC will not work if your Direct Paths setup is wrong!"
msgstr ""
"Utiliser les chemins de l'Add-on (par défaut, simple) ou les chemins Directs? \n"
"Choisissez les chemins de l'Add-on si vous n'êtes pas sûr. PKC ne fonctionnera pas si vos réglages chemins Directs ne sont pas corrects."
"Utiliser les chemins de l'Add-on (par défaut, simple) ou les chemins "
"Directs? Choisissez les chemins de l'Add-on si vous n'êtes pas sûr. PKC ne "
"fonctionnera pas si vos réglages chemins Directs ne sont pas corrects."
# Button text for choosing PKC mode
msgctxt "#39081"
@ -1254,24 +1260,24 @@ msgstr "Synchroniser la bibliothèque manuellement"
msgctxt "#39205"
msgid "Unable to run the sync, the add-on is not connected to a Plex server."
msgstr ""
"Impossible de lancer la synchronisation, lAdd-on nest pas connecté à un "
"serveur Plex."
"Impossible de lancer la synchronisation, lextension nest pas connecté à un"
" serveur Plex."
msgctxt "#39206"
msgid ""
"Plex might lock your account if you fail to log in too many times. Proceed "
"anyway?"
msgstr ""
"Plex pourrait bloquer votre compte si vous ne parvenez pas à vous connecter "
"trop de fois. Continuer néanmoins ?"
"Plex pourrait bloquer votre compte si vous vous connecter trop de fois. "
"Poursuivre quand même ?"
msgctxt "#39207"
msgid "Resetting PMS connections, please wait"
msgstr "Resetting PMS connections, please wait"
msgstr "Réinitialisation des connexions PMS, veuillez patienter"
msgctxt "#39208"
msgid "Failed to reset PKC. Try to restart Kodi."
msgstr "Failed to reset PKC. Try to restart Kodi."
msgstr "Impossible de réinitialiser PKC. Essayez de redémarrer Kodi."
# PKC Settings - Plex
msgctxt "#39209"
@ -1280,7 +1286,7 @@ msgstr "Interrupteur de connexion à plex.tv (se connecter ou se déconnecter)"
msgctxt "#39210"
msgid "Not yet connected to Plex Server"
msgstr "Not yet connected to Plex Server"
msgstr "Pas encore connecté au serveur Plex"
msgctxt "#39211"
msgid "Watch later"
@ -1294,11 +1300,11 @@ msgstr "{0} hors-ligne"
msgctxt "#39215"
msgid "Enter your Plex Media Server's IP or URL, Examples are:"
msgstr "Enter your Plex Media Server's IP or URL, Examples are:"
msgstr "Entrez l'IP ou l'URL du Plex Media Server, exemples: "
msgctxt "#39217"
msgid "Use HTTPS (SSL) connections? Answer should probably be yes."
msgstr ""
msgstr "Utiliser le HTTPS (SSL) ? La réponse devrait être oui."
msgctxt "#39218"
msgid "Error contacting PMS"
@ -1306,7 +1312,7 @@ msgstr "Error contacting PMS"
msgctxt "#39219"
msgid "Abort (Yes) or save address anyway (No)?"
msgstr "Abort (Yes) or save address anyway (No)?"
msgstr "Abandonner (Oui) ou enregistrer quand même l'adresse (Non) ?"
# String attached at the end to get something like "PMS Name is offline"
msgctxt "#39220"
@ -1326,8 +1332,8 @@ msgid ""
"Only look for missing fanart or refresh all fanart? The scan will take quite"
" a while and happen in the background."
msgstr ""
"Only look for missing fanart or refresh all fanart? The scan will take quite"
" a while and happen in the background."
"Cherchez seulement le fanart manquant ou rafraîchissez tous les fanart ? Le "
"balayage prendra un certain temps et se fera en arrière-plan."
msgctxt "#39224"
msgid "Refresh all"
@ -1335,7 +1341,7 @@ msgstr "Tout rafraîchir"
msgctxt "#39225"
msgid "Missing only"
msgstr "Missing only"
msgstr "Manquant seulement"
# Message in the PKC settings if user has not logged in to plex.tv
msgctxt "#39226"
@ -1373,20 +1379,20 @@ msgid ""
"Running the image cache process can take some time. It will happen in the "
"background. Are you sure you want continue?"
msgstr ""
"Running the image cache process can take some time. It will happen in the "
"background. Are you sure you want continue?"
"L'exécution du processus de mise en cache des images peut prendre un certain"
" temps. Il se fera en arrière-plan. Êtes-vous sûr de vouloir continuer ?"
msgctxt "#39251"
msgid "Reset all existing cache data first?"
msgstr "Reset all existing cache data first?"
msgstr "Supprimer d'abord tout le cache des données ?"
msgctxt "#39303"
msgid "Problems trying to contact plex.tv. Try again later"
msgstr "Problèmes en essayant de contacter plex.tv. Réessayez plus tard"
msgstr "Problèmes en essayant de connecter plex.tv. Réessayez plus tard"
msgctxt "#39304"
msgid "Go to https://plex.tv/pin and enter the code: "
msgstr "Allez sur https://plex.tv/pin et entrez le code : "
msgstr "Allez sur https://plex.tv/pin et entrez le code: "
msgctxt "#39305"
msgid "Could not sign in to plex.tv. Try again later"
@ -1421,8 +1427,8 @@ msgid ""
"Library sync thread has crashed. You should restart Kodi now. Please report "
"this on the forum"
msgstr ""
"Library sync thread has crashed. You should restart Kodi now. Please report "
"this on the forum"
"La synchronisation de la bibliothèque s'est interrompue. Vous devriez "
"redémarrer Kodi maintenant. Veuillez le signaler sur le forum"
msgctxt "#39401"
msgid ""
@ -1469,9 +1475,10 @@ msgid ""
"returned ERRORS. Try lowering the number of sync download threads in the "
"settings. Skipped some items for now."
msgstr ""
"The Plex Server did not like you asking for so much data at once and "
"returned ERRORS. Try lowering the number of sync download threads in the "
"settings. Skipped some items for now."
"Le serveur Plex n'a pas aimé que vous demandiez autant de données d'un seul "
"coup et a renvoyé des ERREURS. Essayez de réduire le nombre de threads de "
"téléchargement de synchronisation dans les paramètres. Certains éléments ont"
" été ignorés pour l'instant."
msgctxt "#39410"
msgid "ERROR in library sync"
@ -1500,19 +1507,20 @@ msgstr ""
msgctxt "#39601"
msgid "Could not stop the database from running. Please try again later."
msgstr "Could not stop the database from running. Please try again later."
msgstr ""
"Impossible de stopper la base de donnée. Veuillez réessayer plus tard."
msgctxt "#39603"
msgid ""
"Reset all PlexKodiConnect Addon settings? (this is usually NOT recommended "
"and unnecessary!)"
msgstr ""
"Réinitialiser tous les paramètres de PlexKodiConnect Addon ? (ceci nest "
"généralement pas recommandée et inutiles !)"
"Réinitialiser tous les paramètres de PlexKodiConnect Addon? (ceci nest "
"généralement pas recommandée et inutiles!)"
msgctxt "#39700"
msgid "Amazon Alexa (Voice Recognition)"
msgstr "Amazon Alexa (Voice Recognition)"
msgstr "Amazon Alexa (Reconnaissance vocale)"
msgctxt "#39701"
msgid "Activate Alexa"
@ -1520,7 +1528,7 @@ msgstr "Activer Alexa"
msgctxt "#39702"
msgid "Browse by folder"
msgstr "Parcourir en suivant les répertoires"
msgstr "Parcourir par dossier"
# For use with addon.xml (PKC metadata for Kodi, e.g. description)
# Addon Summary
@ -1552,7 +1560,7 @@ msgstr "A utiliser à vos propres risques"
# If user gets prompted to choose between several subtitles to burn in
msgctxt "#39706"
msgid "Don't burn-in any subtitle"
msgstr ""
msgstr "Ne pas incruster de sous-titres"
# If user gets prompted to choose between several audio/subtitle tracks and
# language is unknown
@ -1617,7 +1625,7 @@ msgid ""
" correct your file!"
msgstr ""
"Kodi ne peut pas traiter {0}. PKC ne fonctionnera pas correctement. Merci de"
" visiter {1} et de corriger votre fichier !"
" visiter {1} et de corriger votre fichier!"
# Shown once on first installation to comply with the terms of use of
# themoviedb.org
@ -1625,7 +1633,7 @@ msgctxt "#39717"
msgid "PKC uses free additional artwork from www.themoviedb.org. Many thanks!"
msgstr ""
"PKC utilise gratuitement des artwork additionnels provenant de "
"www.themoviedb.org. Merci beaucoup !"
"www.themoviedb.org. Merci beaucoup!"
# Shown during very first PKC setup only
msgctxt "#39718"
@ -1634,7 +1642,7 @@ msgid ""
"many versions of a media item you posses?"
msgstr ""
"Voulez-vous remplacer vos notes d'utilisateurs personnalisées avec un "
"indicateur du nombre de versions d'un média que vous possédez ?"
"indicateur du nombre de versions d'un média que vous possédez?"
# In PKC Settings under Sync
msgctxt "#39719"

View file

@ -1543,7 +1543,7 @@ msgstr "Csak saját felelősségre használja"
# If user gets prompted to choose between several subtitles to burn in
msgctxt "#39706"
msgid "Don't burn-in any subtitle"
msgstr ""
msgstr "Ne égessen be feliratot"
# If user gets prompted to choose between several audio/subtitle tracks and
# language is unknown

View file

@ -1,6 +1,6 @@
# XBMC Media Center language file
# Translators:
# marcisbe <marcisbe@gmail.com>, 2019
# marcisbe <marcisbe@gmail.com>, 2020
#
msgid ""
msgstr ""
@ -8,7 +8,7 @@ msgstr ""
"Report-Msgid-Bugs-To: croneter@gmail.com\n"
"POT-Creation-Date: 2017-04-15 13:13+0000\n"
"PO-Revision-Date: 2017-04-30 08:30+0000\n"
"Last-Translator: marcisbe <marcisbe@gmail.com>, 2019\n"
"Last-Translator: marcisbe <marcisbe@gmail.com>, 2020\n"
"Language-Team: Latvian (Latvia) (https://www.transifex.com/croneter/teams/73837/lv_LV/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -260,7 +260,7 @@ msgstr "Video Kvalitāte, ja nepieciešama Pārkodēšana"
msgctxt "#30161"
msgid "Auto-adjust transcoding quality (deactivate for Chromecast)"
msgstr ""
msgstr "Automātiski pielāgot transkodēšanas kvalitāti (deaktivizē Chromecast)"
msgctxt "#30165"
msgid "Direct Play"

View file

@ -30,3 +30,11 @@ def init(entrypoint=False):
SYNC = Sync(entrypoint)
if not entrypoint:
PLAYSTATE = PlayState()
def reload():
"""
Reload PKC settings from xml file, e.g. on user-switch
"""
global APP, SYNC
APP.reload()
SYNC.reload()

View file

@ -22,7 +22,7 @@ class App(object):
if entrypoint:
self.load_entrypoint()
else:
self.load()
self.reload()
# Quit PKC?
self.stop_pkc = False
# This will suspend the main thread also
@ -134,7 +134,7 @@ class App(object):
thread.suspend(block=True)
else:
break
return xbmc.abortRequested
return self.monitor.abortRequested()
def resume_threads(self):
"""
@ -144,7 +144,7 @@ class App(object):
LOG.debug('Resuming threads: %s', self.threads)
for thread in self.threads:
thread.resume()
return xbmc.abortRequested
return self.monitor.abortRequested()
def stop_threads(self, block=True):
"""
@ -160,7 +160,7 @@ class App(object):
if xbmc.sleep(100):
return True
def load(self):
def reload(self):
# Number of items to fetch and display in widgets
self.fetch_pms_item_number = int(utils.settings('fetch_pms_item_number'))
# Hack to force Kodi widget for "in progress" to show up if it was empty

View file

@ -42,6 +42,7 @@ class Sync(object):
self.remapSMBphotoNew = None
# Escape path?
self.escape_path = None
self.escape_path_safe_chars = None
# Shall we replace custom user ratings with the number of versions available?
self.indicate_media_versions = None
# Will sync movie trailer differently: either play trailer directly or show
@ -80,6 +81,7 @@ class Sync(object):
# List of section_ids we're synching to Kodi - will be automatically
# re-built if sections are set a-new
self.section_ids = set()
self.enable_alexa = None
self.load()
@ -99,7 +101,6 @@ class Sync(object):
self.artwork = utils.settings('usePlexArtwork') == 'true'
self.replace_smb_path = utils.settings('replaceSMB') == 'true'
self.remap_path = utils.settings('remapSMB') == 'true'
self.force_transcode_pix = utils.settings('force_transcode_pix') == 'true'
self.remapSMBmovieOrg = remove_trailing_slash(utils.settings('remapSMBmovieOrg'))
self.remapSMBmovieNew = remove_trailing_slash(utils.settings('remapSMBmovieNew'))
self.remapSMBtvOrg = remove_trailing_slash(utils.settings('remapSMBtvOrg'))
@ -109,15 +110,26 @@ class Sync(object):
self.remapSMBphotoOrg = remove_trailing_slash(utils.settings('remapSMBphotoOrg'))
self.remapSMBphotoNew = remove_trailing_slash(utils.settings('remapSMBphotoNew'))
self.escape_path = utils.settings('escapePath') == 'true'
self.escape_path_safe_chars = utils.settings('escapePathSafeChars').encode('utf-8')
self.indicate_media_versions = utils.settings('indicate_media_versions') == "true"
self.show_extras_instead_of_playing_trailer = utils.settings('showExtrasInsteadOfTrailer') == 'true'
self.sync_specific_plex_playlists = utils.settings('syncSpecificPlexPlaylists') == 'true'
self.sync_specific_kodi_playlists = utils.settings('syncSpecificKodiPlaylists') == 'true'
self.sync_dialog = utils.settings('dbSyncIndicator') == 'true'
self.full_sync_intervall = int(utils.settings('fullSyncInterval')) * 60
self.background_sync_disabled = utils.settings('enableBackgroundSync') == 'false'
self.backgroundsync_saftymargin = int(utils.settings('backgroundsync_saftyMargin'))
self.sync_thread_number = int(utils.settings('syncThreadNumber'))
self.reload()
def reload(self):
"""
Any settings unrelated to syncs to the Kodi database - can thus be
safely reset without a Kodi reboot
"""
self.background_sync_disabled = utils.settings('enableBackgroundSync') == 'false'
self.enable_alexa = utils.settings('enable_alexa') == 'true'
self.sync_dialog = utils.settings('dbSyncIndicator') == 'true'
self.full_sync_intervall = int(utils.settings('fullSyncInterval')) * 60
self.backgroundsync_saftymargin = int(utils.settings('backgroundsync_saftyMargin'))
self.image_sync_notifications = utils.settings('imageSyncNotifications') == 'true'
self.force_transcode_pix = utils.settings('force_transcode_pix') == 'true'
# Trailers in Kodi DB will remain UNTIL DB is reset!
self.show_extras_instead_of_playing_trailer = utils.settings('showExtrasInsteadOfTrailer') == 'true'

View file

@ -8,8 +8,6 @@ import Queue
import heapq
from collections import deque
import xbmc
from . import utils, app, variables as v
WORKER_COUNT = 3
@ -305,7 +303,7 @@ class Task(object):
self._canceled = True
def should_cancel(self):
return self._canceled or xbmc.abortRequested
return self._canceled or app.APP.monitor.abortRequested()
def isValid(self):
return not self.finished and not self._canceled
@ -370,7 +368,7 @@ class BackgroundWorker(object):
return self
def aborted(self):
return self._abort or xbmc.abortRequested
return self._abort or app.APP.monitor.abortRequested()
def start(self):
if self._thread and self._thread.isAlive():
@ -452,7 +450,7 @@ class BackgroundThreader:
return self
def aborted(self):
return self._abort or xbmc.abortRequested
return self._abort or app.APP.monitor.abortRequested()
def shutdown(self, block=True):
self.abort()

View file

@ -66,8 +66,7 @@ def _wait_for_auth():
xbmcplugin.endOfDirectory(int(argv[1]), False) if failed
WARNING - this will potentially stall the shutdown of Kodi since we cannot
poll xbmc.Monitor().abortRequested() or waitForAbort() or
xbmc.abortRequested
poll xbmc.Monitor().abortRequested() or waitForAbort()
"""
counter = 0
startupdelay = int(utils.settings('startupDelay') or 0)
@ -119,16 +118,15 @@ def show_main_menu(content_type=None):
# we need to figure out which items to show in each listing. for
# now we just only show picture nodes in the picture library video
# nodes in the video library and all nodes in any other window
if node_type == 'photos' and content_type == 'image':
if node_type == v.CONTENT_TYPE_PHOTO and content_type == 'image':
directory_item(label, path)
elif node_type in ('artists',
'albums',
'songs') and content_type == 'audio':
elif node_type in (v.CONTENT_TYPE_ARTIST,
v.CONTENT_TYPE_ALBUM,
v.CONTENT_TYPE_SONG) and content_type == 'audio':
directory_item(label, path)
elif node_type in ('movies',
'tvshows',
'homevideos',
'musicvideos') and content_type == 'video':
elif node_type in (v.CONTENT_TYPE_MOVIE,
v.CONTENT_TYPE_SHOW,
v.CONTENT_TYPE_MUSICVIDEO) and content_type == 'video':
directory_item(label, path)
elif content_type is None:
# To let the user pick this node as a WIDGET (content_type is None)

View file

@ -409,9 +409,15 @@ def _record_playstate(status, ended):
return
totaltime = float(timing.kodi_time_to_millis(status['totaltime'])) / 1000
if status['external_player']:
_external_player_correct_plex_watch_count(db_item)
progress = 0.0
time = 0.0
# video has either been entirely watched - or not.
# "ended" won't work, need a workaround
ended = _external_player_correct_plex_watch_count(db_item)
if ended:
progress = 0.99
time = v.IGNORE_SECONDS_AT_START + 1
else:
progress = 0.0
time = 0.0
else:
if ended:
progress = 0.99
@ -479,6 +485,7 @@ def _external_player_correct_plex_watch_count(db_item):
playcount = kodidb.get_playcount(db_item['kodi_fileid'])
LOG.debug('External player detected. Playcount: %s', playcount)
PF.scrobble(db_item['plex_id'], 'watched' if playcount else 'unwatched')
return True if playcount else False
def _clean_file_table():

View file

@ -90,4 +90,13 @@ def check_migration():
from .playlists import remove_synced_playlists
remove_synced_playlists()
if not utils.compare_version(last_migration, '2.12.2'):
LOG.info('Migrating to version 2.12.1')
# Sign user out to make sure he needs to sign in again
utils.settings('username', value='')
utils.settings('userid', value='')
utils.settings('plex_restricteduser', value='')
utils.settings('accessToken', value='')
utils.settings('plexAvatar', value='')
utils.settings('last_migrated_PKC_version', value=v.ADDON_VERSION)

View file

@ -319,7 +319,7 @@ class Media(object):
if path.startswith('\\\\'):
path = 'smb:' + path.replace('\\', '/')
if app.SYNC.escape_path:
path = utils.escape_path(path)
path = utils.escape_path(path, app.SYNC.escape_path_safe_chars)
if (app.SYNC.path_verified and not force_check) or omit_check:
return path

View file

@ -37,6 +37,10 @@ class Service(object):
def __init__(self):
self._init_done = False
# Detect switch of Kodi profile - a second instance of PKC is started
self.profile = xbmc.translatePath('special://profile')
utils.window('plex_kodi_profilepath', value=self.profile)
# Kodi Version supported by PKC?
try:
v.database_paths()
@ -100,9 +104,11 @@ class Service(object):
self.auth_running = False
self._init_done = True
@staticmethod
def should_cancel():
return xbmc.abortRequested or app.APP.stop_pkc
def should_cancel(self):
if self.profile != utils.window('plex_kodi_profilepath'):
LOG.info('Kodi profile switch detected, shutting this instance down')
return True
return app.APP.monitor.abortRequested() or app.APP.stop_pkc
def on_connection_check(self, result):
"""
@ -248,6 +254,7 @@ class Service(object):
icon='{plex}',
time=2000,
sound=False)
app.reload()
app.APP.resume_threads()
self.auth_running = False
@ -535,8 +542,7 @@ class Service(object):
self.sync.start()
self.plexcompanion.start()
self.playqueue.start()
if utils.settings('enable_alexa') == 'true':
self.alexa.start()
self.alexa.start()
xbmc.sleep(100)
@ -550,31 +556,14 @@ class Service(object):
library_sync.clear_window_vars()
# Will block until threads have quit
app.APP.stop_threads()
# CLEANUP
# Kodi's xbmc.Monitor() stalls
# delete xbmc.Player() just to be sure
del app.APP.monitor
del app.APP.player
def start():
# Safety net - Kody starts PKC twice upon first installation!
if utils.window('plex_service_started') == 'true':
LOG.info('Another service.py instance is already running - shutting '
'it down now')
# Telling the other Python instance of PKC to shut down now
i = 0
while utils.window('plexkodiconnect.command'):
xbmc.sleep(20)
i += 1
if i > 300:
LOG.error('Could not tell other PKC instance to shut down')
return
utils.window('plexkodiconnect.command', value='EXIT-PKC')
# Telling successful - now wait for actual shut-down
i = 0
while utils.window('plex_service_started'):
xbmc.sleep(20)
i += 1
if i > 300:
LOG.error('Could not shut down other PKC instance')
return
utils.window('plex_service_started', value='true')
DELAY = int(utils.settings('startupDelay'))
LOG.info("Delaying Plex startup by: %s sec...", DELAY)
if DELAY and xbmc.Monitor().waitForAbort(DELAY):
@ -582,5 +571,4 @@ def start():
LOG.info("Abort requested while waiting. PKC not started.")
else:
Service().ServiceEntryPoint()
utils.window('plex_service_started', clear=True)
LOG.info("======== STOP PlexKodiConnect service ========")

View file

@ -35,7 +35,9 @@ class Sync(backgroundthread.KillableThread):
"""
if app.SYNC.run_lib_scan in ("full", "repair"):
LOG.info('Full library scan requested, starting')
self.start_library_sync(show_dialog=True,
show_dialog = True if app.SYNC.run_lib_scan == 'repair' \
else None
self.start_library_sync(show_dialog=show_dialog,
repair=app.SYNC.run_lib_scan == 'repair',
block=True)
if (not self.sync_successful and

View file

@ -56,7 +56,7 @@ REGEX_MUSICPATH = re.compile(r'''^\^(.+)\$$''')
REGEX_PLEX_ID_FROM_URL = re.compile(r'''metadata%2F(\d+)''')
SAFE_URL_CHARACTERS = "%/:=&?~#+!$,;'@()*[]".encode('utf-8')
HTTP_DAV_FTP = re.compile(r'(http(s)?|dav(s)?|(s)?ftp)://((.+):(.+)@)?([\w\.]+)(:([\d]+))?/')
def garbageCollect():
gc.collect(2)
@ -385,7 +385,7 @@ def urlparse(url, scheme='', allow_fragments=True):
return _urlparse.urlparse(url, scheme, allow_fragments)
def escape_path(path):
def escape_path(path, safe_url_char=SAFE_URL_CHARACTERS):
"""
Uses urllib.quote to escape to escape path [unicode]. See here for the
reasoning whether a character is safe or not and whether or not it should
@ -396,8 +396,34 @@ def escape_path(path):
you in trouble (e.g. '@')
Returns the escaped path as unicode
"""
return urllib.quote(path.encode('utf-8'),
safe=SAFE_URL_CHARACTERS).decode('utf-8')
is_http_dav_ftp = HTTP_DAV_FTP.match(path)
if is_http_dav_ftp:
# If path seems to be a http(s), dav(s) or (s)ftp url, the escape path will be constructed
# using RegExp and using safe_url_char as safe characters not to be escaped
protocol = is_http_dav_ftp.group(1)
user = is_http_dav_ftp.group(6)
psswd = is_http_dav_ftp.group(7)
if user and psswd:
user = urllib.quote(user.encode('utf-8'), safe=safe_url_char).decode('utf-8')
psswd = urllib.quote(psswd.encode('utf-8'), safe=safe_url_char).decode('utf-8')
host = is_http_dav_ftp.group(8)
port = is_http_dav_ftp.group(10)
url_path = path.replace(is_http_dav_ftp.group(), '', 1)
if url_path:
url_path = urllib.quote(path.replace(is_http_dav_ftp.group(), '', 1).encode('utf-8'),
safe=safe_url_char).decode('utf-8')
return protocol + \
u'://' + \
(user + u':' + psswd + u'@' if (user and psswd) else u'') + \
host + \
(u':' + port if port else u'') + \
u'/' + \
(url_path if url_path else u'')
else:
# If paths does not seem to be a http(s), dav(s) or (s)ftp url (e.g. plugin://)
# escape path as before
return urllib.quote(path.encode('utf-8'),
safe=SAFE_URL_CHARACTERS).decode('utf-8')
def quote(s, safe='/'):

View file

@ -92,7 +92,7 @@ DEVICENAME = DEVICENAME.replace("?", "")
DEVICENAME = DEVICENAME.replace('|', "")
DEVICENAME = DEVICENAME.replace('(', "")
DEVICENAME = DEVICENAME.replace(')', "")
DEVICENAME = DEVICENAME.replace(' ', "")
DEVICENAME = DEVICENAME.strip()
COMPANION_PORT = int(_ADDON.getSetting('companionPort'))
@ -238,11 +238,12 @@ CONTENT_TYPE_ALBUM = 'albums'
CONTENT_TYPE_SONG = 'songs'
CONTENT_TYPE_CLIP = 'movies'
CONTENT_TYPE_SET = 'sets'
CONTENT_TYPE_PHOTO = 'photos'
CONTENT_TYPE_PHOTO = 'images'
CONTENT_TYPE_GENRE = 'genres'
CONTENT_TYPE_VIDEO = 'videos'
CONTENT_TYPE_PLAYLIST = 'playlists'
CONTENT_TYPE_FILE = 'files'
CONTENT_TYPE_MUSICVIDEO = 'musicvideos'
KODI_VIDEOTYPES = (

View file

@ -22,6 +22,11 @@ class WebSocket(backgroundthread.KillableThread):
self.sleeptime = 0.0
super(WebSocket, self).__init__()
def close_websocket(self):
if self.ws is not None:
self.ws.close()
self.ws = None
def process(self, opcode, message):
raise NotImplementedError
@ -62,9 +67,7 @@ class WebSocket(backgroundthread.KillableThread):
try:
self._run()
finally:
# Close websocket connection on shutdown
if self.ws is not None:
self.ws.close()
self.close_websocket()
app.APP.deregister_thread(self)
LOG.info("##===---- %s Stopped ----===##", self.__class__.__name__)
@ -73,9 +76,7 @@ class WebSocket(backgroundthread.KillableThread):
# In the event the server goes offline
if self.should_suspend():
# Set in service.py
if self.ws is not None:
self.ws.close()
self.ws = None
self.close_websocket()
if self.wait_while_suspended():
# Abort was requested while waiting. We should exit
return
@ -132,9 +133,7 @@ class WebSocket(backgroundthread.KillableThread):
import traceback
LOG.error("%s: Traceback:\n%s",
self.__class__.__name__, traceback.format_exc())
if self.ws is not None:
self.ws.close()
self.ws = None
self.close_websocket()
class PMS_Websocket(WebSocket):
@ -143,9 +142,13 @@ class PMS_Websocket(WebSocket):
"""
def should_suspend(self):
"""
Returns True if the thread is suspended
Returns True if the thread is suspended.
"""
return self._suspended or app.SYNC.background_sync_disabled
suspend = self._suspended or app.SYNC.background_sync_disabled
if suspend:
# This thread needs to clear the Event() _is_not_suspended itself!
self.suspend()
return suspend
def getUri(self):
if self.redirect_uri:
@ -159,9 +162,8 @@ class PMS_Websocket(WebSocket):
else:
server = "ws%s" % server[4:]
uri = "%s/:/websockets/notifications" % server
# Need to use plex.tv token, if any. NOT user token
if app.ACCOUNT.plex_token:
uri += '?X-Plex-Token=%s' % app.ACCOUNT.plex_token
if app.ACCOUNT.pms_token:
uri += '?X-Plex-Token=%s' % app.ACCOUNT.pms_token
sslopt = {}
if v.KODIVERSION == 17 and utils.settings('sslverify') == "false":
sslopt["cert_reqs"] = CERT_NONE
@ -210,9 +212,14 @@ class Alexa_Websocket(WebSocket):
"""
Overwrite method since we need to check for plex token
"""
return (self._suspended or
not app.ACCOUNT.plex_token or
app.ACCOUNT.restricted_user)
suspend = self._suspended or \
not app.SYNC.enable_alexa or \
app.ACCOUNT.restricted_user or \
not app.ACCOUNT.plex_token
if suspend:
# This thread needs to clear the Event() _is_not_suspended itself!
self.suspend()
return suspend
def getUri(self):
if self.redirect_uri:

View file

@ -737,7 +737,7 @@ class MultiWindow(object):
return mw
def _open(self):
while not xbmc.abortRequested and not self._allClosed:
while not xbmc.Monitor().abortRequested() and not self._allClosed:
self._setupCurrent(self._next)
self._current.modal()
@ -922,9 +922,9 @@ class PropertyTimer():
self._callback()
def _wait(self):
while not xbmc.abortRequested and time.time() < self._endTime:
while not xbmc.Monitor().abortRequested() and time.time() < self._endTime:
app.APP.monitor.waitForAbort(0.1)
if xbmc.abortRequested:
if xbmc.Monitor().abortRequested():
return
if self._endTime == 0:
return

View file

@ -101,6 +101,7 @@
<setting id="remapSMBphotoOrg" type="text" label="39045" default="" visible="eq(-7,true)" subsetting="true" /> <!-- Original Plex MUSIC path to replace: -->
<setting id="remapSMBphotoNew" type="text" label="39046" default="smb://" visible="eq(-8,true)" subsetting="true" /> <!-- Replace Plex MUSIC with: -->
<setting id="escapePath" type="bool" label="39036" default="false" /> <!-- Escape special characters in path (e.g. space to %20) -->
<setting id="escapePathSafeChars" type="text" label="39090" default="%/:=&amp;?~#+!$,;'@()*[]" visible="eq(-1,true)" subsetting="true"/> <!-- Safe characters for http(s), dav(s) and (s)ftp urls -->
</category>
<category label="30516"><!-- Playback -->