Author: duncan
Date: Mon Jan  7 16:37:05 2008
New Revision: 10265

Log:
Information on single plug-ins (-i) scans all plug-ins, very slow
This speeds up the processing by only reading the one specified.


Modified:
   branches/rel-1-7/freevo/src/helpers/plugins.py
   branches/rel-1/freevo/src/helpers/plugins.py

Modified: branches/rel-1-7/freevo/src/helpers/plugins.py
==============================================================================
--- branches/rel-1-7/freevo/src/helpers/plugins.py      (original)
+++ branches/rel-1-7/freevo/src/helpers/plugins.py      Mon Jan  7 16:37:05 2008
@@ -125,7 +125,7 @@
     return ''
 
 
-def parse_plugins():
+def parse_plugins(plugin_name=None):
     start = re.compile('^class *(.*)\((.*Plugin\s*).:')
     stop  = re.compile('^[\t ]*def.*:')
     comment = re.compile('^[\t ]*"""')
@@ -144,6 +144,10 @@
     for file in util.recursefolders(os.environ['FREEVO_PYTHON'], 1, '*.py', 1):
         if file.find('plugin.py') > 0:
             continue
+        if plugin_name:
+            plugin_shortname = plugin_name.split('.')[-1]+'.py'
+            if file.find(plugin_shortname) < 0:
+                continue
         parse_status = 0
         whitespaces  = 0
         scan_config  = 0
@@ -457,7 +461,7 @@
 
 # show info about a plugin
 elif len(sys.argv)>2 and sys.argv[1] == '-i':
-    print_info(sys.argv[2], parse_plugins())
+    print_info(sys.argv[2], parse_plugins(sys.argv[2]))
 
 # show infos about all plugins (long list)
 elif len(sys.argv)>1 and sys.argv[1] == '-a':

Modified: branches/rel-1/freevo/src/helpers/plugins.py
==============================================================================
--- branches/rel-1/freevo/src/helpers/plugins.py        (original)
+++ branches/rel-1/freevo/src/helpers/plugins.py        Mon Jan  7 16:37:05 2008
@@ -125,7 +125,7 @@
     return ''
 
 
-def parse_plugins():
+def parse_plugins(plugin_name=None):
     start = re.compile('^class *(.*)\((.*Plugin\s*).:')
     stop  = re.compile('^[\t ]*def.*:')
     comment = re.compile('^[\t ]*"""')
@@ -144,6 +144,10 @@
     for file in util.recursefolders(os.environ['FREEVO_PYTHON'], 1, '*.py', 1):
         if file.find('plugin.py') > 0:
             continue
+        if plugin_name:
+            plugin_shortname = plugin_name.split('.')[-1]+'.py'
+            if file.find(plugin_shortname) < 0:
+                continue
         parse_status = 0
         whitespaces  = 0
         scan_config  = 0
@@ -458,7 +462,7 @@
 
 # show info about a plugin
 elif len(sys.argv)>2 and sys.argv[1] == '-i':
-    print_info(sys.argv[2], parse_plugins())
+    print_info(sys.argv[2], parse_plugins(sys.argv[2]))
 
 # show infos about all plugins (long list)
 elif len(sys.argv)>1 and sys.argv[1] == '-a':

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to