Hello community,

here is the log from the commit of package cozy for openSUSE:Factory checked in 
at 2020-01-16 18:21:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cozy (Old)
 and      /work/SRC/openSUSE:Factory/.cozy.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cozy"

Thu Jan 16 18:21:41 2020 rev:9 rq:764807 version:0.6.12

Changes:
--------
--- /work/SRC/openSUSE:Factory/cozy/cozy.changes        2020-01-10 
17:50:28.866124962 +0100
+++ /work/SRC/openSUSE:Factory/.cozy.new.26092/cozy.changes     2020-01-16 
18:21:46.000992659 +0100
@@ -1,0 +2,8 @@
+Wed Jan 15 21:02:38 UTC 2020 - [email protected]
+
+- Update to 0.6.12
+  * Support for opus files
+  * Support for diverse ogg cover art
+  * Swedish translation
+
+-------------------------------------------------------------------

Old:
----
  cozy-0.6.11.tar.gz

New:
----
  cozy-0.6.12.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cozy.spec ++++++
--- /var/tmp/diff_new_pack.yXD6cX/_old  2020-01-16 18:21:47.360993428 +0100
+++ /var/tmp/diff_new_pack.yXD6cX/_new  2020-01-16 18:21:47.364993430 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           cozy
-Version:        0.6.11
+Version:        0.6.12
 Release:        0
 Summary:        Audio Book Player
 License:        GPL-3.0-only

++++++ cozy-0.6.11.tar.gz -> cozy-0.6.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/.ci/flathub_wait_for_build.sh 
new/cozy-0.6.12/.ci/flathub_wait_for_build.sh
--- old/cozy-0.6.11/.ci/flathub_wait_for_build.sh       1970-01-01 
01:00:00.000000000 +0100
+++ new/cozy-0.6.12/.ci/flathub_wait_for_build.sh       2020-01-15 
21:59:58.000000000 +0100
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+URL_RUNNING_BUILDS="https://flathub.org/builds/api/v2/builders/32/builds?complete=false&flathub_name__eq=com.github.geigi.cozy&order=-number&property=owners&property=workername";
+URL_LAST_BUILD="https://flathub.org/builds/api/v2/builders/32/builds?flathub_name__eq=com.github.geigi.cozy&flathub_repo_status__gt=1&limit=1&order=-number&property=owners&property=workername";
+
+function wait_for_build_triggered {
+       for i in {0..30}
+       do
+               sleep 1
+               builds_in_progress=$(curl $URL_RUNNING_BUILDS | json meta.total)
+               if (( builds_in_progress > 0 )); then
+                       echo "$builds_in_progress build(s) in progress."
+                       return 0
+               fi
+       done
+
+       echo "No build in progress."
+       return 1
+}
+
+wait_for_build_triggered
+build_triggered=$?
+if (( $build_triggered > 0 )); then
+       exit 1
+fi
+
+builds_in_progress=$(curl $URL_RUNNING_BUILDS | json meta.total)
+counter=0
+
+while [[ $builds_in_progress != [0] ]]
+do
+       echo "$builds_in_progress build(s) in progress."
+       sleep 5
+       builds_in_progress=$(curl $URL_RUNNING_BUILDS | json meta.total)
+       counter=$((counter+5))
+       if (( counter > 1800 )); then
+               echo "Build longer than 30min, failing!"
+               exit 1
+       fi
+done
+
+result=$(curl $URL_LAST_BUILD | json builds[0].results)
+if (( builds_in_progress > 0 )); then
+       echo "Build failed."
+       exit 1
+fi
+
+echo "Build succeeded."
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/.ci/obs_wait_for_build.sh 
new/cozy-0.6.12/.ci/obs_wait_for_build.sh
--- old/cozy-0.6.11/.ci/obs_wait_for_build.sh   1970-01-01 01:00:00.000000000 
+0100
+++ new/cozy-0.6.12/.ci/obs_wait_for_build.sh   2020-01-15 21:59:58.000000000 
+0100
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+echo $(osc r)
+osc r | grep -E "building|blocked|scheduled"
+builds_in_progress=$?
+counter=0
+
+while [[ $builds_in_progress != [1] ]]
+do
+       echo "Build(s) in progress."
+       sleep 5
+       echo $(osc r)
+       osc r | grep building
+       builds_in_progress=$?
+       counter=$((counter+5))
+       if (( counter > 3600 )); then
+               echo "Build longer than 60min, failing!"
+               exit 1
+       fi
+done
+
+echo $(osc r)
+osc r | grep -E "broken|failed"
+build_successful=$?
+if (( $build_successful != 1 )); then
+       echo "At least one build failed."
+       exit 1
+fi
+
+echo "Builds succeeded."
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/.github/workflows/flathub.yml 
new/cozy-0.6.12/.github/workflows/flathub.yml
--- old/cozy-0.6.11/.github/workflows/flathub.yml       1970-01-01 
01:00:00.000000000 +0100
+++ new/cozy-0.6.12/.github/workflows/flathub.yml       2020-01-15 
21:59:58.000000000 +0100
@@ -0,0 +1,52 @@
+name: Deploy on Flathub
+
+on:
+  release:
+    types: [published]
+
+#on:
+#  watch:
+#    types: [started]
+
+jobs:
+  deploy:
+
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v1
+      
+    - name: Install dependencies
+      run: |
+        sudo apt-get install npm
+        sudo npm install -g json
+
+    - name: Download latest cozy release
+      run: |
+        curl -s https://api.github.com/repos/geigi/cozy/releases/latest | json 
tag_name > /tmp/VERSION
+        echo https://github.com/geigi/cozy/archive/$(cat /tmp/VERSION).tar.gz 
> /tmp/RELEASE_URL
+        wget -O /tmp/cozy.tar.gz $(cat /tmp/RELEASE_URL)
+        sha256sum /tmp/cozy.tar.gz | cut -d " " -f 1 > /tmp/SHA256SUM
+        
+    - name: Clone Flathub repository
+      run: git clone https://geigi:${{ secrets.FLATHUB_TOKEN 
}}@github.com/flathub/com.github.geigi.cozy.git /tmp/flathub
+      
+    - name: Update Flathub json
+      run: |
+        ls /tmp/flathub
+        json -I -f /tmp/flathub/com.github.geigi.cozy.json -e 
"this.modules[this.modules.length - 
1].sources[0].url='https://github.com/geigi/cozy/archive/$(cat 
/tmp/VERSION).tar.gz'"
+        json -I -f /tmp/flathub/com.github.geigi.cozy.json -e 
"this.modules[this.modules.length - 1].sources[0].sha256='$(cat 
/tmp/SHA256SUM)'"
+
+    - name: Push changes
+      run: |
+        git config --global user.email "[email protected]"
+        git config --global user.name "Github Actions"
+        cd /tmp/flathub
+        git commit -am "Bump version to $(cat /tmp/VERSION)"
+        git push
+
+    - name: Wait for flathub build to complete
+      run: |
+        cd $GITHUB_WORKSPACE/.ci
+        chmod +x *.sh
+        ./flathub_wait_for_build.sh
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/.github/workflows/opensuse.yml 
new/cozy-0.6.12/.github/workflows/opensuse.yml
--- old/cozy-0.6.11/.github/workflows/opensuse.yml      1970-01-01 
01:00:00.000000000 +0100
+++ new/cozy-0.6.12/.github/workflows/opensuse.yml      2020-01-15 
21:59:58.000000000 +0100
@@ -0,0 +1,66 @@
+name: Deploy on OBS (OpenSuse)
+
+on:
+  release:
+    types: [published]
+    
+#on:
+#  watch:
+#    types: [started]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v1
+
+    - name: Install dependencies
+      run: |
+        mkdir -p ~/.config/osc
+        sudo apt-get install osc npm
+        sudo npm install -g json
+
+    - name: Setup osc login
+      run: |
+        cat >~/.config/osc/oscrc <<EOL
+        ${{ secrets.OSCRC }}
+        EOL
+
+    - name: Clone cozy repo
+      run: osc co X11:Pantheon:Apps/cozy
+
+    - name: Download latest version of cozy
+      run: |
+        curl -s https://api.github.com/repos/geigi/cozy/releases/latest | json 
tag_name > /tmp/VERSION
+        curl -s https://api.github.com/repos/geigi/cozy/releases/latest | json 
body > /tmp/CHANGES
+        echo https://github.com/geigi/cozy/archive/$(cat /tmp/VERSION).tar.gz 
> /tmp/RELEASE_URL
+        cd X11:Pantheon:Apps/cozy
+        rm cozy-*.tar.gz
+        wget -O cozy-$(cat /tmp/VERSION).tar.gz $(cat /tmp/RELEASE_URL)
+
+    - name: Update rpm info files
+      run: |
+        cd X11:Pantheon:Apps/cozy
+        sed -i -e 's/- /  * /g' /tmp/CHANGES
+        sed -i "1s/^/Update to $(cat /tmp/VERSION)\n/" /tmp/CHANGES
+        osc vc -F /tmp/CHANGES
+        sed -i -e "s/Version:.*/Version:        $(cat /tmp/VERSION)/g" 
cozy.spec
+
+    - name: Osc check-in
+      run: |
+        cd X11:Pantheon:Apps/cozy
+        osc addremove
+        osc ci --noservice -m "Update to version $(cat /tmp/VERSION)."
+
+    - name: Wait for obs build to complete
+      run: |
+        chmod +x $GITHUB_WORKSPACE/.ci/*.sh
+        cd X11:Pantheon:Apps/cozy
+        $GITHUB_WORKSPACE/.ci/obs_wait_for_build.sh
+
+    - name: Submit package
+      run: |
+        cd X11:Pantheon:Apps/cozy
+        osc submitrequest -m "Update to version $(cat /tmp/VERSION)."
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/README.md new/cozy-0.6.12/README.md
--- old/cozy-0.6.11/README.md   2020-01-06 21:18:39.000000000 +0100
+++ new/cozy-0.6.12/README.md   2020-01-15 21:59:58.000000000 +0100
@@ -16,7 +16,7 @@
 - **Offline Mode!** This allows you to keep an audio book on your internal 
storage if you store your audiobooks on an external or network drive. Perfect 
for listening on the go!
 - Add **mulitple storage locations**
 - **Drag & Drop** to import new audio books
-- Support for DRM free **mp3, m4a (aac, ALAC, …), flac, ogg, wav** files
+- Support for DRM free **mp3, m4a (aac, ALAC, …), flac, ogg, opus, wav** files
 - Mpris integration (**Media keys** & playback info for desktop environment)
 - Developed on Fedora and tested under elementaryOS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/cozy/control/db.py 
new/cozy-0.6.12/cozy/control/db.py
--- old/cozy-0.6.11/cozy/control/db.py  2020-01-06 21:18:39.000000000 +0100
+++ new/cozy-0.6.12/cozy/control/db.py  2020-01-15 21:59:58.000000000 +0100
@@ -303,7 +303,7 @@
     Remove track entries from db that no longer exist in the filesystem.
     """
     # remove entries from the db that are no longer existent
-    for track in Track.select(Track.file):
+    for track in Track.select():
         from cozy.control.filesystem_monitor import FilesystemMonitor
         if not os.path.isfile(track.file) and 
FilesystemMonitor().is_track_online(
                 track):
@@ -323,7 +323,7 @@
         if not get_track_for_playback(book):
             Book.update(position=0).where(Book.id == book.id).execute()
         if Track.select().where(Track.book == book).count() < 1:
-            if Settings.get().last_played_book.id == book.id:
+            if Settings.get().last_played_book and 
Settings.get().last_played_book.id == book.id:
                 Settings.update(last_played_book=None).execute()
             book.delete_instance()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/cozy/control/importer.py 
new/cozy-0.6.12/cozy/control/importer.py
--- old/cozy-0.6.11/cozy/control/importer.py    2020-01-06 21:18:39.000000000 
+0100
+++ new/cozy-0.6.12/cozy/control/importer.py    2020-01-15 21:59:58.000000000 
+0100
@@ -12,9 +12,10 @@
 
 from mutagen.easyid3 import EasyID3
 from mutagen.id3 import ID3
-from mutagen.flac import FLAC
+from mutagen.flac import FLAC, Picture
 from mutagen.mp3 import MP3
 from mutagen.mp4 import MP4
+from mutagen.oggopus import OggOpus
 from mutagen.oggvorbis import OggVorbis
 from peewee import __version__ as PeeweeVersion
 from gi.repository import Gdk, GLib, Gst
@@ -103,7 +104,7 @@
     for path in paths:
         for directory, subdirectories, files in os.walk(path):
             for file in files:
-                if file.lower().endswith(('.mp3', '.ogg', '.flac', '.m4a', 
'.wav')):
+                if file.lower().endswith(('.mp3', '.ogg', '.flac', '.m4a', 
'.wav', '.opus')):
                     path = os.path.join(directory, file)
 
                     imported = True
@@ -225,6 +226,8 @@
     track_number = None
     track_data = None
 
+    print(media_type)
+
     # getting the some data is file specific
     ### MP3 ###
     if "audio/mpeg" in media_type:
@@ -238,6 +241,10 @@
     elif "audio/ogg" in media_type or "audio/x-ogg" in media_type:
         track_data = _get_ogg_tags(track, path)
 
+    ### OPUS ###
+    elif "audio/opus" in media_type or "audio/x-opus" in media_type or 
"codecs=opus" in media_type:
+        track_data = _get_opus_tags(track, path)
+
     ### MP4 ###
     elif "audio/mp4" in media_type or "audio/x-m4a" in media_type:
         track_data = _get_mp4_tags(track, path)
@@ -477,6 +484,32 @@
         track.mutagen = OggVorbis(path)
     except Exception as e:
         log.warning("Track " + track.path +
+                    " has no valid ogg tags. Trying opus…")
+        track_data = _get_opus_tags(track, path)
+        return track_data
+
+    track_data.disk = int(__get_common_disk_number(track))
+    track_data.length = float(__get_common_track_length(track))
+    track_data.cover = __get_ogg_cover(track)
+    track_data.author = __get_common_tag(track, "composer")
+    track_data.reader = __get_common_tag(track, "artist")
+    track_data.book_name = __get_common_tag(track, "album")
+    track_data.name = __get_common_tag(track, "title")
+
+    return track_data
+
+
+def _get_opus_tags(track, path):
+    """
+    Tries to load embedded tags from given file.
+    :return: TrackData object
+    """
+    track_data = TrackData(path)
+    log.debug("Importing ogg " + track.path)
+    try:
+        track.mutagen = OggOpus(path)
+    except Exception as e:
+        log.warning("Track " + track.path +
                     " has no valid tags. Now guessing from file and folder 
name…")
         return track_data
 
@@ -554,14 +587,21 @@
 
     :param track: Track object
     """
-    disk = 0
     try:
         disk = int(track.mutagen["disk"][0])
-    except Exception as e:
-        log.debug("Could not find disk number for file " + track.path)
-        log.debug(e)
+        return disk
+    except:
+        pass
+
+    try:
+        disk = int(track.mutagen["discnumber"][0])
+        return disk
+    except:
+        pass
+
+    log.debug("Could not find disk number for file " + track.path)
 
-    return disk
+    return 0
 
 
 def __get_common_track_length(track):
@@ -602,7 +642,10 @@
     cover = None
 
     try:
-        cover = track.mutagen.get("metadata_block_picture", [])[0]
+        base64_string = track.mutagen.get("metadata_block_picture", [])[0]
+        decoded = b64tobinary(base64_string)
+        pic = Picture(decoded)
+        cover = pic.data
     except Exception as e:
         log.debug("Could not load cover for file " + track.path)
         log.debug(e)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/cozy/ui/book_overview.py 
new/cozy-0.6.12/cozy/ui/book_overview.py
--- old/cozy-0.6.11/cozy/ui/book_overview.py    2020-01-06 21:18:39.000000000 
+0100
+++ new/cozy-0.6.12/cozy/ui/book_overview.py    2020-01-15 21:59:58.000000000 
+0100
@@ -60,7 +60,7 @@
         if self.book and self.book.id == book.id:
             self.update_time()
             return
-        self.book = Book[book.id]
+        self.book = Book.get(Book.id == book.id)
 
         if self.ui.is_playing and self.ui.titlebar.current_book and 
self.book.id == self.ui.titlebar.current_book.id:
             self.play_book_button.set_image(self.pause_img)
@@ -236,7 +236,7 @@
         """
         Mark the current track position.
         """
-        book = Book[self.book.id]
+        book = Book.get(Book.id == self.book.id)
 
         if book.position == -1:
             self.deselect_track_element()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cozy-0.6.11/data/com.github.geigi.cozy.appdata.xml.in 
new/cozy-0.6.12/data/com.github.geigi.cozy.appdata.xml.in
--- old/cozy-0.6.11/data/com.github.geigi.cozy.appdata.xml.in   2020-01-06 
21:18:39.000000000 +0100
+++ new/cozy-0.6.12/data/com.github.geigi.cozy.appdata.xml.in   2020-01-15 
21:59:58.000000000 +0100
@@ -49,6 +49,15 @@
   <url type="donation">https://www.patreon.com/geigi</url>
   <update_contact>[email protected]</update_contact>
   <releases>
+    <release version="0.6.12" timestamp="1579121802">
+      <description>
+        <ul>
+          <li>Support for opus files</li>
+          <li>Better support for ogg cover art</li>
+          <li>Swedish translation</li>
+        </ul>
+      </description>
+    </release>
     <release version="0.6.11" timestamp="1578341831">
       <description>
         <ul>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/docs/README.md 
new/cozy-0.6.12/docs/README.md
--- old/cozy-0.6.11/docs/README.md      2020-01-06 21:18:39.000000000 +0100
+++ new/cozy-0.6.12/docs/README.md      2020-01-15 21:59:58.000000000 +0100
@@ -14,7 +14,7 @@
 - **Offline Mode!** This allows you to keep an audio book on your internal 
storage if you store your audiobooks on an external or network drive. Perfect 
for listening on the go!
 - Add **mulitple storage locations**
 - **Drag & Drop** to import new audio books
-- Support for DRM free **mp3, m4a (aac, ALAC, …), flac, ogg, wav** files
+- Support for DRM free **mp3, m4a (aac, ALAC, …), flac, ogg, opus, wav** files
 - Mpris integration (**Media keys** & playback info for desktop environment)
 
 # Install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/meson.build new/cozy-0.6.12/meson.build
--- old/cozy-0.6.11/meson.build 2020-01-06 21:18:39.000000000 +0100
+++ new/cozy-0.6.12/meson.build 2020-01-15 21:59:58.000000000 +0100
@@ -1,4 +1,4 @@
-project('com.github.geigi.cozy', version: '0.6.11')
+project('com.github.geigi.cozy', version: '0.6.12')
 
 python = import('python3')
 i18n = import('i18n')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cozy-0.6.11/po/sv.po new/cozy-0.6.12/po/sv.po
--- old/cozy-0.6.11/po/sv.po    2020-01-06 21:18:39.000000000 +0100
+++ new/cozy-0.6.12/po/sv.po    2020-01-15 21:59:58.000000000 +0100
@@ -3,13 +3,17 @@
 # This file is distributed under the same license as the com.github.geigi.cozy 
package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 # 
+# Translators:
+# Åke Engelbrektson, 2020
+# 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: com.github.geigi.cozy\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-23 12:37+0100\n"
+"POT-Creation-Date: 2020-01-06 20:44+0100\n"
 "PO-Revision-Date: 2019-09-08 09:31+0000\n"
+"Last-Translator: Åke Engelbrektson, 2020\n"
 "Language-Team: Swedish (https://www.transifex.com/geigi/teams/78138/sv/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -17,437 +21,444 @@
 "Language: sv\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: cozy/ui/book_element.py:67 cozy/ui/search_results.py:123
+#: cozy/ui/book_element.py:69 cozy/ui/search_results.py:123
 msgid "Play this book"
-msgstr ""
+msgstr "Spela upp denna bok"
 
-#: cozy/ui/book_element.py:212
+#: cozy/ui/book_element.py:214
 msgid "Open book overview"
-msgstr ""
+msgstr "Öppna boköversikt"
 
-#: cozy/ui/book_element.py:213
+#: cozy/ui/book_element.py:215
 msgid "Currently offline"
-msgstr ""
+msgstr "Offline just nu"
 
-#: cozy/ui/book_element.py:319
+#: cozy/ui/book_element.py:321
 msgid "Mark as read"
-msgstr ""
+msgstr "Markera som läst"
 
-#: cozy/ui/book_element.py:322
+#: cozy/ui/book_element.py:324
 msgid "Open in file browser"
-msgstr ""
+msgstr "Öppna i filhanterare"
 
-#: cozy/ui/book_element.py:325
+#: cozy/ui/book_element.py:327
 msgid "Remove from library"
-msgstr ""
+msgstr "Ta bort från biblioteket"
 
-#: cozy/ui/book_element.py:395
+#: cozy/ui/book_element.py:397
 msgid "Play this part"
-msgstr ""
+msgstr "Spela upp denna del"
 
-#: cozy/ui/book_overview.py:228
+#: cozy/ui/book_overview.py:230
 msgid "Downloaded"
-msgstr ""
+msgstr "Nerladdat"
 
-#: cozy/ui/book_overview.py:231 data/ui/main_window.ui:1328
+#: cozy/ui/book_overview.py:233 data/ui/main_window.ui:1328
 msgid "Download"
-msgstr ""
+msgstr "Ladda ner"
 
-#: cozy/ui/file_not_found_dialog.py:66
+#: cozy/ui/file_not_found_dialog.py:67
 msgid "All files"
-msgstr ""
+msgstr "Alla filer"
 
-#: cozy/control/offline_cache.py:176
+#: cozy/control/offline_cache.py:180
 msgid "Copying"
-msgstr ""
+msgstr "Kopierar"
 
 #: cozy/ui/search_results.py:71
 msgid "Jump to author "
-msgstr ""
+msgstr "Gå till författare "
 
 #: cozy/ui/search_results.py:74
 msgid "Jump to reader "
-msgstr ""
+msgstr "Gå till uppläsare "
 
-#: cozy/control/importer.py:281
+#: cozy/control/importer.py:275
 msgid "Unknown Author"
-msgstr ""
+msgstr "Okänd författare"
 
-#: cozy/control/importer.py:283
+#: cozy/control/importer.py:277
 msgid "Unknown Reader"
-msgstr ""
+msgstr "Okänd uppläsare"
 
-#: cozy/tools.py:143
+#: cozy/tools.py:133
 msgid "hours"
-msgstr ""
+msgstr "timmar"
 
-#: cozy/tools.py:145
+#: cozy/tools.py:135
 msgid "hour"
-msgstr ""
+msgstr "timma"
 
-#: cozy/tools.py:153
+#: cozy/tools.py:143
 msgid "minutes"
-msgstr ""
+msgstr "minuter"
 
-#: cozy/tools.py:155
+#: cozy/tools.py:145
 msgid "minute"
-msgstr ""
+msgstr "minut"
 
-#: cozy/tools.py:159
+#: cozy/tools.py:149
 msgid "finished"
-msgstr ""
+msgstr "slutfört"
 
-#: cozy/tools.py:163
+#: cozy/tools.py:153
 msgid "seconds"
-msgstr ""
+msgstr "sekunder"
 
-#: cozy/tools.py:165
+#: cozy/tools.py:155
 msgid "second"
-msgstr ""
+msgstr "sekund"
 
-#: cozy/tools.py:188
+#: cozy/tools.py:178
 msgid "never"
-msgstr ""
+msgstr "aldrig"
 
-#: cozy/tools.py:190
+#: cozy/tools.py:180
 msgid "today"
-msgstr ""
+msgstr "idag"
 
-#: cozy/tools.py:192
+#: cozy/tools.py:182
 msgid "yesterday"
-msgstr ""
+msgstr "igår"
 
-#: cozy/tools.py:194
+#: cozy/tools.py:184
 #, python-format
 msgid "%s days ago"
-msgstr ""
+msgstr "%s dagar sedan"
 
-#: cozy/tools.py:196
+#: cozy/tools.py:186
 #, python-brace-format
 msgid "{weeks} week ago"
 msgid_plural "{weeks} weeks ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{weeks} vecka sedan"
+msgstr[1] "{weeks} veckor sedan"
 
-#: cozy/tools.py:198
+#: cozy/tools.py:188
 #, python-brace-format
 msgid "{months} month ago"
 msgid_plural "{months} months ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{months} månad sedan"
+msgstr[1] "{months} månader sedan"
 
-#: cozy/tools.py:200
+#: cozy/tools.py:190
 #, python-brace-format
 msgid "{years} year ago"
 msgid_plural "{years} years ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{years} år sedan"
+msgstr[1] "{years} år sedan"
 
-#: cozy/ui/main_view.py:403
+#: cozy/ui/main_view.py:408
 msgid "Audiobooks"
-msgstr ""
+msgstr "Ljudböcker"
 
-#: cozy/ui/main_view.py:424
+#: cozy/ui/main_view.py:429
 msgid "Importing Audiobooks"
-msgstr ""
+msgstr "Importerar ljudböcker"
 
 #. Add the special All element
-#: cozy/ui/main_view.py:493 cozy/ui/main_view.py:499 cozy/ui/main_view.py:821
+#: cozy/ui/main_view.py:498 cozy/ui/main_view.py:504 cozy/ui/main_view.py:826
 msgid "All"
-msgstr ""
+msgstr "Alla"
 
-#: cozy/ui/main_view.py:494 cozy/ui/main_view.py:500
+#: cozy/ui/main_view.py:499 cozy/ui/main_view.py:505
 msgid "Display all books"
-msgstr ""
+msgstr "Visa alla böcker"
 
 #: cozy/control/sleep_timer.py:120 data/ui/timer_popover.ui:105
 msgid "min"
-msgstr ""
+msgstr "min"
 
 #: cozy/control/sleep_timer.py:128
 msgid "Off"
-msgstr ""
+msgstr "Av"
 
 #: cozy/ui/settings.py:416 cozy/ui/settings.py:459
 msgid "External drive"
-msgstr ""
+msgstr "Extern enhet"
 
 #: cozy/ui/settings.py:419 cozy/ui/settings.py:462
 msgid "Internal drive"
-msgstr ""
+msgstr "Intern disk"
 
 #: cozy/ui/settings.py:446
 msgid "Changing audio book location…"
-msgstr ""
+msgstr "Ändrar ljudboksplats…"
 
 #: cozy/ui/disk_element.py:26
 msgid "Disc"
-msgstr ""
+msgstr "Skiva"
 
 #: data/ui/main_window.ui:71
 msgid "Rewind 30 seconds"
-msgstr ""
+msgstr "Spola tillbaka 30 sekunder"
 
 #: data/ui/main_window.ui:79
 msgid "Rewind button"
-msgstr ""
+msgstr "Spola tillbaka"
 
 #: data/ui/main_window.ui:80
 msgid "Jump back 30 seconds"
-msgstr ""
+msgstr "Hoppa bakåt 30 sekunder"
 
 #: data/ui/main_window.ui:97
 msgid "Start playback"
-msgstr ""
+msgstr "Starta uppspelning"
 
 #: data/ui/main_window.ui:105
 msgid "Play/Pause Button"
-msgstr ""
+msgstr "Spela upp/Pausa"
 
 #: data/ui/main_window.ui:106
 msgid "Start or pause the playback"
-msgstr ""
+msgstr "Starta eller pausa uppspelning"
 
 #: data/ui/main_window.ui:123
 msgid "Volume control"
-msgstr ""
+msgstr "Volymkontroll"
 
 #: data/ui/main_window.ui:200
 msgid "Currently playing"
-msgstr ""
+msgstr "Nu spelas"
 
 #: data/ui/main_window.ui:218
 msgid "Booktitle"
-msgstr ""
+msgstr "Boktitel"
 
 #: data/ui/main_window.ui:219
 msgid "Title of currently playing book"
-msgstr ""
+msgstr "Titel på aktuell ljudbok"
 
 #: data/ui/main_window.ui:244
 msgid "Part name"
-msgstr ""
+msgstr "Delnamn"
 
 #: data/ui/main_window.ui:245
 msgid "Title of the currently playing part"
-msgstr ""
+msgstr "Titel på aktuell ljudboksdel"
 
 #: data/ui/main_window.ui:287
 msgid "Elapsed time"
-msgstr ""
+msgstr "Förfluten tid"
 
 #: data/ui/main_window.ui:295
 msgid "Time elapsed"
-msgstr ""
+msgstr "Förfluten tid"
 
 #: data/ui/main_window.ui:296
 msgid "Elapsed time of current part"
-msgstr ""
+msgstr "Förfluten tid för aktuell del"
 
 #: data/ui/main_window.ui:311
 msgid "Jump to position in current chapter"
-msgstr ""
+msgstr "Hoppa till position i aktuellt kapitel"
 
 #: data/ui/main_window.ui:317
 msgid "Position slider"
-msgstr ""
+msgstr "Positionsreglage"
 
 #: data/ui/main_window.ui:318
 msgid "Position of the current part in seconds"
-msgstr ""
+msgstr "Position för aktuell del i sekunder"
 
 #: data/ui/main_window.ui:336
 msgid "Remaining time"
-msgstr ""
+msgstr "Återstående tid"
 
 #: data/ui/main_window.ui:344
 msgid "Time remaining"
-msgstr ""
+msgstr "Återstående tid"
 
 #: data/ui/main_window.ui:345
 msgid "Remaining time of current part"
-msgstr ""
+msgstr "Återstående tid för aktuell del"
 
 #: data/ui/main_window.ui:421
 msgid "Working…"
-msgstr ""
+msgstr "Arbetar…"
 
 #: data/ui/main_window.ui:426
 msgid "Currently working"
-msgstr ""
+msgstr "Arbetar för närvarande"
 
 #: data/ui/main_window.ui:442
 msgid "Playback speed"
-msgstr ""
+msgstr "Uppspelningshastighet"
 
 #: data/ui/main_window.ui:464 data/ui/settings.ui:566
 msgid "Sleep timer"
-msgstr ""
+msgstr "Insomningsur"
 
 #: data/ui/main_window.ui:475
 msgid "Timer menu button"
-msgstr ""
+msgstr "Tidmeny"
 
 #: data/ui/main_window.ui:476
 msgid "Open the sleep timer popover"
-msgstr ""
+msgstr "Öppna insomningsfönstret"
 
 #: data/ui/main_window.ui:492
 msgid "Search your library"
-msgstr ""
+msgstr "Sök i ditt bibliotek"
 
 #: data/ui/main_window.ui:503
 msgid "Search menu button"
-msgstr ""
+msgstr "Sökmeny"
 
 #: data/ui/main_window.ui:504
 msgid "Open the search popover"
-msgstr ""
+msgstr "Öppna sökfönstret"
 
 #: data/ui/main_window.ui:518
 msgid "Options"
-msgstr ""
+msgstr "Alternativ"
 
 #: data/ui/main_window.ui:529
 msgid "Options menu button"
-msgstr ""
+msgstr "Alternativmeny"
 
 #: data/ui/main_window.ui:530
 msgid "Open the options popover"
-msgstr ""
+msgstr "Öppna inställningsfönstret"
 
 #: data/ui/main_window.ui:655
 msgid "Recent"
-msgstr ""
+msgstr "Tidigare"
 
 #: data/ui/main_window.ui:674
 msgid "List of authors"
-msgstr ""
+msgstr "Lista över författare"
 
 #: data/ui/main_window.ui:690 data/ui/main_window.ui:798
 #: data/ui/search_popover.ui:107
 msgid "Author"
-msgstr ""
+msgstr "Författare"
 
 #: data/ui/main_window.ui:709
 msgid "List of readers"
-msgstr ""
+msgstr "Lista över uppläsare"
 
 #: data/ui/main_window.ui:725 data/ui/search_popover.ui:201
 msgid "Reader"
-msgstr ""
+msgstr "Uppläsare"
 
 #: data/ui/main_window.ui:778
 msgid "List of books"
-msgstr ""
+msgstr "Lista över böcker"
 
 #: data/ui/main_window.ui:814
 msgid "Importing your audiobooks…"
-msgstr ""
+msgstr "Importerar dina ljudböcker…"
 
 #: data/ui/main_window.ui:866
 msgid "Import your Audiobooks"
-msgstr ""
+msgstr "Importera dina ljudböcker"
 
 #: data/ui/main_window.ui:882
 msgid ""
 "Cozy automatically imports your audiobooks in one directory - your library"
 msgstr ""
+"Cosy importerar dina ljudböcker automatiskt i en mapp - ditt bibliotek"
 
 #: data/ui/main_window.ui:910
 msgid "External or Network drive?"
-msgstr ""
+msgstr "Extern eller nätverksdisk?"
 
 #: data/ui/main_window.ui:927
 msgid "Are your audiobooks stored on an external or network drive?"
-msgstr ""
+msgstr "Är dina ljudböcker lagrade på en extern eller nätverksdisk?"
 
 #: data/ui/main_window.ui:942
 msgid ""
 "If they are you can enable offline mode for a book in the book overview\n"
 "This keeps a local copy of the book that you can listen to on the go"
 msgstr ""
+"Om dom är, kan du aktivera offline-läge för en bok i boköversikten.\n"
+"Detta lagrar en lokal kopia av boken, som du kan lyssna på, på språng."
 
 #: data/ui/main_window.ui:968 data/ui/main_window.ui:1025
 msgid "Auto scan switch"
-msgstr ""
+msgstr "Automatisk skanning av/på"
 
 #: data/ui/main_window.ui:969 data/ui/main_window.ui:1007
 #: data/ui/main_window.ui:1026
 msgid "Automatically import new audiobooks on startup"
-msgstr ""
+msgstr "Importera nya ljudböcker automatiskt vid programstart"
 
 #: data/ui/main_window.ui:1069
 msgid "Drag & Drop"
-msgstr ""
+msgstr "Dra & släpp"
 
 #: data/ui/main_window.ui:1086
 msgid "Drag your audiobooks into cozy and they will be automatically imported"
-msgstr ""
+msgstr "Dra och släpp dina ljudböcker i Cozy så importeras de automatiskt"
 
 #: data/ui/main_window.ui:1107
 msgid "Location of your audiobooks"
-msgstr ""
+msgstr "Plats för dina ljudböcker"
 
 #: data/ui/main_window.ui:1128
 msgid "Set Audiobooks Directory"
-msgstr ""
+msgstr "Ange ljudboksmapp"
 
 #: data/ui/main_window.ui:1145
 msgid ""
 "Load audiobooks from a directory, network drive or an external disk\n"
 "You can add more storage locations later in the settings"
 msgstr ""
+"Läs in ljudböcker från en mapp, nätverksdisk eller en extern disk.\n"
+"Du kan lägga till fler lagringsplatser senare, i inställningarna."
 
 #: data/ui/main_window.ui:1376
 msgid "Remaining"
-msgstr ""
+msgstr "Återstår"
 
 #: data/ui/main_window.ui:1432
 msgid "Total"
-msgstr ""
+msgstr "Sammanlagt"
 
 #: data/ui/main_window.ui:1449
 msgid "Last played"
-msgstr ""
+msgstr "Senast spelad"
 
 #: data/ui/main_window.ui:1466
 msgid "Published"
-msgstr ""
+msgstr "Publicerad"
 
 #: data/ui/main_window.ui:1630
 msgid ""
 "Start exploring your library by switching to the Author or Reader view "
 "above."
 msgstr ""
+"Börja utforska ditt bibliotek genom att växla till Författare eller "
+"Uppläsare ovan."
 
 #: data/ui/about.ui:14
 msgid "GitHub"
-msgstr ""
+msgstr "GitHub"
 
 #: data/ui/file_not_found.ui:19
 msgid "Cancel"
-msgstr ""
+msgstr "Avbryt"
 
 #: data/ui/file_not_found.ui:32
 msgid "Locate"
-msgstr ""
+msgstr "Plats"
 
 #: data/ui/file_not_found.ui:86
 msgid "File not found"
-msgstr ""
+msgstr "Filen hittades inte"
 
 #: data/ui/file_not_found.ui:119
 msgid "This file could not be found. Do you want to locate it manually?"
-msgstr ""
+msgstr "Denna fil hittades inte. Vill du lokalisera den manuellt?"
 
 #: data/ui/import_failed.ui:27
 msgid "Ok"
-msgstr ""
+msgstr "OK"
 
 #: data/ui/import_failed.ui:81
 msgid "Some files could not be imported"
-msgstr ""
+msgstr "Vissa filer kunde inte importeras"
 
 #: data/ui/import_failed.ui:134
 msgid ""
@@ -457,200 +468,192 @@
 "- The file(s) are no valid audio files\n"
 "- The file(s) are corrupt"
 msgstr ""
+"Detta kan ha flera orsaker:\n"
+"- Ljudformatet stöds inte\n"
+"- Sökvägen eller filnamnet innehåller tecken som inte är UTF-8\n"
+"- Filen/Filerna är inte giltiga ljudfiler\n"
+"- Filen/Filerna är skadade"
 
 #: data/ui/settings.ui:92 data/ui/settings.ui:344
 msgid "General"
-msgstr ""
+msgstr "Allmänt"
 
 #: data/ui/settings.ui:137
 msgid "Dark Mode"
-msgstr ""
+msgstr "Mörk läge"
 
 #: data/ui/settings.ui:213
 msgid "Titlebar"
-msgstr ""
+msgstr "Titelfält"
 
 #: data/ui/settings.ui:258
 msgid "Display the whole book instead of the current chapter"
-msgstr ""
+msgstr "Visa hela boken istället för aktuellt kapitel"
 
 #: data/ui/settings.ui:321
 msgid "Appearance"
-msgstr ""
+msgstr "Utseende"
 
 #: data/ui/settings.ui:387
 msgid "Suspend system on timer"
-msgstr ""
+msgstr "Försätt systemet i vänteläge via tiduret"
 
 #: data/ui/settings.ui:447
 msgid "Replay 30 seconds"
-msgstr ""
+msgstr "Repetera 30 sekunder"
 
 #: data/ui/settings.ui:507
 msgid "Automatic media scan"
-msgstr ""
+msgstr "Automatisk mediaskanner"
 
 #: data/ui/settings.ui:611
 msgid "Fadeout"
-msgstr ""
+msgstr "Tona ut"
 
 #: data/ui/settings.ui:672
 msgid "Fadeout duration"
-msgstr ""
+msgstr "Uttoningens varaktighet"
 
 #: data/ui/settings.ui:745
 msgid "Behaviour"
-msgstr ""
+msgstr "Beteende"
 
 #: data/ui/settings.ui:772
 msgid "Artwork"
-msgstr ""
+msgstr "Bildkonst"
 
 #: data/ui/settings.ui:824
 msgid "Prefer external images over embedded cover"
-msgstr ""
+msgstr "Föredra externa bilder framför inbäddade"
 
 #: data/ui/settings.ui:837
 msgid "Use images (cover.jpg, *.png, …) when available"
-msgstr ""
+msgstr "Använd bilder (cover.jpg, *.png, …) om tillgängligt"
 
 #: data/ui/settings.ui:920
 msgid "Audio books location"
-msgstr ""
+msgstr "Ljudboksplats"
 
 #: data/ui/settings.ui:936
 msgid "Storage locations"
-msgstr ""
+msgstr "Lagringsplats"
 
 #: data/ui/settings.ui:994
 msgid "Add location"
-msgstr ""
+msgstr "Lägg till plats"
 
 #: data/ui/settings.ui:1019 data/ui/settings.ui:1215
 msgid "Remove location"
-msgstr ""
+msgstr "Ta bort platsen"
 
 #: data/ui/settings.ui:1055
 msgid "Toggle this storage location to be internal/external."
-msgstr ""
+msgstr "Växla mellan intern och extern lagringsplats"
 
 #: data/ui/settings.ui:1081
 msgid "Set as default storage location for new audiobooks"
-msgstr ""
+msgstr "Ange som standardlagringsplats för nya ljudböcker"
 
 #: data/ui/settings.ui:1134
 msgid "Blacklist"
-msgstr ""
+msgstr "Svartlista"
 
 #: data/ui/settings.ui:1178
 msgid "Path"
-msgstr ""
+msgstr "Sökväg"
 
 #: data/ui/settings.ui:1261
 msgid "Follow symlinks"
-msgstr ""
+msgstr "Följ symboliska länkar"
 
 #: data/ui/settings.ui:1293
 msgid "Storage"
-msgstr ""
+msgstr "Lagring"
 
 #: data/ui/settings.ui:1317
 msgid "Database"
-msgstr ""
+msgstr "Databas"
 
 #: data/ui/settings.ui:1369
 msgid "Force refresh the database"
-msgstr ""
+msgstr "Uppdatera databasen"
 
 #: data/ui/settings.ui:1382
 msgid "This will force update the metadata of all imported books"
-msgstr ""
+msgstr "Detta uppdaterar metadata för alla importerade ljudböcker"
 
 #: data/ui/settings.ui:1402
 msgid "Force refresh"
-msgstr ""
-
-#: data/ui/settings.ui:1470
-msgid "By request"
-msgstr ""
-
-#: data/ui/settings.ui:1523
-msgid "Use crc32 checksum for file modification detection"
-msgstr ""
-
-#: data/ui/settings.ui:1536
-msgid ""
-"Only recommended if cozy doesn't detect file modifications while scanning"
-msgstr ""
+msgstr "Uppdatera"
 
-#: data/ui/settings.ui:1611
+#: data/ui/settings.ui:1458
 msgid "Advanced"
-msgstr ""
+msgstr "Avancerat"
 
 #: data/ui/search_popover.ui:24
 msgid "Search"
-msgstr ""
+msgstr "Sök"
 
 #: data/ui/search_popover.ui:36
 msgid "Search box"
-msgstr ""
+msgstr "Sökruta"
 
 #: data/ui/search_popover.ui:37
 msgid "Search your audiobook library"
-msgstr ""
+msgstr "Sök i ditt ljudboksbibliotek"
 
 #: data/ui/search_popover.ui:67
 msgid "Which book are you looking for?"
-msgstr ""
+msgstr "Vilken bok söker du?"
 
 #: data/ui/search_popover.ui:154
 msgid "Book"
-msgstr ""
+msgstr "Bok"
 
 #: data/ui/search_popover.ui:248
 msgid "Part"
-msgstr ""
+msgstr "Del"
 
 #: data/ui/search_popover.ui:295
 msgid "Nothing found :("
-msgstr ""
+msgstr "Inget hittades :("
 
 #: data/ui/timer_popover.ui:39
 msgid "Stop after current chapter"
-msgstr ""
+msgstr "Stoppa efter aktuell kapitel"
 
 #: data/ui/timer_popover.ui:76
 msgid "Timer duration"
-msgstr ""
+msgstr "Tidurets varaktighet"
 
 #: data/ui/timer_popover.ui:88
 msgid "Timer duration slider"
-msgstr ""
+msgstr "Insomningstidens varaktighet"
 
 #: data/ui/timer_popover.ui:89
 msgid "Set the sleep timer duration in minutes"
-msgstr ""
+msgstr "Ange varaktighet för insomningsuret i minuter"
 
 #: data/ui/titlebar_menu.ui:7
 msgid "_Scan Directory"
-msgstr ""
+msgstr "_Skanna mappen"
 
 #: data/ui/titlebar_menu.ui:13
 msgid "_Hide unavailable books"
-msgstr ""
+msgstr "_Dölj icke tillgängliga böcker"
 
 #: data/ui/titlebar_menu.ui:19
 msgid "_Preferences"
-msgstr ""
+msgstr "_Inställningar"
 
 #: data/ui/titlebar_menu.ui:25
 msgid "_Help"
-msgstr ""
+msgstr "_Hjälp"
 
 #: data/ui/titlebar_menu.ui:29
 msgid "_About"
-msgstr ""
+msgstr "_Om"
 
 #: data/ui/titlebar_menu.ui:33
 msgid "_Quit"
-msgstr ""
+msgstr "A_vsluta"


Reply via email to