servicemp3.cpp: more simple/flexible streaming detection
[enigma2.git] / lib / python / Tools / Profile.py
index 1c44bc8..4d8dd90 100644 (file)
@@ -1,5 +1,6 @@
+# the implementation here is a bit crappy.
 import time
-from Directories import resolveFilename, SCOPE_SYSETC
+from Directories import resolveFilename, SCOPE_CONFIG
 
 PERCENTAGE_START = 50
 PERCENTAGE_END = 100
@@ -8,9 +9,10 @@ profile_start = time.time()
 
 profile_data = {}
 total_time = 1
+profile_file = None
 
 try:
-       profile_old = open(resolveFilename(SCOPE_SYSETC, "profile"), "r").readlines()
+       profile_old = open(resolveFilename(SCOPE_CONFIG, "profile"), "r").readlines()
 
        t = None
        for line in profile_old:
@@ -21,19 +23,23 @@ try:
 except:
        print "no profile data available"
 
-profile_file = open(resolveFilename(SCOPE_SYSETC, "profile"), "w")
+try:
+       profile_file = open(resolveFilename(SCOPE_CONFIG, "profile"), "w")
+except IOError:
+       print "WARNING: couldn't open profile file!"
 
 def profile(id):
        now = time.time() - profile_start
        if profile_file:
                profile_file.write("%.2f\t%s\n" % (now, id))
-       if id in profile_data:
-               t = profile_data[id]
-               perc = t * (PERCENTAGE_END - PERCENTAGE_START) / total_time + PERCENTAGE_START
-               try:
-                       open("/proc/progress", "w").write("%d \n" % perc)
-               except IOError:
-                       pass
+
+               if id in profile_data:
+                       t = profile_data[id]
+                       perc = t * (PERCENTAGE_END - PERCENTAGE_START) / total_time + PERCENTAGE_START
+                       try:
+                               open("/proc/progress", "w").write("%d \n" % perc)
+                       except IOError:
+                               pass
 
 def profile_final():
        global profile_file