self.versions = []
self.load_versions()
+ def __repr__(self):
+ return "<VersionManager with {} flavours: [{}]>"\
+ .format(len(self.versions),
+ ", ".join( [ str(x) for x in self.versions ]))
+
def load_versions(self):
path = os.path.dirname(os.path.abspath( __file__ ))
versions_path = path + os.sep + 'versions'
retval = None
for version in self.versions:
if type is None or type.lower() == version.type.lower():
- if version_num is None or str(version_num) == version.version:
+ if version_num is None or str(float(version_num)) == str(float(version.version)):
if content_type is None or content_type.lower() == version.content_type.lower() \
or version.content_type == '*':
retval = version
if num_parts > 2:
content_type = version_parts[2]
retval = self._get_version(type, version_num, content_type)
- elif isinstance(version, BaseVersion):
+ elif isinstance(version, RSpecVersion):
retval = version
+ elif not version:
+ retval = self.versions[0]
else:
raise UnsupportedRSpecVersion("No such version: %s "% str(version))