2011 by AG DSN.
This is the “backend” package, and as such mainly contains
things related to the pycroft business logic (i.e., pycroft.lib)
a definition of the database model (i.e., pycroft.model).
In particular, this means that at no point should there be any dependencies to flask or
other frontend-specific libraries.
UTCTZInfoFactoryUTCTZInfoCursorFactorycreate_engine()create_db_model()drop_db_model()Address
ModelBase
MappedAsDataclassIntegerIdModel
ConfigConfig.member_group_idConfig.member_groupConfig.network_access_group_idConfig.network_access_groupConfig.violation_group_idConfig.violation_groupConfig.external_group_idConfig.external_groupConfig.blocked_group_idConfig.blocked_groupConfig.caretaker_group_idConfig.caretaker_groupConfig.treasurer_group_idConfig.treasurer_groupConfig.pre_member_group_idConfig.pre_member_groupConfig.traffic_limit_exceeded_group_idConfig.traffic_limit_exceeded_groupConfig.payment_in_default_group_idConfig.payment_in_default_groupConfig.membership_fee_account_idConfig.membership_fee_accountConfig.membership_fee_bank_account_idConfig.membership_fee_bank_accountConfig.non_attributable_transactions_account_idConfig.non_attributable_transactions_accountConfig.fints_product_idConfig.idcompile_if_clause()DropConstraintvisit_drop_constraint()LazilyComiledDefDescriptorFunction
CreateFunction
DropFunctionvisit_create_function()visit_drop_function()Rule
CreateRule
DropRule
visit_create_rule()visit_drop_rule()Trigger
ConstraintTrigger
CreateTrigger
CreateConstraintTrigger
DropTrigger
create_add_constraint_trigger()create_add_trigger()visit_drop_trigger()View
CreateView
DropView
visit_create_view()visit_drop_view()DDLManager
PycroftModelExceptionSite
Building
RoomRoom.numberRoom.levelRoom.inhabitableRoom.building_idRoom.buildingRoom.address_idRoom.addressRoom.swdd_vo_suchnameRoom.connected_patch_portsRoom.users_sharing_addressRoom.usersRoom.hostsRoom.room_history_entriesRoom.log_entriesRoom.patch_portsRoom.tenanciesRoom.short_nameRoom.level_and_numberRoom.is_switch_roomRoom.latest_log_entryRoom.idMembershipFee
Semester
Account
AccountPattern
Transaction
Split
IllegalTransactionErrorcheck_transaction_on_save()check_split_on_update()BankAccountBankAccount.nameBankAccount.bankBankAccount.ownerBankAccount.account_numberBankAccount.routing_numberBankAccount.ibanBankAccount.bicBankAccount.fints_endpointBankAccount.account_idBankAccount.accountBankAccount.activitiesBankAccount.mt940_errorsBankAccount.balanceBankAccount.last_imported_atBankAccount.idBankAccountActivityBankAccountActivity.bank_account_idBankAccountActivity.bank_accountBankAccountActivity.amountBankAccountActivity.referenceBankAccountActivity.other_account_numberBankAccountActivity.other_routing_numberBankAccountActivity.other_nameBankAccountActivity.imported_atBankAccountActivity.posted_onBankAccountActivity.valid_onBankAccountActivity.transaction_idBankAccountActivity.transactionBankAccountActivity.account_idBankAccountActivity.accountBankAccountActivity.splitBankAccountActivity.matching_patternsBankAccountActivity.idMT940Error
greatest
least
sign
compile_default_function()compile_sqlite_greatest()compile_sqlite_least()compile_sqlite_sign()Host
Switch
MulticastFlagException
TypeMismatchInterface
SwitchPort
IP
LogEntry
TaskLogEntry
UserLogEntry
RoomLogEntry
VLAN
Subnet
PatchPort
evaluate_properties()CurrentProperty
NullScopedSession
set_scoped_session()with_transaction()utcnow()current_timestamp()TenancyStatus
RentalObjectRentalObject.vo_idRentalObject.suchnameRentalObject.nameRentalObject.voart_idRentalObject.nutzungsart_idRentalObject.nutzbarvonRentalObject.nutzbarbisRentalObject.statusRentalObject.wohneim_idRentalObject.wohneim_suchnameRentalObject.wohneim_nameRentalObject.stockwerk_idRentalObject.stockwerkRentalObject.stockwerk_nameRentalObject.haus_idRentalObject.haus_nameTenancy
TaskType
TaskStatus
Task
UserTask
TaskParamshandle_validation_error()UserMoveOutSchema
UserMoveOutParams
UserMoveSchema
UserMoveParams
UserMoveInSchema
UserMoveInParams
TrafficVolume
traffic_history_query()traffic_history()TrafficHistoryEntryIPAddress
IPNetwork
MACAddress
Money
TsTzRange
InvalidMACAddressExceptionDateTimeTzUnixAccount
UnixTombstone
check_unix_tombstone_lifecycle_funcunix_account_ensure_tombstone_funcensure_tombstonecheck_tombstone_consistencyIllegalLoginErrorIllegalEmailErrorBaseUserBaseUser.loginBaseUser.login_hashBaseUser.nameBaseUser.registered_atBaseUser.passwd_hashBaseUser.emailBaseUser.email_confirmedBaseUser.email_confirmation_keyBaseUser.birthdateBaseUser.swdd_person_idBaseUser.room_idBaseUser.login_regexBaseUser.login_regex_ciBaseUser.email_regexBaseUser.blocked_loginsBaseUser.login_character_limitBaseUser.validate_login()BaseUser.validate_email()BaseUser.validate_passwd_hash()BaseUser.check_password()BaseUser.passwordUserUser.wifi_passwd_hashUser.account_idUser.accountUser.tombstoneUser.unix_account_idUser.unix_accountUser.address_idUser.addressUser.roomUser.email_forwardedUser.password_reset_tokenUser.membershipsUser.room_history_entriesUser.hostsUser.mpsk_clientsUser.authored_log_entriesUser.log_entriesUser.task_log_entriesUser.tenanciesUser.tasksUser.traffic_volumesUser.has_custom_addressUser.validate_login()User.property_groupsUser.traffic_for_days()User.current_propertiesUser.current_properties_maybe_deniedUser.current_properties_setUser.latest_log_entryUser.wifi_passwordUser.has_wifi_accessUser.verify_and_get()User.current_membershipsUser.active_memberships()User.active_property_groups()User.member_of()User.has_property()User.permission_levelUser.email_internalUser.birthdateUser.emailUser.email_confirmation_keyUser.email_confirmedUser.idUser.loginUser.login_hashUser.nameUser.passwd_hashUser.registered_atUser.room_idUser.swdd_person_idcreate_pgcrypto()Group
Membership
create_btree_gist()PropertyGroup
Property
RoomHistoryEntry
PreMemberPreMember.loginPreMember.emailPreMember.email_confirmation_keyPreMember.email_confirmedPreMember.idPreMember.login_hashPreMember.move_in_datePreMember.namePreMember.registered_atPreMember.room_idPreMember.swdd_person_idPreMember.previous_dormPreMember.birthdatePreMember.passwd_hashPreMember.roomPreMember.tenanciesPreMember.is_adultWebStorage
get_or_create_address()PycroftLibExceptionRoomAlreadyExistsExceptionget_overcrowded_rooms()similar_rooms_query()create_room()edit_room()get_room()RoomAddressSuggestion
suggest_room_address_data()sort_buildings()determine_building()user_has_paid()get_typed_splits()get_transaction_type()get_last_import_date()import_newer_than_days()get_system_accounts()get_accounts_by_type()get_all_bank_accounts()get_unassigned_bank_account_activities()get_all_mt940_errors()change_mac()generate_hostname()host_create()host_edit()migrate_host()host_delete()interface_create()interface_edit()interface_delete()sort_ports()get_conflicting_interface()setup_ipv4_networking()PatchPortAlreadyPatchedExceptionPatchPortAlreadyExistsExceptioncreate_patch_port()edit_patch_port()delete_patch_port()patch_switch_port_to_patch_port()remove_patch_to_patch_port()create_switch_port()edit_switch_port()delete_switch_port()edit_switch()create_switch()delete_switch()log_event()log_task_event()log_user_event()log_room_event()Mail
MailTemplate
compose_mail()RetryableExceptionsend_mails()UserConfirmEmailTemplate
UserResetPasswordTemplate
UserMovedInTemplate
UserCreatedTemplate
MemberRequestPendingTemplate
MemberRequestDeniedTemplate
MemberRequestMergedTemplate
TaskFailedTemplate
MemberNegativeBalance
send_template_mails()MailConfig
known_properties()grant_property()deny_property()remove_property()make_member_of()remove_member_of()delete_membership()edit_property_group()delete_property_group()user_memberships_query()change_membership_active_during()SubnetFullExceptionMacExistsExceptionget_free_ip()get_subnets_for_room()calculate_max_ips()SubnetUsage
get_subnets_with_usage()delete_ip()user_search_query()OverviewStats
overview_stats()get_swdd_person_id()get_relevant_tenancies()get_first_tenancy_with_room()TaskImpl
UserTaskImpl
UserMoveOutTaskImpl
UserMoveTaskImpl
UserMoveInTaskImpl
get_task_implementation()schedule_user_task()get_active_tasks_by_type()get_scheduled_tasks()cancel_task()manually_execute_task()reschedule_task()UserTrafficInfo
get_users_with_highest_traffic()delete_old_traffic_data()ArchivableMemberInfo
get_archivable_members()get_invalidated_archive_memberships()diff_month()last_day_of_month()digits()ErrorCode
DigitSumModNCode
Mod97Code
get_locale()set_translation_lookup()Message
localized()gettext()dngettext()ngettext()dgettext()deferred_gettext()deferred_dngettext()deferred_ngettext()deferred_dgettext()get_locale()get_translations()set_locale_lookup()set_translation_lookup()gettext()dgettext()ngettext()dngettext()deferred_gettext()deferred_dgettext()deferred_ngettext()deferred_dngettext()FormattableFormatterformat_number()format_decimal()format_currency()format_date()format_datetime()format_time()format_timedelta()format_bool()format_none()format_interval()identity()format_param()Message
ErroneousMessage
SimpleMessage
NumericalMessage
identity()deserialize_money()serialize_interval()deserialize_interval()serialize_param()deserialize_param()Moneyqualified_typename()PositiveInfinityPositiveInfinityTypeNegativeInfinityNegativeInfinityTypeBound
IntervalInterval.from_explicit_data()Interval.lower_boundInterval.upper_boundInterval.beginInterval.endInterval.unboundedInterval.emptyInterval.lengthInterval.strictly_before()Interval.before()Interval.strictly_after()Interval.after()Interval.meets()Interval.strictly_overlaps()Interval.overlaps()Interval.strictly_during()Interval.during()Interval.strictly_contains()Interval.contains()Interval.starts()Interval.finishes()Interval.intersect()Interval.join()Interval.closureInterval.map()closed()closedopen()starting_from()openclosed()open()single()empty()UnboundedIntervalIntervalSet
mac_regexip_regexport_name_sort_key()reverse_pointer()get_interface_manufacturer()generate_password()hash_password()cleartext_password()verify_password()login_hash()generate_random_str()TimeTzDateTimeTzDateTimeNoTztime_min()time_max()datetime_min()datetime_max()ensure_tz()with_min_time()with_max_time()safe_combine()ensure_tzinfo()combine_ensure_tzinfo()combine_or_midnight()This module defines celery tasks to run tasks
(as persisted in the database by means of pycroft.model.task)
by using implementations as defined in pycroft.lib.task
(see TaskImpl).
Base class for tasks which use the database.
Handler called after the task returns.
status (str): Current task state. retval (Any): Task return value/exception. task_id (str): Unique id of the task. args (Tuple): Original arguments for the task. kwargs (Dict): Original keyword arguments for the task. einfo (~billiard.einfo.ExceptionInfo): Exception information.
None: The return value of this handler is ignored.