]> git.parisson.com Git - deefuzzer.git/commitdiff
change logger methods, fix wrong twitting
authorGuillaume Pellerin <yomguy@parisson.com>
Thu, 20 May 2010 15:02:34 +0000 (15:02 +0000)
committerGuillaume Pellerin <yomguy@parisson.com>
Thu, 20 May 2010 15:02:34 +0000 (15:02 +0000)
deefuzzer.py
tools/logger.py
tools/station.py

index 9ca08020b205ea55819fcbc5d190443fd3d09b63..0e761bfe4afe2e00c312ec585c7df3d6b9df228e 100755 (executable)
@@ -102,12 +102,12 @@ class DeeFuzzer(Thread):
             self.nb_stations = len(self.conf['deefuzzer']['station'])
 
         # Set the deefuzzer logger
-        self.logger.write('Starting DeeFuzzer v' + version)
-        self.logger.write('Using libshout version %s' % shout.version())
+        self.logger.write_info('Starting DeeFuzzer v' + version)
+        self.logger.write_info('Using libshout version %s' % shout.version())
 
         # Init all Stations
         self.stations = []
-        self.logger.write('Number of stations : ' + str(self.nb_stations))
+        self.logger.write_info('Number of stations : ' + str(self.nb_stations))
 
     def get_conf_dict(self):
         confile = open(self.conf_file,'r')
@@ -127,7 +127,7 @@ class DeeFuzzer(Thread):
             m3u.write(info)
             m3u.write(url)
         m3u.close()
-        self.logger.write('Writing M3U file to : ' + self.m3u)
+        self.logger.write_info('Writing M3U file to : ' + self.m3u)
 
 
     def run(self):
index aebd9b4625ca7f59ca80adcb5d03f92dfb25a0cb..2f68c4d0020dd136ed765c3fdf7dcd3309bcdb04 100644 (file)
@@ -1,10 +1,11 @@
 #!/usr/bin/python
+# -*- coding: utf-8 -*-
 
 import logging
 
 class Logger:
     """A logging object"""
-    
+
     def __init__(self, file):
         self.logger = logging.getLogger('myapp')
         self.hdlr = logging.FileHandler(file)
@@ -13,8 +14,9 @@ class Logger:
         self.logger.addHandler(self.hdlr)
         self.logger.setLevel(logging.INFO)
 
-    def write(self, message):
+    def write_info(self, message):
         self.logger.info(message)
 
+    def write_error(self, message):
+        self.logger.error(message)
 
-    
\ No newline at end of file
index db66c5a242051bfe4b3d6686155c21dab93a78aa..60c24ecd52dba69842297156d55978eae5597b1e 100644 (file)
@@ -103,7 +103,7 @@ class Station(Thread):
         self.channel_delay = self.channel.delay()
 
         # Logging
-        self.logger.write('Opening ' + self.short_name + ' - ' + self.channel.name + \
+        self.logger.write_info('Opening ' + self.short_name + ' - ' + self.channel.name + \
                 ' (' + str(self.lp) + ' tracks)...')
 
         self.metadata_relative_dir = 'metadata'
@@ -178,7 +178,7 @@ class Station(Thread):
         value = value[0]
         self.next_media = value
         message = "Received OSC message '%s' with arguments '%d'" % (path, value)
-        self.logger.write(message)
+        self.logger.write_info(message)
 
     def relay_callback(self, path, value):
         value = value[0]
@@ -190,9 +190,9 @@ class Station(Thread):
             self.player.stop_relay()
         self.next_media = 1
         message = "Received OSC message '%s' with arguments '%d'" % (path, value)
-        self.logger.write(message)
+        self.logger.write_info(message)
         message = "Relaying : %s" % self.relay_url
-        self.logger.write(message)
+        self.logger.write_info(message)
 
     def twitter_callback(self, path, value):
         value = value[0]
@@ -200,7 +200,7 @@ class Station(Thread):
         message = "Received OSC message '%s' with arguments '%d'" % (path, value)
         self.m3u_tinyurl = tinyurl.create_one(self.channel.url + '/m3u/' + self.m3u.split(os.sep)[-1])
         self.rss_tinyurl = tinyurl.create_one(self.channel.url + '/rss/' + self.rss_playlist_file.split(os.sep)[-1])
-        self.logger.write(message)
+        self.logger.write_info(message)
 
     def jingles_callback(self, path, value):
         value = value[0]
@@ -210,7 +210,7 @@ class Station(Thread):
             self.jingle_id = 0
         self.jingles_mode = value
         message = "Received OSC message '%s' with arguments '%d'" % (path, value)
-        self.logger.write(message)
+        self.logger.write_info(message)
 
     def record_callback(self, path, value):
         value = value[0]
@@ -229,13 +229,13 @@ class Station(Thread):
             media.write_tags()
         self.record_mode = value
         message = "Received OSC message '%s' with arguments '%d'" % (path, value)
-        self.logger.write(message)
+        self.logger.write_info(message)
 
     def player_callback(self, path, value):
         value = value[0]
         self.player_mode = value
         message = "Received OSC message '%s' with arguments '%d'" % (path, value)
-        self.logger.write(message)
+        self.logger.write_info(message)
 
     def get_playlist(self):
         file_list = []
@@ -293,16 +293,15 @@ class Station(Thread):
                         if self.twitter_mode == 1:
                             artist_names = artist.split(' ')
                             artist_tags = ' #'.join(list(set(artist_names)-set(['&', '-'])))
-                            message = '#newtrack ! %s #%s on #%s RSS : ' % (song.replace('_', ' '), artist_tags, self.short_name)
+                            message = '#newtrack ! %s #%s on #%s RSS: ' % (song.replace('_', ' '), artist_tags, self.short_name)
                             message = message[:113] + self.rss_tinyurl
-                            message = message.decode('utf8')
                             self.update_twitter(message)
 
                 if self.shuffle_mode == 1:
                     # Shake it, Fuzz it !
                     random.shuffle(self.playlist)
 
-                self.logger.write('Station ' + self.short_name + \
+                self.logger.write_info('Station ' + self.short_name + \
                                  ' : generating new playlist (' + str(self.lp) + ' tracks)')
                 self.update_rss(self.media_to_objs(self.playlist), self.rss_playlist_file, '(playlist)')
 
@@ -315,7 +314,7 @@ class Station(Thread):
             return media
         else:
             mess = 'No media in media_dir !'
-            self.logger.write(mess)
+            self.logger.write_error(mess)
             sys.exit(mess)
 
     def media_to_objs(self, media_list):
@@ -392,20 +391,12 @@ class Station(Thread):
         rss.write_xml(f, 'utf-8')
         f.close()
 
-    def update_twitter(self, message=None):
-        if not message:
-            artist_names = self.artist.split(' ')
-            artist_tags = ' #'.join(list(set(artist_names)-set(['&', '-'])))
-            message = '♫ %s %s on #%s #%s' % (self.prefix, self.song, self.short_name, artist_tags)
-            tags = '#' + ' #'.join(self.twitter_tags)
-            message = message + ' ' + tags
-            message = message[:107] + ' M3U : ' + self.m3u_tinyurl
-            message = message.decode('utf8')
+    def update_twitter(self, message):
         try:
-            self.twitter.post(message)
-            self.logger.write('Twitting : "' + message + '"')
+            self.twitter.post(message.decode('utf8'))
+            self.logger.write_info('Twitting : "' + message + '"')
         except:
-            self.logger.write('ERROR Twitting : "' + message + '"')
+            self.logger.write_error('Twitting : "' + message + '"')
             pass
 
     def set_relay_mode(self):
@@ -433,7 +424,7 @@ class Station(Thread):
         self.update_rss(self.current_media_obj, self.metadata_file, '')
         self.channel.set_metadata({'song': self.song, 'charset': 'utf8',})
         self.update_rss(self.current_media_obj, self.rss_current_file, '(currently playing)')
-        self.logger.write('Deefuzzing this file on %s :  id = %s, name = %s' \
+        self.logger.write_info('Deefuzzing on %s :  id = %s, name = %s' \
             % (self.short_name, self.id, self.current_media_obj[0].file_name))
         self.player.set_media(self.media)
         if self.player_mode == 0:
@@ -452,14 +443,20 @@ class Station(Thread):
                 self.set_relay_mode()
             elif os.path.exists(self.media) and not os.sep+'.' in self.media:
                 if self.lp == 0:
-                    self.logger.write('Error : Station ' + self.short_name + ' has no media to stream !')
+                    self.logger.write_error('Station ' + self.short_name + ' has no media to stream !')
                     break
                 self.set_read_mode()
             self.q.task_done()
 
             self.q.get(1)
             if (not (self.jingles_mode == 1 and (self.counter % 2) == 1) or self.relay_mode == 1) and self.twitter_mode == 1:
-                self.update_twitter()
+                artist_names = self.artist.split(' ')
+                artist_tags = ' #'.join(list(set(artist_names)-set(['&', '-'])))
+                message = '♫ %s %s on #%s #%s' % (self.prefix, self.song, self.short_name, artist_tags)
+                tags = '#' + ' #'.join(self.twitter_tags)
+                message = message + ' ' + tags
+                message = message[:107] + ' M3U: ' + self.m3u_tinyurl
+                self.update_twitter(message)
             self.q.task_done()
 
             for self.chunk in self.stream:
@@ -470,7 +467,7 @@ class Station(Thread):
                     if self.next_media == 1:
                         break
                 except:
-                    self.logger.write('ERROR : Station ' + self.short_name + ' : could not send the buffer to the server ')
+                    self.logger.write_error('Station ' + self.short_name + ' : could not send the buffer to the server ')
                     self.channel.close()
                     self.channel.open()
                     continue
@@ -478,7 +475,7 @@ class Station(Thread):
                     if self.record_mode == 1:
                         self.recorder.write(self.chunk)
                 except:
-                    self.logger.write('ERROR : Station ' + self.short_name + ' : could not write the buffer to the file ')
+                    self.logger.write_error('Station ' + self.short_name + ' : could not write the buffer to the file ')
                     continue
                 self.q.task_done()