Esempio n. 1
0
    def __init__(self, *args, **kwds):
        Component.__init__(self, *args, **kwds)

        self.log("Active_tag", "initializing component", self.data.level)

        # Set up data structures
        self.tags = {}
        self.scan_tags()
        self.generated = False
Esempio n. 2
0
    def __init__(self, *args, **kwds):
        Component.__init__(self, *args, **kwds)

        self.siteroot = "http://masenf.com"
        self.rsstitle = "masenf.com > blog"
        self.rssfile = "output/feed.rss"
        self.rsspath = "/feed.rss"
        self.NUM_POSTS = 20
        self.PREVIEW_CHARS = 256
        self.output_rss(self.rssfile)
Esempio n. 3
0
    def __init__(self, *args, **kwds):
        Component.__init__(self, *args, **kwds)

        # add predefined rewrites
        self.rewrites = { '/?' : ('/home.html',''),
                            'blog/?' : ('/blog.html','[R]'),
                            'blog/tag/([\ a-zA-Z]+)' : ('/blog/tag/$1.html','[R]'),
                            'blog/archive/([0-9]{4})-([0-9]{2})/?' : ('/blog/archive/$1-$2.html','[R]'),
                            'blog/rss2/?' : ('/feed.rss','[R]') }
        self.index_permalinks()
        self.write_htaccess()
 def __init__ (self, locations):
     operations.Operation.__init__ (self)
     Component.__init__ (self, None)
     self.savePlaylist = SavePlaylistRegistry (self)
     self.locations = locations
     self.__preferences = RecordingPreferences (locations)
     self.__running_ops = []
     
     self._music_file_patterns = {}
     self._playlist_file_patterns = {}
     self._music_file_filters = None
     self._playlist_file_filters = None
     self.register_music_file_pattern ("MPEG Audio Stream, Layer III", "*.mp3")
     self.register_music_file_pattern ("Ogg Vorbis Codec Compressed WAV File", "*.ogg")
     self.register_music_file_pattern ("Free Lossless Audio Codec", "*.flac")
     self.register_music_file_pattern ("PCM Wave audio", "*.wav")
Esempio n. 5
0
 def __init__ (self, locations):
     operations.Operation.__init__ (self)
     Component.__init__ (self, None)
     self.savePlaylist = SavePlaylistRegistry (self)
     self.locations = locations
     self.__preferences = RecordingPreferences (locations)
     self.__running_ops = []
     
     self._music_file_patterns = {}
     self._playlist_file_patterns = {}
     self._music_file_filters = None
     self._playlist_file_filters = None
     self.register_music_file_pattern ("MPEG Audio Stream, Layer III", "*.mp3")
     self.register_music_file_pattern ("Ogg Vorbis Codec Compressed WAV File", "*.ogg")
     self.register_music_file_pattern ("Free Lossless Audio Codec", "*.flac")
     self.register_music_file_pattern ("PCM Wave audio", "*.wav")
    def __init__ (self, application):
        gtk.Window.__init__ (self, gtk.WINDOW_TOPLEVEL)
        operations.Operation.__init__ (self)
        Component.__init__ (self, application)
            
        self.__application = application
        self.__masterer = AudioMastering ()
        # Variable related to this being an Operation
        self.__running = False
        self.connect ("show", self.__on_show)
        # We listen for GtkMusicList events
        self.music_list_widget.listeners.append (self)

        glade_file = os.path.join (constants.data_dir, "serpentine.glade")
        g = gtk.glade.XML (glade_file, "main_window_container")
        
        # Send glade to setup subcomponents
        for c in self._components:
            if hasattr (c, "_setup_glade"):
                c._setup_glade (g)

        self.add (g.get_widget ("main_window_container"))
        self.set_title ("Serpentine")
        self.set_default_size (450, 350)
        self.set_icon_name ("gnome-dev-cdrom-audio")
        
        
        # record button
        # setup record button
        self.__write_to_disc = MapProxy (dict(
            button = g.get_widget ("write_to_disc"),
            menu   = g.get_widget ("write_to_disc_mni")
        ))
        
        self.__write_to_disc.set_sensitive (False)
        self.__write_to_disc["button"].connect ("clicked", self.__on_write_files)
        self.__write_to_disc["menu"].connect ("activate", self.__on_write_files)
        
        # masterer widget
        box = self.get_child()
        self.music_list_widget.show()
        box.add (self.music_list_widget)
        
        # preferences
        g.get_widget ("preferences_mni").connect ("activate", self.__on_preferences)
        
        # setup remove buttons
        self.remove = MapProxy ({"menu": g.get_widget ("remove_mni"),
                                 "button": g.get_widget ("remove")})

        self.remove["menu"].connect ("activate", self.__on_remove_file)
        self.remove["button"].connect ("clicked", self.__on_remove_file)
        self.remove.set_sensitive (False)
        
        # setup clear buttons
        self.clear = MapProxy ({"menu": g.get_widget ("clear_mni"),
                                "button": g.get_widget ("clear")})
        self.clear["button"].connect ("clicked", self.clear_files)
        self.clear["menu"].connect ("activate", self.clear_files)
        self.clear.set_sensitive (False)
        
        # setup quit menu item
        g.get_widget ("quit_mni").connect ("activate", self.stop)
        self.connect("delete-event", self.stop)
        
        # About dialog
        g.get_widget ("about_mni").connect ("activate", self.__on_about)
        
        # update buttons
        self.on_contents_changed()
        
        if self.__application.preferences.drive is None:
            gtkutil.dialog_warn (
                _("No recording drive found"),
                _("No recording drive found on your system, therefore some of "
                  "Serpentine's functionalities will be disabled."),
                parent = self
            )
            g.get_widget ("preferences_mni").set_sensitive (False)
            self.__write_to_disc.set_sensitive (False)
    
        # Load internal XSPF playlist
        self.__load_playlist()
    def __init__(self, application):
        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
        operations.Operation.__init__(self)
        Component.__init__(self, application)

        self.__application = application
        self.__masterer = AudioMastering()
        # Variable related to this being an Operation
        self.__running = False
        self.connect("show", self.__on_show)
        # We listen for GtkMusicList events
        self.music_list_widget.listeners.append(self)

        glade_file = os.path.join(constants.data_dir, "serpentine.glade")
        g = gtk.glade.XML(glade_file, "main_window_container")

        # Send glade to setup subcomponents
        for c in self._components:
            if hasattr(c, "_setup_glade"):
                c._setup_glade(g)

        self.add(g.get_widget("main_window_container"))
        self.set_title("Serpentine")
        self.set_default_size(450, 350)
        self.set_icon_name("gnome-dev-cdrom-audio")

        # record button
        # setup record button
        self.__write_to_disc = MapProxy(
            dict(button=g.get_widget("write_to_disc"),
                 menu=g.get_widget("write_to_disc_mni")))

        self.__write_to_disc.set_sensitive(False)
        self.__write_to_disc["button"].connect("clicked",
                                               self.__on_write_files)
        self.__write_to_disc["menu"].connect("activate", self.__on_write_files)

        # masterer widget
        box = self.get_child()
        self.music_list_widget.show()
        box.add(self.music_list_widget)

        # preferences
        g.get_widget("preferences_mni").connect("activate",
                                                self.__on_preferences)

        # setup remove buttons
        self.remove = MapProxy({
            "menu": g.get_widget("remove_mni"),
            "button": g.get_widget("remove")
        })

        self.remove["menu"].connect("activate", self.__on_remove_file)
        self.remove["button"].connect("clicked", self.__on_remove_file)
        self.remove.set_sensitive(False)

        # setup clear buttons
        self.clear = MapProxy({
            "menu": g.get_widget("clear_mni"),
            "button": g.get_widget("clear")
        })
        self.clear["button"].connect("clicked", self.clear_files)
        self.clear["menu"].connect("activate", self.clear_files)
        self.clear.set_sensitive(False)

        # setup quit menu item
        g.get_widget("quit_mni").connect("activate", self.stop)
        self.connect("delete-event", self.stop)

        # About dialog
        g.get_widget("about_mni").connect("activate", self.__on_about)

        # update buttons
        self.on_contents_changed()

        if self.__application.preferences.drive is None:
            gtkutil.dialog_warn(
                _("No recording drive found"),
                _("No recording drive found on your system, therefore some of "
                  "Serpentine's functionalities will be disabled."), self)
            g.get_widget("preferences_mni").set_sensitive(False)
            self.__write_to_disc.set_sensitive(False)

        # Load internal XSPF playlist
        self.__load_playlist()
Esempio n. 8
0
 def __init__(self, *args, **kwds):
     Component.__init__(self, *args, **kwds)
     self.PREVIEW_CHARS = 512
     self.TEMPLATE = "post-short.tmpl.html"
     self.NUM_POSTS = 10