[gnome-music] query: properly initialize the class



commit 9c52fa626a2f863708af5f67c750735e7fef84f4
Author: Vadim Rutkovsky <vrutkovs redhat com>
Date:   Tue Aug 11 10:36:26 2015 +0200

    query: properly initialize the class

 gnomemusic/query.py  |   41 +++++++++++++++++++++++------------------
 gnomemusic/window.py |    1 +
 2 files changed, 24 insertions(+), 18 deletions(-)
---
diff --git a/gnomemusic/query.py b/gnomemusic/query.py
index 584c06f..b4fa8aa 100644
--- a/gnomemusic/query.py
+++ b/gnomemusic/query.py
@@ -27,6 +27,7 @@
 
 from gettext import gettext as _
 from gi.repository import GLib, Tracker
+from gnomemusic import log
 import os
 import logging
 logger = logging.getLogger(__name__)
@@ -37,31 +38,35 @@ SECONDS_PER_DAY = 86400
 
 
 class Query():
+
     music_folder = None
     MUSIC_URI = None
     download_folder = None
     DOWNLOAD_URI = None
-    try:
-        music_folder = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC)
-    except TypeError:
-        logger.warn("XDG Music dir is not set")
-        return
-
-    try:
-        download_folder = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DOWNLOAD)
-    except TypeError:
-        logger.warn("XDG Download dir is not set")
-        return
-
-    MUSIC_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(music_folder))
-    DOWNLOAD_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(download_folder))
-
-    for folder in [music_folder, download_folder]:
-        if os.path.islink(folder):
-            logger.warn("%s is a symlink, this folder will be omitted", folder)
-        else:
-            i = len(next(os.walk(folder))[2])
-            logger.debug("Found %d files in %s", i, folder)
+
+    @log
+    def __init__(self):
+        try:
+            Query.music_folder = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC)
+        except TypeError:
+            logger.warn("XDG Music dir is not set")
+            return
+
+        try:
+            Query.download_folder = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DOWNLOAD)
+        except TypeError:
+            logger.warn("XDG Download dir is not set")
+            return
+
+        Query.MUSIC_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(Query.music_folder))
+        Query.DOWNLOAD_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(Query.download_folder))
+
+        for folder in [Query.music_folder, Query.download_folder]:
+            if os.path.islink(folder):
+                logger.warn("%s is a symlink, this folder will be omitted", folder)
+            else:
+                i = len(next(os.walk(folder))[2])
+                logger.debug("Found %d files in %s", i, folder)
 
     def __repr__(self):
         return '<Query>'
diff --git a/gnomemusic/window.py b/gnomemusic/window.py
index ca4310e..26cf94f 100644
--- a/gnomemusic/window.py
+++ b/gnomemusic/window.py
@@ -202,6 +202,7 @@ class Window(Gtk.ApplicationWindow):
         count = 0
         cursor = None
 
+        Query()
         if Query.music_folder and Query.download_folder:
             try:
                 cursor = tracker.query(Query.all_songs_count(), None)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]