class PurchaseSchema(MappingSchema): db = sqlite() categories = db.getAllCategories() categories = [(cat, cat) for (cat, comment) in categories] availableFlags = ( ('L', 'Ledger'), ) shop = SchemaNode(String(), description = 'Shop') payment_method = SchemaNode( String(), widget=widget.SelectWidget(values=categories), description = 'Bezahlmethode' ) date = SchemaNode(Date(), description = 'Rechnungsdatum') flags = SchemaNode(colander.Set(), widget=widget.CheckboxChoiceWidget(values=availableFlags), ) positions = PositionsSchema() title='Neue Transaktion' def update(self): categories = self.db.getAllCategories() categories = [(cat, cat) for (cat, comment) in categories] self['payment_method'].widget = widget.SelectWidget(values=categories) self['positions'].update()
class DuoVoBoard(MappingSchema): address = general_rules.Address() correspondence_address = general_rules.Address() board_id = general_rules.board_id name = general_rules.name phone = general_rules.phone municipality = general_rules.municipality municipality_code = general_rules.municipality_code administrative_office_id = SchemaNode(Int()) denomination = general_rules.denomination financial_key_indicators_per_year_reference_date = SchemaNode(Date(), missing=True) reference_year = general_rules.reference_year website = general_rules.website vavo_students_reference_url = general_rules.website vavo_students_reference_date = SchemaNode(Date(), missing=True) vavo_students = VavoStudents()
class DuoVoBranch(MappingSchema): address = general_rules.Address() correspondence_address = general_rules.Address() name = general_rules.name branch_id = general_rules.branch_id board_id = general_rules.board_id brin = general_rules.brin corop_area = general_rules.corop_area corop_area_code = general_rules.corop_area_code denomination = general_rules.denomination education_area = general_rules.education_area education_area_code = general_rules.education_area_code education_structures = general_rules.EducationStructures() graduations = Graduations() graduations_reference_date = SchemaNode(Date()) graduations_reference_url = general_rules.reference_url student_residences = StudentResidences() student_residences_reference_date = SchemaNode(Date()) student_residences_reference_url = general_rules.reference_url students_by_structure = StudentsByStructure() municipality = general_rules.municipality municipality_code = general_rules.municipality_code nodal_area = general_rules.nodal_area nodal_area_code = general_rules.nodal_area_code phone = general_rules.phone province = general_rules.province reference_year = general_rules.reference_year rmc_region = general_rules.rmc_region rmc_region_code = general_rules.rmc_region_code rpa_area = general_rules.rpa_area rpa_area_code = general_rules.rpa_area_code website = general_rules.url wgr_area = general_rules.wgr_area wgr_area_code = general_rules.wgr_area_code vavo_students_reference_url = general_rules.website vavo_students_reference_date = SchemaNode(Date(), missing=True) vavo_students = VavoStudents() students_by_finegrained_structure_reference_url = general_rules.website students_by_finegrained_structure_reference_date = SchemaNode(Date(), missing=True) students_by_finegrained_structure = FineGrainedStructureStudents()
class DuoVoSchool(MappingSchema): address = general_rules.Address() correspondence_address = general_rules.Address() board_id = general_rules.board_id brin = general_rules.brin denomination = general_rules.denomination corop_area = general_rules.corop_area corop_area_code = general_rules.corop_area dropouts = Dropouts(missing=True) dropouts_reference_date = SchemaNode(Date(), missing=True) dropouts_reference_url = general_rules.reference_url education_area = general_rules.education_area education_area_code = general_rules.education_area_code education_structures = general_rules.EducationStructures() municipality = general_rules.municipality municipality_code = general_rules.municipality_code nodal_area = general_rules.nodal_area nodal_area_code = general_rules.nodal_area_code phone = general_rules.phone province = general_rules.province reference_year = general_rules.reference_year rmc_region = general_rules.rmc_region rmc_region_code = general_rules.rmc_region_code rpa_area = general_rules.rpa_area rpa_area_code = general_rules.rpa_area_code website = general_rules.url wgr_area = general_rules.wgr_area wgr_area_code = general_rules.wgr_area_code # TODO: #students_prognosis = StudentPrognosis() students_prognosis_reference_date = SchemaNode(Date(), missing=True) students_prognosis_url = general_rules.website vo_lo_collaboration_reference_url = general_rules.website vo_lo_collaboration_reference_date = SchemaNode(Date(), missing=True) vo_lo_collaboration = general_rules.collaboration_id pao_collaboration_reference_url = general_rules.website pao_collaboration_reference_date = SchemaNode(Date(), missing=True) pao_collaboration = general_rules.collaboration_id
class DuoPoSchool(MappingSchema): address = general_rules.Address() correspondence_address = general_rules.Address() board_id = general_rules.board_id brin = general_rules.brin denomination = general_rules.denomination corop_area = general_rules.corop_area corop_area_code = general_rules.corop_area education_area = general_rules.education_area education_area_code = general_rules.education_area_code municipality = general_rules.municipality municipality_code = general_rules.municipality_code name = general_rules.name nodal_area = general_rules.nodal_area nodal_area_code = general_rules.nodal_area_code phone = general_rules.phone province = general_rules.province reference_year = general_rules.reference_year rmc_region = general_rules.rmc_region rmc_region_code = general_rules.rmc_region_code rpa_area = general_rules.rpa_area rpa_area_code = general_rules.rpa_area_code website = general_rules.website wgr_area = general_rules.wgr_area wgr_area_code = general_rules.wgr_area_code spo_students_per_cluster = SPOStudentsPerCluster() spo_students_per_cluster_reference_date = SchemaNode(Date(), missing=True) spo_students_per_cluster_reference_url = general_rules.website po_lo_collaboration_reference_url = general_rules.website po_lo_collaboration_reference_date = SchemaNode(Date(), missing=True) po_lo_collaboration = general_rules.collaboration_id pao_collaboration_reference_url = general_rules.website pao_collaboration_reference_date = SchemaNode(Date(), missing=True) pao_collaboration = general_rules.collaboration_id
class DuoPoBoard(MappingSchema): address = general_rules.Address() correspondence_address = general_rules.Address() board_id = general_rules.board_id name = general_rules.name phone = general_rules.phone municipality = general_rules.municipality municipality_code = general_rules.municipality_code administrative_office_id = SchemaNode(Int()) denomination = general_rules.denomination # TODO: #financial_key_indicators_per_year = FinancialKeyIndicatorsPerYear() financial_key_indicators_per_year_reference_date = SchemaNode(Date(), missing=True) financial_key_indicators_per_year_url = general_rules.website reference_year = general_rules.reference_year website = general_rules.website
class DatesSchema(SequenceSchema): date = SchemaNode(Date())
nodal_area = lambda **kwargs: SchemaNode( String(), validator=Length(min=3, max=300), **kwargs) nodal_area_code = lambda **kwargs: SchemaNode(Int(), **kwargs) rmc_region = lambda **kwargs: SchemaNode( String(), validator=Length(min=3, max=300), **kwargs) rmc_region_code = lambda **kwargs: SchemaNode(Int(), **kwargs) rpa_area = lambda **kwargs: SchemaNode( String(), validator=Length(min=3, max=300), **kwargs) rpa_area_code = lambda **kwargs: SchemaNode(Int(), **kwargs) wgr_area = lambda **kwargs: SchemaNode( String(), validator=Length(min=3, max=300), **kwargs) wgr_area_code = lambda **kwargs: SchemaNode(Int(), **kwargs) city = lambda **kwargs: SchemaNode( String(), validator=Length(min=3, max=300), **kwargs) publication_date = lambda **kwargs: SchemaNode( Date(), validator=date_today_or_earlier, **kwargs) url = lambda **kwargs: SchemaNode(String(), validator=colander.url, **kwargs) class Coordinates(MappingSchema): lat = SchemaNode(Float(), validator=Range(min=-180.0, max=180.0)) lon = SchemaNode(Float(), validator=Range(min=-180.0, max=180.0)) class Viewport(MappingSchema): northeast = Coordinates() southwest = Coordinates() class Address(MappingSchema): """
class DuoPoBranch(MappingSchema): address = general_rules.Address() # TODO: #ages_per_branch_by_student_weight = AgesPerBranchByStudentWeight() ages_per_branch_by_student_weight_reference_date = SchemaNode(Date(), missing=True) ages_per_branch_by_student_weight_reference_url = general_rules.website correspondence_address = general_rules.Address() name = general_rules.name branch_id = general_rules.branch_id board_id = general_rules.board_id brin = general_rules.brin corop_area = general_rules.corop_area corop_area_code = general_rules.corop_area_code denomination = general_rules.denomination education_area = general_rules.education_area education_area_code = general_rules.education_area_code municipality = general_rules.municipality municipality_code = general_rules.municipality_code nodal_area = general_rules.nodal_area nodal_area_code = general_rules.nodal_area_code phone = general_rules.phone province = general_rules.province # TODO: #pupils_by_origins = PupilsByOrigins() pupils_by_origins_reference_date = SchemaNode(Date(), missing=True) pupils_by_origins_reference_url = general_rules.website # TODO: #pupil_residences = PupilResidences() pupil_residences_reference_date = SchemaNode(Date(), missing=True) pupil_residences_reference_url = general_rules.website reference_year = general_rules.reference_year rmc_region = general_rules.rmc_region rmc_region_code = general_rules.rmc_region_code rpa_area = general_rules.rpa_area rpa_area_code = general_rules.rpa_area_code website = general_rules.url # TODO: #weights_per_school = WeightsPerSchool() weights_per_school_reference_date = SchemaNode(Date(), missing=True) weights_per_school_reference_url = general_rules.website wgr_area = general_rules.wgr_area wgr_area_code = general_rules.wgr_area_code # TODO: #student_year = StudentsByYear() student_year_reference_date = SchemaNode(Date(), missing=True) student_year_reference_url = general_rules.website spo_law = SchemaNode(String(), validator=Length(min=2, max=4)) spo_edu_type = SchemaNode(String()) # possibly multiple with slash spo_cluster = SchemaNode(Int(), validator=Range(min=0, max=4)) spo_students_by_birthyear_reference_url = general_rules.website spo_students_by_birthyear_reference_date = SchemaNode(Date(), missing=True) spo_students_by_birthyear = SPOStudentsByBirthyear() spo_students_by_edu_type_reference_url = general_rules.website spo_students_by_edu_type_reference_date = SchemaNode(Date(), missing=True) spo_students_by_edu_type = SPOStudentsByEduType() students_by_advice_reference_url = general_rules.website students_by_advice_reference_date = SchemaNode(Date(), missing=True) students_by_advice = StudentsByAdvice()
class ElasticSearchQuery(MappingSchema): start = SchemaNode(Date(), location='body', type='datetime.datetime') end = SchemaNode(Date(), location='body', type='datetime.datetime') names = SchemaNode(Seq(), location='body')
def __init__(self, title, name, round=1, missing='', widget=None, mapinit=None, processing_form=None, desc=None, table_reduce=False, rank=0, required=False, missing_msg='champ requis', primary_key=False): # Form display self.title = title self.name = name self.type = str self.required = required self.missing_msg = missing_msg self.missing = missing self.desc = desc if widget is None: self.widget = DateInputWidget( **{'key': '{}-date'.format(self.name)}) self.mapinit = {'date': None} processing_form = lambda x: pd.Timestamp(x['date']) else: self.widget = widget self.mapinit = mapinit self.round = round # Db column self.dbcol_ = (name, Colsql(Strsql(250), primary_key=primary_key)) # table display self.table_reduce, self.rank, = table_reduce, rank # Processing self.processing_form = { 'form': processing_form, 'db': lambda x: pd.Timestamp(x).date() } self.processing_db = { 'upload': lambda x: str(pd.Timestamp(x).date()), 'download': lambda x: str(x) } self.sn = sn(Date(), title=self.title, name=name, widget=self.widget, description=desc, required=self.required, missing_msg=self.missing_msg) if not required: self.sn.missing = missing
class DateRangeSchema(TupleSchema): """Dates range schema type""" after = SchemaNode(Date(), title=_("Range beginning date"), missing=null) before = SchemaNode(Date(), title=_("Range ending date (excluded)"), missing=null)
reference_url = url year = SchemaNode(Int(), validator=Range(min=1990, max=datetime.now().year)) corop_area = SchemaNode(String(), validator=Length(min=3, max=300)) corop_area_code = SchemaNode(Int()) education_area = SchemaNode(String(), validator=Length(min=5, max=100)) education_area_code = SchemaNode(Int()) nodal_area = SchemaNode(String(), validator=Length(min=3, max=300)) nodal_area_code = SchemaNode(Int()) rmc_region = SchemaNode(String(), validator=Length(min=3, max=300)) rmc_region_code = SchemaNode(Int()) rpa_area = SchemaNode(String(), validator=Length(min=3, max=300)) rpa_area_code = SchemaNode(Int()) wgr_area = SchemaNode(String(), validator=Length(min=3, max=300)) wgr_area_code = SchemaNode(Int()) city = SchemaNode(String(), validator=Length(min=3, max=300)) publication_date = SchemaNode(Date(), validator=date_today_or_earlier) class Coordinates(MappingSchema): lat = SchemaNode(Float(), validator=Range(min=-180.0, max=180.0)) lon = SchemaNode(Float(), validator=Range(min=-180.0, max=180.0)) class Viewport(MappingSchema): northeast = Coordinates() southwest = Coordinates() class AddressComponentTypes(SequenceSchema): address_type = SchemaNode(String(), validator=Length(min=4, max=100))