def __new__(cls, versioned_name): # http://stackoverflow.com/questions/14783698/how-to-or-why-not-call-unicode-init-from-subclass if isinstance(versioned_name, FiletrackerFilename): versioned_name = versioned_name.versioned_name versioned_name = unicode(versioned_name) name, _version = filetracker.split_name(versioned_name) self = unicode.__new__(cls, name) self.versioned_name = versioned_name return self
def _get_needed_files(self): result = [] for app in cache.get_apps(): model_list = cache.get_models(app) for model in model_list: file_fields = [field.name for field in model._meta.fields if field.get_internal_type() == 'FileField'] if len(file_fields) > 0: files = model.objects.all().values_list(*file_fields) result.extend([split_name(file)[0] for file in itertools. chain.from_iterable(files)]) return result
def _get_needed_files(self): result = [] for app in cache.get_apps(): model_list = cache.get_models(app) for model in model_list: file_fields = [ field.name for field in model._meta.fields if field.get_internal_type() == 'FileField' ] if len(file_fields) > 0: files = model.objects.all().values_list(*file_fields) result.extend([ split_name(file)[0] for file in itertools.chain.from_iterable(files) if file ]) return result
def _parse_name(self, name): _check_name(name) key, version = split_name(name) return key, version