120
120
_log = fancylogger .getLogger ('easyblock' )
121
121
122
122
123
- def make_extension_string (app , name_version_sep = '-' , ext_sep = ', ' , sort = True ):
124
- """
125
- Generate a string with a list of extensions of the given EasyBlock instance.
126
-
127
- The name and version are separated by name_version_sep and each extension is separated by ext_sep
128
- """
129
- exts_list = (name_version_sep .join (ext ) for ext in app .make_extension_list ())
130
- if sort :
131
- exts_list = sorted (exts_list , key = str .lower )
132
- return ext_sep .join (exts_list )
133
-
134
-
135
123
class EasyBlock (object ):
136
124
"""Generic support for building and installing software, base class for actual easyblocks."""
137
125
@@ -1531,7 +1519,7 @@ def make_module_extra_extensions(self):
1531
1519
1532
1520
# set environment variable that specifies list of extensions
1533
1521
# We need only name and version, so don't resolve templates
1534
- exts_list = make_extension_string (self , ext_sep = ',' , sort = False )
1522
+ exts_list = self . make_extension_string (ext_sep = ',' , sort = False )
1535
1523
env_var_name = 'EBEXTSLIST' + convert_name (self .name , upper = True )
1536
1524
lines .append (self .module_generator .set_environment (env_var_name , exts_list ))
1537
1525
@@ -1812,6 +1800,18 @@ def load_dependency_modules(self):
1812
1800
# EXTENSIONS UTILITY FUNCTIONS
1813
1801
#
1814
1802
1803
+ def make_extension_string (self , name_version_sep = '-' , ext_sep = ', ' , sort = True ):
1804
+ """
1805
+ Generate a string with a list of extensions returned by make_extension_list.
1806
+
1807
+ The name and version are separated by name_version_sep and each extension is separated by ext_sep.
1808
+ For customization of extensions the make_extension_list method should be used.
1809
+ """
1810
+ exts_list = (name_version_sep .join (ext ) for ext in self .make_extension_list ())
1811
+ if sort :
1812
+ exts_list = sorted (exts_list , key = str .lower )
1813
+ return ext_sep .join (exts_list )
1814
+
1815
1815
def make_extension_list (self ):
1816
1816
"""
1817
1817
Return a list of extension names and their versions included in this installation
@@ -1823,8 +1823,9 @@ def make_extension_list(self):
1823
1823
# As name can be a templated value we must resolve templates
1824
1824
if hasattr (self , '_make_extension_list' ):
1825
1825
self .log .nosupport ("self._make_extension_list is replaced by self.make_extension_list" , '5.0' )
1826
- if hasattr (self , 'make_extension_string' ):
1827
- self .log .nosupport ("self.make_extension_string was removed in favor of the free function" , '5.0' )
1826
+ if type (self ).make_extension_string != EasyBlock .make_extension_string :
1827
+ self .log .nosupport ("self.make_extension_string should not be overridden" , '5.0' )
1828
+
1828
1829
exts_list = []
1829
1830
for ext in self .cfg .get_ref ('exts_list' ):
1830
1831
if isinstance (ext , str ):
0 commit comments