예제 #1
0
 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)
예제 #2
0
파일: license.py 프로젝트: dnessorga/LDP
 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)
예제 #3
0
    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
예제 #4
0
파일: datamanagers.py 프로젝트: Fat-Zer/LDP
    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
예제 #5
0
 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)
예제 #6
0
 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)
예제 #7
0
 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)
예제 #8
0
 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)
예제 #9
0
    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)
예제 #10
0
파일: base.py 프로젝트: Fat-Zer/LDP
    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)
예제 #11
0
 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)
예제 #12
0
파일: section.py 프로젝트: dnessorga/LDP
 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)
예제 #13
0
파일: cache.py 프로젝트: Fat-Zer/LDP
 def __init__(self):
     LampadasCollection.__init__(self)
     self.size   = CACHE_UNLIMITED 
     self.hits   = 0
     self.misses = 0
     self.filled = 0
예제 #14
0
파일: cache.py 프로젝트: dnessorga/LDP
 def __init__(self):
     LampadasCollection.__init__(self)
     self.size = CACHE_UNLIMITED
     self.hits = 0
     self.misses = 0
     self.filled = 0