def __getattr__(self, attribute): if attribute == 'untranslated_lang_keys': untranslated = [] supported_langs = self.dms.language.get_by_keys( [['supported', '=', 't']]) for key in supported_langs.keys(): if key not in self.string.keys(): untranslated.append(key) return untranslated elif attribute == 'i18n': self.i18n = self.dms.string_i18n.get_by_keys( [['code', '=', self.code]]) return self.i18n elif attribute == 'version': version = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] version[i18n.lang] = i18n.version return version elif attribute == 'string': string = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] string[i18n.lang] = i18n.string return string else: raise AttributeError('No such attribute %s' % attribute)
def __getattr__(self, attribute): if attribute == 'documents': return self.dms.document.get_by_keys( [['license_code', '=', self.code]]) elif attribute == 'i18n': self.i18n = self.dms.license_i18n.get_by_keys( [['code', '=', self.code]]) return self.i18n elif attribute == 'short_name': short_name = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] short_name[i18n.lang] = i18n.short_name return short_name elif attribute == 'name': name = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] name[i18n.lang] = i18n.name return name elif attribute == 'description': description = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] description[i18n.lang] = i18n.description return description else: raise AttributeError('No such attribute %s' % attribute)
def __init__(self): LampadasCollection.__init__(self) self['block'] = Block() self['collection'] = Collection() self['collection_i18n'] = CollectionI18n() self['document'] = Document() self['document_collection'] = DocumentCollection() self['document_error'] = DocumentError() self['document_file'] = DocumentFile() self['document_note'] = DocumentNote() self['document_rating'] = DocumentRating() self['document_rev'] = DocumentRev() self['document_topic'] = DocumentTopic() self['document_user'] = DocumentUser() self['dtd'] = DTD() self['dtd_i18n'] = DTDI18n() self['encoding'] = Encoding() self['error'] = Error() self['error_i18n'] = ErrorI18n() self['error_type'] = ErrorType() self['error_type_i18n'] = ErrorTypeI18n() self['file_error'] = FileError() self['file_report'] = FileReport() self['file_report_i18n'] = FileReportI18n() self['format'] = Format() self['format_i18n'] = FormatI18n() self['language'] = Language() self['language_i18n'] = LanguageI18n() self['license'] = License() self['license_i18n'] = LicenseI18n() self['log'] = Log() self['news'] = News() self['news_i18n'] = NewsI18n() self['page'] = Page() self['page_i18n'] = PageI18n() self['pub_status'] = PubStatus() self['pub_status_i18n'] = PubStatusI18n() self['review_status'] = ReviewStatus() self['review_status_i18n'] = ReviewStatusI18n() self['role'] = Role() self['role_i18n'] = RoleI18n() self['section'] = Section() self['section_i18n'] = SectionI18n() self['session'] = Session() self['sourcefile'] = Sourcefile() self['template'] = Template() self['topic'] = Topic() self['topic_i18n'] = TopicI18n() self['type'] = Type() self['type_i18n'] = TypeI18n() self['username'] = Username() self['string'] = WebString() self['string_i18n'] = WebStringI18n() # Point each data manager back here. The data managers will in turn # point all objects they create back here. # Also assign each data manager a type of DataSet to generate for # requests for multiple objects. for key in self.keys(): self[key].dms = self
def __getattr__(self, attribute): if attribute=='untranslated_lang_keys': untranslated = [] supported_langs = self.dms.language.get_by_keys([['supported', '=', 1]]) for key in supported_langs.keys(): if key not in self.headline.keys(): untranslated.append(key) return untranslated elif attribute=='i18n': self.i18n = self.dms.news_i18n.get_by_keys([['id', '=', self.id]]) return self.i18n elif attribute=='headline': headline = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] headline[i18n.lang] = i18n.headline return headline elif attribute=='version': version = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] version[i18n.lang] = i18n.version return version elif attribute=='news': news = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] news[i18n.lang] = i18n.news return news else: raise AttributeError('No such attribute %s' % attribute)
def __getattr__(self, attribute): if attribute == 'untranslated_lang_keys': untranslated = [] supported_langs = self.dms.language.get_by_keys( [['supported', '=', 't']]) for key in supported_langs.keys(): if key not in self.title.keys(): untranslated.append(key) return untranslated elif attribute == 'template': return self.dms.template.get_by_id(self.template_code) elif attribute == 'section': return self.dms.section.get_by_id(self.section_code) elif attribute == 'i18n': self.i18n = self.dms.page_i18n.get_by_keys( [['code', '=', self.code]]) return self.i18n elif attribute == 'title': title = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] title[i18n.lang] = i18n.title return title elif attribute == 'menu_name': menu_name = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] if i18n.menu_name == '': menu_name[i18n.lang] = i18n.title else: menu_name[i18n.lang] = i18n.menu_name return menu_name elif attribute == 'page': page = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] page[i18n.lang] = i18n.page return page elif attribute == 'version': version = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] version[i18n.lang] = i18n.version return version else: raise AttributeError('No such attribute %s' % attribute)
def __getattr__(self, attribute): if attribute=='documents': return self.dms.document_error.get_by_keys([['err_id', '=', self.id]]) elif attribute=='error_type': return self.dms.error_type.get_by_id(self.err_type_code) elif attribute=='i18n': self.i18n = self.dms.error_i18n.get_by_keys([['id', '=', self.id]]) return self.i18n elif attribute=='name': name = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] name[i18n.lang] = i18n.name return name elif attribute=='description': description = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] description[i18n.lang] = i18n.description return description else: raise AttributeError('No such attribute %s' % attribute)
def __getattr__(self, attribute): if attribute == 'documents': return self.dms.document_topic.get_by_keys( [['topic_code', '=', self.code]]) elif attribute == 'parent': return self.dms.topic.get_by_id(self.parent_code) elif attribute == 'children': return self.dms.topic.get_by_keys([['parent_code', '=', self.code]]) elif attribute == 'title': parent = self.parent if parent: title = LampadasCollection() for key in parent.title.keys(): title[key] = parent.title[key] for key in self.name.keys(): title[key] = title[key] + ': ' + self.name[key] else: title = self.name return title elif attribute == 'i18n': self.i18n = self.dms.topic_i18n.get_by_keys( [['code', '=', self.code]]) return self.i18n elif attribute == 'name': name = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] name[i18n.lang] = i18n.name return name elif attribute == 'description': description = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] description[i18n.lang] = i18n.description return description else: raise AttributeError('No such attribute %s' % attribute)
def __init__(self, table_name, field_dictionary): LampadasCollection.__init__(self) self.name = table_name self.fields = TableFields() self.key_list = [] self.field_list = [] for field_name in field_dictionary.keys(): field = field_dictionary[field_name] data_field = TableField(self) data_field.table_name = self.name data_field.index = len(self.fields) data_field.field_name = field_name data_field.key_field = field['key_field'] data_field.data_type = field['data_type'] data_field.nullable = field['nullable'] data_field.i18n = field['i18n'] data_field.foreign_key = field['foreign_key'] if field.has_key('foreign_attr'): data_field.foreign_attr = field['foreign_attr'] else: data_field.foreign_attr = '' if field.has_key('attribute'): data_field.attribute = field['attribute'] else: data_field.attribute = data_field.field_name # Load the default value AFTER populating the other fields. if field.has_key('default'): data_field.default = field['default'] else: data_field.default = data_field.get_default() self.fields[field_name] = data_field self.field_list.append(field_name) if data_field.key_field == 1: self.key_list.append(data_field.field_name) self.select = 'SELECT %s FROM %s' % (string.join( self.field_list, ', '), self.name)
def __init__(self, table_name, field_dictionary): LampadasCollection.__init__(self) self.name = table_name self.fields = TableFields() self.key_list = [] self.field_list = [] for field_name in field_dictionary.keys(): field = field_dictionary[field_name] data_field = TableField(self) data_field.table_name = self.name data_field.index = len(self.fields) data_field.field_name = field_name data_field.key_field = field['key_field'] data_field.data_type = field['data_type'] data_field.nullable = field['nullable'] data_field.i18n = field['i18n'] data_field.foreign_key = field['foreign_key'] if field.has_key('foreign_attr'): data_field.foreign_attr = field['foreign_attr'] else: data_field.foreign_attr = '' if field.has_key('attribute'): data_field.attribute = field['attribute'] else: data_field.attribute = data_field.field_name # Load the default value AFTER populating the other fields. if field.has_key('default'): data_field.default = field['default'] else: data_field.default = data_field.get_default() self.fields[field_name] = data_field self.field_list.append(field_name) if data_field.key_field==1: self.key_list.append(data_field.field_name) self.select = 'SELECT %s FROM %s' % (string.join(self.field_list, ', '), self.name)
def __getattr__(self, attribute): if attribute == 'documents': return self.dms.document.get_by_keys([['lang', '=', self.code]]) elif attribute == 'i18n': self.i18n = self.dms.language_i18n.get_by_keys( [['code', '=', self.code]]) return self.i18n elif attribute == 'name': name = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] name[i18n.lang] = i18n.name return name else: raise AttributeError('No such attribute %s' % attribute)
def __getattr__(self, attribute): if attribute == 'pages': return self.dms.page.get_by_keys([['section_code', '=', self.code]]) elif attribute == 'static_count': return self.pages.count([['only_dynamic', '=', 0]]) elif attribute == 'nonregistered_count': return self.pages.count([['only_registered', '=', 0]]) elif attribute == 'nonadmin_count': return self.pages.count([['only_admin', '=', 0]]) elif attribute == 'nonsysadmin_count': return self.pages.count([['only_sysadmin', '=', 0]]) elif attribute == 'i18n': self.i18n = self.dms.section_i18n.get_by_keys( [['code', '=', self.code]]) return self.i18n elif attribute == 'name': name = LampadasCollection() for key in self.i18n.keys(): i18n = self.i18n[key] name[i18n.lang] = i18n.name return name else: raise AttributeError('No such attribute %s' % attribute)
def __init__(self): LampadasCollection.__init__(self) self.size = CACHE_UNLIMITED self.hits = 0 self.misses = 0 self.filled = 0