fnschool 20250109.80531.837__py3-none-any.whl → 20251011.81638.854__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of fnschool might be problematic. Click here for more details.
- fnschoo1/__init__.py +53 -0
- fnschoo1/canteen/admin.py +3 -0
- fnschoo1/canteen/apps.py +6 -0
- fnschoo1/canteen/forms.py +84 -0
- fnschoo1/canteen/migrations/0001_initial.py +119 -0
- fnschoo1/canteen/migrations/0002_ingredient_is_disabled.py +20 -0
- fnschoo1/canteen/migrations/0003_consumption_is_disabled_alter_ingredient_is_disabled.py +23 -0
- fnschoo1/canteen/migrations/0004_alter_ingredient_name_category_and_more.py +66 -0
- fnschoo1/canteen/migrations/0005_alter_category_created_at_alter_category_name_and_more.py +41 -0
- fnschoo1/canteen/migrations/0006_category_is_disabled_alter_category_user_and_more.py +49 -0
- fnschoo1/canteen/migrations/0007_alter_consumption_amount_used_and_more.py +30 -0
- fnschoo1/canteen/migrations/0008_category_abbreviation_mealtype.py +67 -0
- fnschoo1/canteen/migrations/0009_alter_category_abbreviation_and_more.py +55 -0
- fnschoo1/canteen/migrations/0010_alter_consumption_options_alter_ingredient_options_and_more.py +215 -0
- fnschoo1/canteen/migrations/0011_category_pin_to_consumptions_top.py +23 -0
- fnschoo1/canteen/migrations/0012_alter_ingredient_storage_date.py +18 -0
- fnschoo1/canteen/models.py +179 -0
- fnschoo1/canteen/templates/canteen/category/create.html +17 -0
- fnschoo1/canteen/templates/canteen/category/delete.html +61 -0
- fnschoo1/canteen/templates/canteen/category/list.html +63 -0
- fnschoo1/canteen/templates/canteen/category/update.html +23 -0
- fnschoo1/canteen/templates/canteen/close.html +11 -0
- fnschoo1/canteen/templates/canteen/consumption/_create.html +19 -0
- fnschoo1/canteen/templates/canteen/consumption/create.html +456 -0
- fnschoo1/canteen/templates/canteen/ingredient/close.html +11 -0
- fnschoo1/canteen/templates/canteen/ingredient/create.html +19 -0
- fnschoo1/canteen/templates/canteen/ingredient/create_one.html +17 -0
- fnschoo1/canteen/templates/canteen/ingredient/delete.html +41 -0
- fnschoo1/canteen/templates/canteen/ingredient/list.html +128 -0
- fnschoo1/canteen/templates/canteen/ingredient/update.html +23 -0
- fnschoo1/canteen/templates/canteen/meal_type/create.html +17 -0
- fnschoo1/canteen/templates/canteen/meal_type/delete.html +56 -0
- fnschoo1/canteen/templates/canteen/meal_type/list.html +59 -0
- fnschoo1/canteen/templates/canteen/meal_type/update.html +23 -0
- fnschoo1/canteen/tests.py +3 -0
- fnschoo1/canteen/urls.py +116 -0
- fnschoo1/canteen/views.py +814 -0
- fnschoo1/canteen/workbook/generate.py +2098 -0
- fnschoo1/db.sqlite3 +0 -0
- fnschoo1/fnschool/__init__.py +13 -0
- fnschoo1/fnschool/asgi.py +16 -0
- fnschoo1/fnschool/settings.py +167 -0
- fnschoo1/fnschool/templatetags/fnschool_tags.py +27 -0
- fnschoo1/fnschool/urls.py +30 -0
- fnschoo1/fnschool/views.py +9 -0
- fnschoo1/fnschool/wsgi.py +16 -0
- fnschoo1/locale/en/LC_MESSAGES/django.mo +0 -0
- fnschoo1/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- fnschoo1/manage.py +25 -0
- fnschoo1/profiles/admin.py +27 -0
- fnschoo1/profiles/apps.py +12 -0
- fnschoo1/profiles/forms.py +67 -0
- fnschoo1/profiles/migrations/0001_initial.py +192 -0
- fnschoo1/profiles/migrations/0002_alter_profile_bio.py +20 -0
- fnschoo1/profiles/migrations/0003_alter_profile_options_alter_profile_address_and_more.py +67 -0
- fnschoo1/profiles/migrations/0004_profile_gender.py +26 -0
- fnschoo1/profiles/migrations/0005_alter_profile_gender.py +23 -0
- fnschoo1/profiles/models.py +60 -0
- fnschoo1/profiles/signals.py +20 -0
- fnschoo1/profiles/templates/profiles/create.html +16 -0
- fnschoo1/profiles/templates/profiles/detail.html +14 -0
- fnschoo1/profiles/templates/profiles/edit.html +12 -0
- fnschoo1/profiles/templates/profiles/log_in.html +20 -0
- fnschoo1/profiles/templates/profiles/log_out.html +12 -0
- fnschoo1/profiles/tests.py +3 -0
- fnschoo1/profiles/urls.py +15 -0
- fnschoo1/profiles/views.py +63 -0
- fnschoo1/static/css/bootstrap.min.css +11776 -0
- fnschoo1/static/css/fnschool.css +26 -0
- fnschoo1/static/images/favicon.ico +0 -0
- fnschoo1/static/js/bootstrap.bundle.min.js +4223 -0
- fnschoo1/static/js/bootstrap.min.js +2919 -0
- fnschoo1/static/js/fnschool.js +84 -0
- fnschoo1/static/js/jquery.min.js +5413 -0
- fnschoo1/static/js/jquery.slim.min.js +4331 -0
- fnschoo1/static/js/popper.min.js +1306 -0
- fnschoo1/static_collected/admin/css/autocomplete.css +377 -0
- fnschoo1/static_collected/admin/css/base.css +1224 -0
- fnschoo1/static_collected/admin/css/changelists.css +334 -0
- fnschoo1/static_collected/admin/css/dark_mode.css +136 -0
- fnschoo1/static_collected/admin/css/dashboard.css +30 -0
- fnschoo1/static_collected/admin/css/forms.css +546 -0
- fnschoo1/static_collected/admin/css/login.css +62 -0
- fnschoo1/static_collected/admin/css/nav_sidebar.css +145 -0
- fnschoo1/static_collected/admin/css/responsive.css +1043 -0
- fnschoo1/static_collected/admin/css/responsive_rtl.css +84 -0
- fnschoo1/static_collected/admin/css/rtl.css +311 -0
- fnschoo1/static_collected/admin/css/vendor/select2/select2.css +708 -0
- fnschoo1/static_collected/admin/css/vendor/select2/select2.min.css +1 -0
- fnschoo1/static_collected/admin/css/widgets.css +639 -0
- fnschoo1/static_collected/admin/js/SelectBox.js +128 -0
- fnschoo1/static_collected/admin/js/SelectFilter2.js +503 -0
- fnschoo1/static_collected/admin/js/actions.js +232 -0
- fnschoo1/static_collected/admin/js/admin/DateTimeShortcuts.js +496 -0
- fnschoo1/static_collected/admin/js/admin/RelatedObjectLookups.js +276 -0
- fnschoo1/static_collected/admin/js/autocomplete.js +33 -0
- fnschoo1/static_collected/admin/js/calendar.js +251 -0
- fnschoo1/static_collected/admin/js/cancel.js +29 -0
- fnschoo1/static_collected/admin/js/change_form.js +21 -0
- fnschoo1/static_collected/admin/js/collapse.js +43 -0
- fnschoo1/static_collected/admin/js/core.js +174 -0
- fnschoo1/static_collected/admin/js/filters.js +37 -0
- fnschoo1/static_collected/admin/js/inlines.js +439 -0
- fnschoo1/static_collected/admin/js/jquery.init.js +8 -0
- fnschoo1/static_collected/admin/js/nav_sidebar.js +81 -0
- fnschoo1/static_collected/admin/js/popup_response.js +24 -0
- fnschoo1/static_collected/admin/js/prepopulate.js +43 -0
- fnschoo1/static_collected/admin/js/prepopulate_init.js +20 -0
- fnschoo1/static_collected/admin/js/theme.js +57 -0
- fnschoo1/static_collected/admin/js/urlify.js +529 -0
- fnschoo1/static_collected/admin/js/vendor/jquery/jquery.js +10913 -0
- fnschoo1/static_collected/admin/js/vendor/jquery/jquery.min.js +2 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/af.js +43 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ar.js +36 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/az.js +33 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/bg.js +38 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/bn.js +39 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/bs.js +48 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ca.js +41 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/cs.js +62 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/da.js +37 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/de.js +41 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/dsb.js +51 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/el.js +43 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/en.js +41 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/es.js +41 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/et.js +38 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/eu.js +45 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/fa.js +42 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/fi.js +42 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/fr.js +43 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/gl.js +40 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/he.js +44 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/hi.js +40 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/hr.js +45 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/hsb.js +51 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/hu.js +44 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/hy.js +40 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/id.js +36 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/is.js +37 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/it.js +43 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ja.js +40 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ka.js +42 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/km.js +38 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ko.js +42 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/lt.js +45 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/lv.js +41 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/mk.js +42 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ms.js +38 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/nb.js +38 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ne.js +44 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/nl.js +46 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/pl.js +43 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ps.js +41 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/pt-BR.js +39 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/pt.js +41 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ro.js +43 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/ru.js +48 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/sk.js +61 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/sl.js +41 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/sq.js +43 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/sr-Cyrl.js +48 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/sr.js +48 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/sv.js +40 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/th.js +36 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/tk.js +36 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/tr.js +40 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/uk.js +59 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/vi.js +37 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/zh-CN.js +36 -0
- fnschoo1/static_collected/admin/js/vendor/select2/i18n/zh-TW.js +33 -0
- fnschoo1/static_collected/admin/js/vendor/select2/select2.full.js +7115 -0
- fnschoo1/static_collected/admin/js/vendor/select2/select2.full.min.js +2 -0
- fnschoo1/static_collected/admin/js/vendor/xregexp/xregexp.js +4993 -0
- fnschoo1/static_collected/admin/js/vendor/xregexp/xregexp.min.js +160 -0
- fnschoo1/static_collected/css/bootstrap.min.css +11776 -0
- fnschoo1/static_collected/css/fnschool.css +26 -0
- fnschoo1/static_collected/images/favicon.ico +0 -0
- fnschoo1/static_collected/js/bootstrap.bundle.min.js +4223 -0
- fnschoo1/static_collected/js/bootstrap.min.js +2919 -0
- fnschoo1/static_collected/js/fnschool.js +84 -0
- fnschoo1/static_collected/js/jquery.min.js +5413 -0
- fnschoo1/static_collected/js/jquery.slim.min.js +4331 -0
- fnschoo1/static_collected/js/popper.min.js +1306 -0
- fnschoo1/templates/base/_css.html +1 -0
- fnschoo1/templates/base/_js.html +15 -0
- fnschoo1/templates/base/content.html +30 -0
- fnschoo1/templates/base/header_content_footer.html +35 -0
- fnschoo1/templates/close.html +11 -0
- fnschoo1/templates/home.html +51 -0
- fnschoo1/templates/includes/_footer.html +39 -0
- fnschoo1/templates/includes/_header.html +77 -0
- fnschoo1/templates/includes/_navigation.html +0 -0
- fnschoo1/templates/includes/_paginator.html +27 -0
- fnschoo1/templates/registration/logged_out.html +0 -0
- fnschoo1/templates/registration/login.html +0 -0
- fnschool-20251011.81638.854.dist-info/METADATA +179 -0
- fnschool-20251011.81638.854.dist-info/RECORD +209 -0
- {fnschool-20250109.80531.837.dist-info → fnschool-20251011.81638.854.dist-info}/WHEEL +1 -1
- fnschool-20251011.81638.854.dist-info/entry_points.txt +2 -0
- fnschool-20251011.81638.854.dist-info/top_level.txt +1 -0
- fnschool/__init__.py +0 -35
- fnschool/__main__.py +0 -16
- fnschool/app.py +0 -103
- fnschool/canteen/__init__.py +0 -3
- fnschool/canteen/__main__.py +0 -3
- fnschool/canteen/bill.py +0 -253
- fnschool/canteen/canteen.py +0 -1
- fnschool/canteen/canteen.toml +0 -61
- fnschool/canteen/config.py +0 -10
- fnschool/canteen/consuming.py +0 -53
- fnschool/canteen/currency.py +0 -17
- fnschool/canteen/data/bill.i18n.xlsx +0 -0
- fnschool/canteen/data/bill.xlsx +0 -0
- fnschool/canteen/data/consuming.xlsx +0 -0
- fnschool/canteen/data/purchase_list.xlsx +0 -0
- fnschool/canteen/entry.py +0 -40
- fnschool/canteen/food.py +0 -206
- fnschool/canteen/food_classes.py +0 -33
- fnschool/canteen/food_classes.toml +0 -64
- fnschool/canteen/operator.py +0 -91
- fnschool/canteen/path.py +0 -28
- fnschool/canteen/spreadsheet/base.py +0 -213
- fnschool/canteen/spreadsheet/consuming.py +0 -310
- fnschool/canteen/spreadsheet/consumingsum.py +0 -76
- fnschool/canteen/spreadsheet/cover.py +0 -64
- fnschool/canteen/spreadsheet/ctspreadsheet.py +0 -351
- fnschool/canteen/spreadsheet/food.py +0 -680
- fnschool/canteen/spreadsheet/inventory.py +0 -375
- fnschool/canteen/spreadsheet/merging.py +0 -340
- fnschool/canteen/spreadsheet/preconsuming.py +0 -329
- fnschool/canteen/spreadsheet/purchasing.py +0 -885
- fnschool/canteen/spreadsheet/purchasingsum.py +0 -110
- fnschool/canteen/spreadsheet/spreadsheet.py +0 -363
- fnschool/canteen/spreadsheet/translating.py +0 -12
- fnschool/canteen/spreadsheet/unwarehousing.py +0 -178
- fnschool/canteen/spreadsheet/unwarehousingsum.py +0 -11
- fnschool/canteen/spreadsheet/warehousing.py +0 -360
- fnschool/canteen/spreadsheet/workbook.py +0 -17
- fnschool/canteen/test.py +0 -97
- fnschool/config.py +0 -48
- fnschool/entry.py +0 -67
- fnschool/exam/__init__.py +0 -8
- fnschool/exam/data/parental_emails.xlsx +0 -0
- fnschool/exam/data/score.xlsx +0 -0
- fnschool/exam/email.py +0 -349
- fnschool/exam/entry.py +0 -36
- fnschool/exam/language.py +0 -19
- fnschool/exam/path.py +0 -24
- fnschool/exam/score.py +0 -1191
- fnschool/exam/subject.py +0 -20
- fnschool/exam/teacher.py +0 -54
- fnschool/external.py +0 -89
- fnschool/games/__init__.py +0 -1
- fnschool/games/__main__.py +0 -1
- fnschool/games/games.py +0 -1
- fnschool/inoutput.py +0 -97
- fnschool/language.py +0 -40
- fnschool/locales/en_US/LC_MESSAGES/fnschool.mo +0 -0
- fnschool/locales/zh_CN/LC_MESSAGES/fnschool.mo +0 -0
- fnschool/locales/zh_HK/LC_MESSAGES/fnschool.mo +0 -0
- fnschool/locales/zh_SG/LC_MESSAGES/fnschool.mo +0 -0
- fnschool/locales/zh_TW/LC_MESSAGES/fnschool.mo +0 -0
- fnschool/path.py +0 -45
- fnschool/test.py +0 -24
- fnschool/user.py +0 -262
- fnschool-20250109.80531.837.dist-info/METADATA +0 -342
- fnschool-20250109.80531.837.dist-info/RECORD +0 -78
- fnschool-20250109.80531.837.dist-info/entry_points.txt +0 -5
- fnschool-20250109.80531.837.dist-info/top_level.txt +0 -1
- /fnschool/canteen/consume.py → /fnschoo1/canteen/__init__.py +0 -0
- /fnschool/canteen/food_recount.toml → /fnschoo1/canteen/migrations/__init__.py +0 -0
- {fnschool/canteen/spreadsheet → fnschoo1/canteen/workbook}/__init__.py +0 -0
- /fnschool/exam/__main__.py → /fnschoo1/fnschool/templatetags/__init__.py +0 -0
- /fnschool/canteen/food_recounts.toml → /fnschoo1/profiles/__init__.py +0 -0
- /fnschool/canteen/warehouse.py → /fnschoo1/profiles/migrations/__init__.py +0 -0
- /fnschool/canteen/workbook.toml → /fnschoo1/templates/base/_content.html +0 -0
- {fnschool-20250109.80531.837.dist-info → fnschool-20251011.81638.854.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
fnschoo1/__init__.py,sha256=SyhXJUBZ7HpyD6VQ10ufinShfFa7WaTji9oKLgx0g8g,1506
|
|
2
|
+
fnschoo1/db.sqlite3,sha256=NIT80L1t2xuniUDl0r2VESJ1vJmDvvZlVZKnsSc-mng,176128
|
|
3
|
+
fnschoo1/manage.py,sha256=pMv0yE2eTcNrgskSHDUdRrnY51iTm1DXg32I8mWDDqw,696
|
|
4
|
+
fnschoo1/canteen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
fnschoo1/canteen/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
|
|
6
|
+
fnschoo1/canteen/apps.py,sha256=zUjM0ZJwHW4i72vOm87QewRlvFQORQo5yb053u4YIGs,146
|
|
7
|
+
fnschoo1/canteen/forms.py,sha256=4Y75VHpnONdN5hM8aShyr7tbQSElLa-22PQK7fDRflw,2296
|
|
8
|
+
fnschoo1/canteen/models.py,sha256=20r24iNJW0hmPwhY96pQLYaIgqf8kc_Tx76IqORR_LE,5219
|
|
9
|
+
fnschoo1/canteen/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
10
|
+
fnschoo1/canteen/urls.py,sha256=4GtrqC9L59c8zopfjRgqhbcvA5iPnGcAUVuM6CrKWpk,2797
|
|
11
|
+
fnschoo1/canteen/views.py,sha256=4zzDoaMNRWJ0FseZOIJFhQiDLxx6AnJUK5w6-M4o7FU,26184
|
|
12
|
+
fnschoo1/canteen/migrations/0001_initial.py,sha256=IHlyfT9sNc-kRQZy7NyjgWzp4EGus405QCAUw4oNdAQ,3943
|
|
13
|
+
fnschoo1/canteen/migrations/0002_ingredient_is_disabled.py,sha256=j8oGWb2b99YwsEk-uwESLA_JRITEcz6b35ekoYOUGGc,444
|
|
14
|
+
fnschoo1/canteen/migrations/0003_consumption_is_disabled_alter_ingredient_is_disabled.py,sha256=9RB5SHjINgrrqtDpcVIUXEBa3C_MTcR_keXLGG_PcOs,619
|
|
15
|
+
fnschoo1/canteen/migrations/0004_alter_ingredient_name_category_and_more.py,sha256=b62kB_wODbvNFHi3mBQRYKGuCWfW3shXWWMsrh0DEWA,2042
|
|
16
|
+
fnschoo1/canteen/migrations/0005_alter_category_created_at_alter_category_name_and_more.py,sha256=sUzpYTNgvwUwiwkHP8gxUYWFzh-IoDkJjmfGOdVzQ2I,1277
|
|
17
|
+
fnschoo1/canteen/migrations/0006_category_is_disabled_alter_category_user_and_more.py,sha256=QeUkyilOgDCpO6jWvFJtWDFLlM0z0KlSBmNze23Z0vw,1427
|
|
18
|
+
fnschoo1/canteen/migrations/0007_alter_consumption_amount_used_and_more.py,sha256=vrBYOFnGpFYMsHVGKJ3DdhiYSLvcUPBl0pyrn4KNZMc,855
|
|
19
|
+
fnschoo1/canteen/migrations/0008_category_abbreviation_mealtype.py,sha256=nxQAGc-wsvkSNiql1tqRTJpWc6atzoZe2IkEmtHXFJI,2117
|
|
20
|
+
fnschoo1/canteen/migrations/0009_alter_category_abbreviation_and_more.py,sha256=RGvFViWQjhpbAUaaU-IGEfyZ96SNe7GU3gYitGGWmYc,1733
|
|
21
|
+
fnschoo1/canteen/migrations/0010_alter_consumption_options_alter_ingredient_options_and_more.py,sha256=tG5k-8s2KYfkFHGKxsLXShCvZsO59TFMYl675_fUFao,6997
|
|
22
|
+
fnschoo1/canteen/migrations/0011_category_pin_to_consumptions_top.py,sha256=gonvx7T23KlesYUGFx-WTvkz1BLZSnq0n62qKvtWnUo,553
|
|
23
|
+
fnschoo1/canteen/migrations/0012_alter_ingredient_storage_date.py,sha256=JvU9xrAbGN8uoKHQw00wq6U4CaR_6WojQo-8VwmID3I,436
|
|
24
|
+
fnschoo1/canteen/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
fnschoo1/canteen/templates/canteen/close.html,sha256=pLYeJmGaOEJKMUJdZmYzz_n--l28IRDQ4fXvetP_Vsc,200
|
|
26
|
+
fnschoo1/canteen/templates/canteen/category/create.html,sha256=7Hq62BqEpamDt52_Ut7DTO74_3yEn8_CqXH4e4va6dY,593
|
|
27
|
+
fnschoo1/canteen/templates/canteen/category/delete.html,sha256=MnPyFzjO3HonOljwxGf6r1UzmbFjow7VT6h7YGkxxfk,1709
|
|
28
|
+
fnschoo1/canteen/templates/canteen/category/list.html,sha256=aj81uoA-jmdv8mZT-Y9DxjOHVGrSfI1z0DB1YnJWb4w,2045
|
|
29
|
+
fnschoo1/canteen/templates/canteen/category/update.html,sha256=8Nzdbe8UorrJHzElkrdqvLaPnUvcvGhrViZB4D86wqo,815
|
|
30
|
+
fnschoo1/canteen/templates/canteen/consumption/_create.html,sha256=lpST1R0vL1PEI1YE9d0-bcWWpCMH-INjIF-7pweAHuU,1008
|
|
31
|
+
fnschoo1/canteen/templates/canteen/consumption/create.html,sha256=uqS5rEWdAn3u7L7F4SgpOHK931u60rGMDQAA7IofRlk,14714
|
|
32
|
+
fnschoo1/canteen/templates/canteen/ingredient/close.html,sha256=pLYeJmGaOEJKMUJdZmYzz_n--l28IRDQ4fXvetP_Vsc,200
|
|
33
|
+
fnschoo1/canteen/templates/canteen/ingredient/create.html,sha256=xZvh0tP_cv2HPQ96JSHChO6Ni23tzHc5YJCUhE2yEqM,807
|
|
34
|
+
fnschoo1/canteen/templates/canteen/ingredient/create_one.html,sha256=O8EPSvAnEZ-4VJiwFdoyxJrMOoMpRkH6CyfvWwHaVgc,599
|
|
35
|
+
fnschoo1/canteen/templates/canteen/ingredient/delete.html,sha256=w1GK8vLTTBz4xolFce6ITZMNeBgv-XgMx9dkOykE8-A,1211
|
|
36
|
+
fnschoo1/canteen/templates/canteen/ingredient/list.html,sha256=b3FC5bcprUau-TtRPdBlOdtbqlcIdDSdelzXvfm57OI,4205
|
|
37
|
+
fnschoo1/canteen/templates/canteen/ingredient/update.html,sha256=VTlNSvTb-kck0S3bGtvxdJbYAtfszjtUEXP7OYva1FA,819
|
|
38
|
+
fnschoo1/canteen/templates/canteen/meal_type/create.html,sha256=7Pe0RSGtd2G2IMHwnggr0Gzs23oBqpaPqWH5zlNzc_4,596
|
|
39
|
+
fnschoo1/canteen/templates/canteen/meal_type/delete.html,sha256=1UmCyXD-6lbYl-IE63EnQCEXJr82rUCDvycI4bGuMoo,1551
|
|
40
|
+
fnschoo1/canteen/templates/canteen/meal_type/list.html,sha256=c5kJUE1OgpRtSrMV4wFwL_gbRSaX_XMM4Zt1JTx34_g,1907
|
|
41
|
+
fnschoo1/canteen/templates/canteen/meal_type/update.html,sha256=Rfv1TamSFIKHzvUNlgnmrPmfmzrehPpuo5Hv8VF0yek,818
|
|
42
|
+
fnschoo1/canteen/workbook/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
43
|
+
fnschoo1/canteen/workbook/generate.py,sha256=o6dCRE7Ne8tSCZkdu8MIsgvt4UEuf9YiefsBBAGMVec,81958
|
|
44
|
+
fnschoo1/fnschool/__init__.py,sha256=YdtocD2DWeq4iocf-YtZ7SO3z6Yz594IW8Jcj8Zetpw,287
|
|
45
|
+
fnschoo1/fnschool/asgi.py,sha256=kzkqosS10uBlyBX53EXcsATcvEZmac6nsPzyOHCuucE,393
|
|
46
|
+
fnschoo1/fnschool/settings.py,sha256=l9Y1iQCivSfmsNfnHltfXLzxP6gG4VMIL4GEZgAp8YM,4357
|
|
47
|
+
fnschoo1/fnschool/urls.py,sha256=8WPemtCUuStd0R9gDP70c-NRQ5k7G4ksq6dYGH6xCDM,1036
|
|
48
|
+
fnschoo1/fnschool/views.py,sha256=MfujMhFkRLxT-saID1xTU16v0khzIl6ceDl7_JgrgFs,152
|
|
49
|
+
fnschoo1/fnschool/wsgi.py,sha256=dQq4S0vZWCz8w5R9KooJeLYTVFXvEgJRYe7NFZwVxU8,393
|
|
50
|
+
fnschoo1/fnschool/templatetags/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
51
|
+
fnschoo1/fnschool/templatetags/fnschool_tags.py,sha256=l5Zov4VlQKpz-69SFftP4kXyMymz-a0D5F_ss_eiFc4,568
|
|
52
|
+
fnschoo1/locale/en/LC_MESSAGES/django.mo,sha256=M8AB6fmjwlEd761iFlasNWdiEYfE-2nIwBoioGtEVUo,404
|
|
53
|
+
fnschoo1/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=P0tb0kB1WEjdQ87eI-sm0GD4l-MI5JKFsKJA1tcNJs8,19747
|
|
54
|
+
fnschoo1/profiles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
+
fnschoo1/profiles/admin.py,sha256=93UCvdODI63KzCDfFFnKmfvCMGCp6FCG9WErE91i79Y,522
|
|
56
|
+
fnschoo1/profiles/apps.py,sha256=WDu6eceFnDkBFMqquAolMZMo7XPb0ah6l2q2AruTrl4,215
|
|
57
|
+
fnschoo1/profiles/forms.py,sha256=pTSpwU2zCXxo_UpMU_MsDEGnPDgtqZlGJWLyZuuwGrQ,1875
|
|
58
|
+
fnschoo1/profiles/models.py,sha256=23RL4cPxOTguBwLCZu98v2y8Peo6ZJI4psDaBKFzwg8,1603
|
|
59
|
+
fnschoo1/profiles/signals.py,sha256=u5cv6xoZ7PUrKoD6ZOVWLLKg_93w_FCgWIiC4DxJADA,486
|
|
60
|
+
fnschoo1/profiles/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
61
|
+
fnschoo1/profiles/urls.py,sha256=IOQ6GaPdOB4E0J-plfqIFHkabXZwOJKyFCKS7m9uKMY,426
|
|
62
|
+
fnschoo1/profiles/views.py,sha256=msH3WLy08K58IBeAQ7YVUN0AtNv5WLqJSgEoLP5RoPw,1962
|
|
63
|
+
fnschoo1/profiles/migrations/0001_initial.py,sha256=zZ7l2DxJHf7YpLBBX3ztUfCmdoRNz1O5oSrdbBOdPjI,6776
|
|
64
|
+
fnschoo1/profiles/migrations/0002_alter_profile_bio.py,sha256=LD7FdqcJ747XuKfIrZpq7avfx7_uZXr_t-Obc7yntSU,444
|
|
65
|
+
fnschoo1/profiles/migrations/0003_alter_profile_options_alter_profile_address_and_more.py,sha256=R8rIXtXgGgOQKaucoDz93tcrHlzq1B1_Fq5DlWHPDSw,2057
|
|
66
|
+
fnschoo1/profiles/migrations/0004_profile_gender.py,sha256=n5eQwBDRcEORGM7HZOcjoY_m1pckuKbjrwk--J7-LjA,625
|
|
67
|
+
fnschoo1/profiles/migrations/0005_alter_profile_gender.py,sha256=dPAoUEcwjYt6AxgBfRZTCJCnEsJgCAfx_jae32TVLD4,550
|
|
68
|
+
fnschoo1/profiles/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
+
fnschoo1/profiles/templates/profiles/create.html,sha256=roTR6ZwN8TMoKW0ALQ9aBSrc4bfPLaDg8-yipTH8GbY,545
|
|
70
|
+
fnschoo1/profiles/templates/profiles/detail.html,sha256=xowq2ul9RGEHfP9WDuvSAyixWqhvvEeR1P4zH8NS9Dw,582
|
|
71
|
+
fnschoo1/profiles/templates/profiles/edit.html,sha256=HOrMK8RBnYfvY3qNdDjrN5Jd1SPPcR3nHsgEv3HwYDA,421
|
|
72
|
+
fnschoo1/profiles/templates/profiles/log_in.html,sha256=ziOavqdW6PggMLgQGiPnRJRT3GbxjpNKN1UtAROjB7E,724
|
|
73
|
+
fnschoo1/profiles/templates/profiles/log_out.html,sha256=RRb6K-0G1Jm4RhfY9VwftJgNwgI8jsKb_N5Gvp5XtiE,320
|
|
74
|
+
fnschoo1/static/css/bootstrap.min.css,sha256=eGY1FwN6FhXUvbmXraT1t_q2vcNlQa8g5xQDwg8mG6w,280591
|
|
75
|
+
fnschoo1/static/css/fnschool.css,sha256=nPjOh0vWuuFnZWrXcT2E3j3adL77v_PRyeml65MvkEE,418
|
|
76
|
+
fnschoo1/static/images/favicon.ico,sha256=S8Tf0NsUdHnoYO0SEn-sig6YjB0atIpEtSlm7p1HxjY,5014
|
|
77
|
+
fnschoo1/static/js/bootstrap.bundle.min.js,sha256=6kw84LCFc4QJzifgkle0FsvQrpt2NVRNPNjSSc9caiM,125881
|
|
78
|
+
fnschoo1/static/js/bootstrap.min.js,sha256=0SHpZTHghUOz_BNedMzuH00z5lgwOSRKP_KI9G5Ogbk,88597
|
|
79
|
+
fnschoo1/static/js/fnschool.js,sha256=T8qklr48qTIfGPAK7y2A8F3x7mb4p3FJKD0ofZEBEOQ,2803
|
|
80
|
+
fnschoo1/static/js/jquery.min.js,sha256=np_WnfpAmUmEO_iheFAJKf6mbm0_laW3Ns4x7kjSlt4,162505
|
|
81
|
+
fnschoo1/static/js/jquery.slim.min.js,sha256=p5YkbOjgHxX3hTadKlGuDW58NvJ1ldjjokDuDQ_5yXs,129962
|
|
82
|
+
fnschoo1/static/js/popper.min.js,sha256=O2xdmtEow7gq3I7-0lKjshvxHkBe0hTWrMkbX2fy0XQ,36887
|
|
83
|
+
fnschoo1/static_collected/admin/css/autocomplete.css,sha256=q24tDb0vBuAG-_5JwOP7f_OFCIsWfLRB0BFABIm1-nw,9066
|
|
84
|
+
fnschoo1/static_collected/admin/css/base.css,sha256=-2fseq16BSts0QTDqgin7Q1mOvxkYzv-ogxT8I3oODY,20207
|
|
85
|
+
fnschoo1/static_collected/admin/css/changelists.css,sha256=lDHKFDSf8o04mpg7a7iXlAYCfcSgJFaqWZLHuXAbBOI,6285
|
|
86
|
+
fnschoo1/static_collected/admin/css/dark_mode.css,sha256=S87rvM897LwL_QRaTtbgrEX2IHact7w4S6wAGM2X_E4,2763
|
|
87
|
+
fnschoo1/static_collected/admin/css/dashboard.css,sha256=5qhRWlAY8HhHfHbQdEA-esKGc0HOeYsTb0XHvvzhtB0,424
|
|
88
|
+
fnschoo1/static_collected/admin/css/forms.css,sha256=3qkGi1hOos4_idNRj7LYmVRu_MsX7xqodmq7WZXQOkk,8674
|
|
89
|
+
fnschoo1/static_collected/admin/css/login.css,sha256=lSem9spVmFzm6hdwd5_7HMuwXsyEuyWXK3jkl0cJlNg,904
|
|
90
|
+
fnschoo1/static_collected/admin/css/nav_sidebar.css,sha256=TtR2qzDUZDe1woLqH2VUse8XfVFVTVijl6AQql6uZ2Q,2556
|
|
91
|
+
fnschoo1/static_collected/admin/css/responsive.css,sha256=kh8iClaYbJOJ6btvDC7d8waP9jHnqKj190l397YEcUo,16483
|
|
92
|
+
fnschoo1/static_collected/admin/css/responsive_rtl.css,sha256=aL_sNSGgQT-fGwCsv9PHedGCd4mDLYsoJK6yjrs3Cio,1690
|
|
93
|
+
fnschoo1/static_collected/admin/css/rtl.css,sha256=U9e4DCvkQ3WAzlDMdLc9hm5VlN61LtyITN-Ojl6biVs,4722
|
|
94
|
+
fnschoo1/static_collected/admin/css/widgets.css,sha256=_FadWlbQHP8WiqBQLdrwazugPQGE_2IYpIOQLlQMyLw,11347
|
|
95
|
+
fnschoo1/static_collected/admin/css/vendor/select2/select2.css,sha256=kkfmLvhg6Ek2fd05nqb0Rr-VxYlXOSuJ60Nsk-2hYtc,17038
|
|
96
|
+
fnschoo1/static_collected/admin/css/vendor/select2/select2.min.css,sha256=FdatTf20PQr_rWg-cAKfl6j4_IY3oohFAJ7gVC3M34E,14966
|
|
97
|
+
fnschoo1/static_collected/admin/js/SelectBox.js,sha256=ONZjFU81Hspp_98S7CYxPJMoU6_go887kheLRjlX7wc,3884
|
|
98
|
+
fnschoo1/static_collected/admin/js/SelectFilter2.js,sha256=zf0Hvaeel3SxhKqtfEAIpfM3iSkcI8-oRJ_p9WCNl_Q,15320
|
|
99
|
+
fnschoo1/static_collected/admin/js/actions.js,sha256=h95KB1nHullGuJ7wBkKvOAe6aUs8Ztr9ptjZVPqDiF0,7247
|
|
100
|
+
fnschoo1/static_collected/admin/js/autocomplete.js,sha256=6bUEVS2Tn5V3FAUaXc0ycl6vF88m3-2THRrZvcNAjJs,871
|
|
101
|
+
fnschoo1/static_collected/admin/js/calendar.js,sha256=uuODnCGkrNiDZJRoT89OOzGd1lfr0yoL3_MVLMoQt6A,7485
|
|
102
|
+
fnschoo1/static_collected/admin/js/cancel.js,sha256=Q7kGDZK1Gn2rJDVzKDrxjaQZPdUSbpTnuSSOCwacFW4,770
|
|
103
|
+
fnschoo1/static_collected/admin/js/change_form.js,sha256=wzx_Tc1B4WA2cG2P60BNp0DT3oFFAHvEDyrXJz9K7QE,577
|
|
104
|
+
fnschoo1/static_collected/admin/js/collapse.js,sha256=ousYeu1HLiKIxhW-5K3fvwcjZz_3me3sCk0zT-zHHBE,1519
|
|
105
|
+
fnschoo1/static_collected/admin/js/core.js,sha256=8kIXawbVKFsx5JZxssLF2e0TYhpf7jviFQ2YwQz_82M,5083
|
|
106
|
+
fnschoo1/static_collected/admin/js/filters.js,sha256=qiJoCwPLPhdLsijUE1YsmR24Ex08TpLWsZit-tJiwIk,957
|
|
107
|
+
fnschoo1/static_collected/admin/js/inlines.js,sha256=ySTVA4cCgTpjPsgx5ylFid6i3sEFnEu04eJWPWOQSB4,14440
|
|
108
|
+
fnschoo1/static_collected/admin/js/jquery.init.js,sha256=JaKWgrbHRkfJH_oDd1OcfW3FS2XkgGjPKsAAKP0dWP0,347
|
|
109
|
+
fnschoo1/static_collected/admin/js/nav_sidebar.js,sha256=GzryY2_3Uu_RaiHzh-92gKrrBPa_gbcUWjTLaL0kCGk,2642
|
|
110
|
+
fnschoo1/static_collected/admin/js/popup_response.js,sha256=3Ci9qabN7aZyeyGSmvvNWJDPg83J6vT1dfka9OdrsZc,581
|
|
111
|
+
fnschoo1/static_collected/admin/js/prepopulate.js,sha256=WiqEcYM132JeWcPEUJ2Xie98oXB-jeeX4A7FxzoW57o,1330
|
|
112
|
+
fnschoo1/static_collected/admin/js/prepopulate_init.js,sha256=KSHWv-6Gs47qmTjsF6feaTQfghd3HBAwxocln8yn-qg,571
|
|
113
|
+
fnschoo1/static_collected/admin/js/theme.js,sha256=bGUyZ-7MjSFG3__L5TiZ1HxbVQC1iSoTW3Iw1iDzxjQ,1632
|
|
114
|
+
fnschoo1/static_collected/admin/js/urlify.js,sha256=lK9bXrYgMWqj7zVq1RtdzwxIvQDSNwFBVjuxtZbSRlA,7865
|
|
115
|
+
fnschoo1/static_collected/admin/js/admin/DateTimeShortcuts.js,sha256=L65CG2JpQbUUy9j6MMY1qc2-af1kplrDrtgi_AT1wxs,17519
|
|
116
|
+
fnschoo1/static_collected/admin/js/admin/RelatedObjectLookups.js,sha256=9M35LXUkIFiRt2k75nR0wpqZhzk7EgKmpcRQpwE24A8,8184
|
|
117
|
+
fnschoo1/static_collected/admin/js/vendor/jquery/jquery.js,sha256=THMYZJnIGYwZSRXu1a65luWEwpRP8MwpkzyoioaCR2Q,329168
|
|
118
|
+
fnschoo1/static_collected/admin/js/vendor/jquery/jquery.min.js,sha256=MonzFlcAQzntZ48WxOYmmH5XMD8hB1d-1Jc_bJ4QUmA,86512
|
|
119
|
+
fnschoo1/static_collected/admin/js/vendor/select2/select2.full.js,sha256=F7388RjwR13LBLZw8md1HSoW9o68Re36y4uB7RDQ-P0,200502
|
|
120
|
+
fnschoo1/static_collected/admin/js/vendor/select2/select2.full.min.js,sha256=XG_auAy4aieWldzMImofrFDiySK-pwJC7aoo9St7rS0,79212
|
|
121
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/af.js,sha256=WPP1ybPWdv6CQ7pawhohwfTGQe99H3einHgPlyG94ME,1245
|
|
122
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ar.js,sha256=p12F5_ur_MkBFRN2PuecrsGiBx2ZmfiEpXYiEyWR9-Y,1193
|
|
123
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/az.js,sha256=cY6DJm9ZZUaCCXAbkymDDGkirRs_BbP0JmV5vDQ82qg,976
|
|
124
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/bg.js,sha256=tIbIs6FItUM3YStNF3gmIRGifZ-s97QmfPcp1JVCRC4,1317
|
|
125
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/bn.js,sha256=TbQQA17z4MCrLiYQv-BR5fJptYFrqJYMbddDWhSRxio,1632
|
|
126
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/bs.js,sha256=PQXQ7qYfMjtp2fIbM-PkqFNNFk--FZU874VhJnrkxa8,1424
|
|
127
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ca.js,sha256=MaKiQzh0GPsR9SoHeNTMaOERsNY673UQBj6YzQlRROg,1270
|
|
128
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/cs.js,sha256=yqhx3sMd4K587SjjfRnYIH4nDAuLsGxGtcjtfNkw3S0,1890
|
|
129
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/da.js,sha256=pADnQC2IXJYbBZAusP1wDHJl3bSFxPmRXcQxLPDvFzY,1134
|
|
130
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/de.js,sha256=Cy45xSw1OWdyhbcxWPj_OGedF-ofnKzr0XlVCo5GABI,1220
|
|
131
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/dsb.js,sha256=H42LglC73M-qXn9zC5ljwLH5cIInQJRn1efAh8m7Y8g,1517
|
|
132
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/el.js,sha256=IrtjgFFBnOHNfde5UqlbTpBXidzNv-DkvIheBFN8GCs,1575
|
|
133
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/en.js,sha256=kpJh3Um3wdLY7RrOnHFT1YSneEJDoIr7mrCeaNzUzrw,1203
|
|
134
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/es.js,sha256=w0JUdKmdDTaMoYOnUIXDhbqZ9wHL0_uDw99u4FMLln4,1292
|
|
135
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/et.js,sha256=wa9xJL4sUhjJo2di1WoCqSNLIyikp70Yk_e5UhnWYyk,1162
|
|
136
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/eu.js,sha256=J4oEvVzxZVwFS5HgxskIAm2ejL0K-i0y6wGMfWmdEYQ,1286
|
|
137
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/fa.js,sha256=nXDA92i2xKY2rfBTSBL_oNZ3IoLEespTWsG18h9NpuY,1375
|
|
138
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/fi.js,sha256=3GR9k8HLqyYekBj_PzPGNAZPMj1LBz_QymR0rgzG5qw,1155
|
|
139
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/fr.js,sha256=464u6a_utb72Cw4YfnysvRsIdMnwV6BZ_TX8Y-V8dtg,1308
|
|
140
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/gl.js,sha256=sLQ7m6_VHhLvtiX0yB4zjsSJ-OQRf0GDi-G-IzkybTo,1267
|
|
141
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/he.js,sha256=VUwk7PZdM7XxFORjitNzBa5P_nI2nWJav1STuoQjvT8,1393
|
|
142
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/hi.js,sha256=SirOla11XhXVYHsma_TMXYxmCKKftFccZ55op-8em3A,1516
|
|
143
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/hr.js,sha256=hx5iaFV3w4dSX1cjDMZfUlwcCOOcNyre2zqCrlzkAcw,1249
|
|
144
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/hsb.js,sha256=iHT2r3cK_erxVn-cwTg4QjI5WLodTXufHP9JAiUbtrY,1518
|
|
145
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/hu.js,sha256=8HSN6sQ5yEj8HCykuwFAN0UerUK9gk-ufMGzBFH-TB0,1203
|
|
146
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/hy.js,sha256=pwXoYvJlOmRSEbeACQfpO0GBAgO0DmesTVRJbJ87I_4,1358
|
|
147
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/id.js,sha256=hFR9w5Qe3mQ57BHGydp3HxUUEIC2_OrgX3pKNLfI7Ms,1056
|
|
148
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/is.js,sha256=lyXgc6hCS57q-E1gDYvqYLuyscZp5E8ocr_oR58t1tc,1133
|
|
149
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/it.js,sha256=9eGrIkSpyiQ4nz7Jp7XJYnEt0_f2xi69DkZj1yNiNaQ,1285
|
|
150
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ja.js,sha256=oV35uOfdp9CD7EpHIhu-QIDbDeNBnt4EZUGE8vjgdjw,1186
|
|
151
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ka.js,sha256=AFYbBtYX5gxhYtuKq9BF3URcGO16A9kbM7qFwJov-HU,1547
|
|
152
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/km.js,sha256=4Sf2qziH20c4jmqn78dwoVlUhWPW146c4B1AtfbltMM,1398
|
|
153
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ko.js,sha256=awZsrGYqHEkV8qtT6Bx2owL4_c83nRpxPs89IOcGUGA,1207
|
|
154
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/lt.js,sha256=GmbIW2fcUstZuUw3WbdYP4EdQ99opEAGn3hXUPuTR-A,1382
|
|
155
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/lv.js,sha256=XMgKJsi5WDBNo-GUqRKhXPKeuT9HBU3mWgCAK9rFF4U,1271
|
|
156
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/mk.js,sha256=LG_CIng90hTyl1Wxw1_qPMcQ9xhNax0oQv-32PK3hro,1421
|
|
157
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ms.js,sha256=HbHX3_3ZnkRM97zy2HoXtrLM54NolV39zGIRYEWQ3ps,1121
|
|
158
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/nb.js,sha256=hRfJ_2hJEtWO4CR1Pj__kXL4fR78hbA9maplJEtYIm4,1088
|
|
159
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ne.js,sha256=ZjKCWSPb_jbX4dDuwrevwvhYe4iZRMTyS4khxz9I5hc,1759
|
|
160
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/nl.js,sha256=uAKjvD8nxOLX92uHWJ50tRqFDYZ-OMRO8roGQHQEmu0,1321
|
|
161
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/pl.js,sha256=1s4kdsSLzNhNo1hTflpkG6Hv0m5Xx-qR3DpZ_G4qx_s,1333
|
|
162
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ps.js,sha256=TFBXIZabmiEpEzV0uN4VqshXluaKOlLMGSp5kKXb7TI,1410
|
|
163
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/pt-BR.js,sha256=BVah91_gKHMaSdcMAs3JnYqwr0ZU7URQaIsHEXvHF64,1221
|
|
164
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/pt.js,sha256=NCBKPX3PRNhOijfFsVxLl8MwCGv2H_cLuvxYB7mbaaU,1239
|
|
165
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ro.js,sha256=4UVm_MtJFoPv0-Lw-Ljr-XCq44Mp19Fabj0YIfPDnOc,1320
|
|
166
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/ru.js,sha256=X1ZaANRO8ZyAk9vM0mP8uO3bDYfe3bDHaNYffyZhmS8,1633
|
|
167
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/sk.js,sha256=_6ajTitAEL2o89HJDepnqwvk6ojKblg-S_nXyYpGEaw,1895
|
|
168
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/sl.js,sha256=0WYBm4I86DH1UwtvAUXL2Dj-3FuYNkrZsa6VzusMLPI,1323
|
|
169
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/sq.js,sha256=ZQxgingiZ61sR088EDzbe970VwyJMk7AY2MOu8qnblQ,1282
|
|
170
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/sr-Cyrl.js,sha256=8r2VsfdC05caUdFo5Tet9cyhv8KiSdS1xMKBwNTigUw,1568
|
|
171
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/sr.js,sha256=Lw9WNTww5t-Nv6bpg5SnCSyrVpjSo41J_Y38vDbWVYM,1439
|
|
172
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/sv.js,sha256=mTHZj5LH7Fg77CwX4S21KC_jC6gSA2CaRtRAevypmzw,1116
|
|
173
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/th.js,sha256=-JmBrJY0jABqkbVJ7Iwg9jRm6hVR8IvkVJwAVuM8oJg,1362
|
|
174
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/tk.js,sha256=DHd1xbSDoxhp-efiEctbYi4_zmW6QLgq0lwD8JVNCFM,1056
|
|
175
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/tr.js,sha256=STOj8CEOY6QnNU1atvE-zYh3aGEpqe_2eLW8Vw8ghV4,1102
|
|
176
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/uk.js,sha256=NcF2AUeLlzUF74flMsyMwN6vbn5x5EX56QMNjN7tuWA,1717
|
|
177
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/vi.js,sha256=nh222BQeMvcIHLIr8tNTHIKiDdRFQMpCJFrHVIHAWbI,1099
|
|
178
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/zh-CN.js,sha256=Zsy7KfKg9WgInYviGjpS-RNQetyaZ0jDSkK5X3FLd1A,1056
|
|
179
|
+
fnschoo1/static_collected/admin/js/vendor/select2/i18n/zh-TW.js,sha256=IqFNL6uzC0ehym7g6bCUg1P1khWBD3LzBQ1pGmRrG0Q,968
|
|
180
|
+
fnschoo1/static_collected/admin/js/vendor/xregexp/xregexp.js,sha256=tHTyafGwj1dGD7WN72h9k1S8tuf2sDuiO3drXjn_AaM,266485
|
|
181
|
+
fnschoo1/static_collected/admin/js/vendor/xregexp/xregexp.min.js,sha256=e2iDfG6V1sfGUB92i5yNqQamsMCc8An0SFzoo3vbylg,125266
|
|
182
|
+
fnschoo1/static_collected/css/bootstrap.min.css,sha256=eGY1FwN6FhXUvbmXraT1t_q2vcNlQa8g5xQDwg8mG6w,280591
|
|
183
|
+
fnschoo1/static_collected/css/fnschool.css,sha256=nPjOh0vWuuFnZWrXcT2E3j3adL77v_PRyeml65MvkEE,418
|
|
184
|
+
fnschoo1/static_collected/images/favicon.ico,sha256=S8Tf0NsUdHnoYO0SEn-sig6YjB0atIpEtSlm7p1HxjY,5014
|
|
185
|
+
fnschoo1/static_collected/js/bootstrap.bundle.min.js,sha256=6kw84LCFc4QJzifgkle0FsvQrpt2NVRNPNjSSc9caiM,125881
|
|
186
|
+
fnschoo1/static_collected/js/bootstrap.min.js,sha256=0SHpZTHghUOz_BNedMzuH00z5lgwOSRKP_KI9G5Ogbk,88597
|
|
187
|
+
fnschoo1/static_collected/js/fnschool.js,sha256=T8qklr48qTIfGPAK7y2A8F3x7mb4p3FJKD0ofZEBEOQ,2803
|
|
188
|
+
fnschoo1/static_collected/js/jquery.min.js,sha256=np_WnfpAmUmEO_iheFAJKf6mbm0_laW3Ns4x7kjSlt4,162505
|
|
189
|
+
fnschoo1/static_collected/js/jquery.slim.min.js,sha256=p5YkbOjgHxX3hTadKlGuDW58NvJ1ldjjokDuDQ_5yXs,129962
|
|
190
|
+
fnschoo1/static_collected/js/popper.min.js,sha256=O2xdmtEow7gq3I7-0lKjshvxHkBe0hTWrMkbX2fy0XQ,36887
|
|
191
|
+
fnschoo1/templates/close.html,sha256=pLYeJmGaOEJKMUJdZmYzz_n--l28IRDQ4fXvetP_Vsc,200
|
|
192
|
+
fnschoo1/templates/home.html,sha256=4iq52z9BuEHyFk4jKcJSZEQBB6VqJ4dvr47L6C57tss,1106
|
|
193
|
+
fnschoo1/templates/base/_content.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
194
|
+
fnschoo1/templates/base/_css.html,sha256=I7We2o3BzNq4PBN72UOKAtXHkZ1Xb-eYP8N4bF3rm1w,16
|
|
195
|
+
fnschoo1/templates/base/_js.html,sha256=E2mgj6LQjd37r660iG2cAIOfofwuwMC6SZ59fj6wUnA,443
|
|
196
|
+
fnschoo1/templates/base/content.html,sha256=wbbZVWuZwL7EX0K6x5Ex1sYx0N2YteA0XMAdGsW_ScU,974
|
|
197
|
+
fnschoo1/templates/base/header_content_footer.html,sha256=8HyXN5B0u2bUtAXvnTkFsUhRHNA_Y3V87KuosQoPPJ4,1134
|
|
198
|
+
fnschoo1/templates/includes/_footer.html,sha256=6qaI7S63vz33B-HyhsnjVQDMNlOARLHjNcQeqxtlOIE,1490
|
|
199
|
+
fnschoo1/templates/includes/_header.html,sha256=2gQnNkHo92uayqatMCrXnQ751sViR7CiBOg3hN5GBL4,2784
|
|
200
|
+
fnschoo1/templates/includes/_navigation.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
201
|
+
fnschoo1/templates/includes/_paginator.html,sha256=Z-Hxcdmun4SJ1YcHnWTDLfW8wrngROiBTwr4NZWaPP4,1246
|
|
202
|
+
fnschoo1/templates/registration/logged_out.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
203
|
+
fnschoo1/templates/registration/login.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
204
|
+
fnschool-20251011.81638.854.dist-info/licenses/LICENSE,sha256=2n6rt7r999OuXp8iOqW9we7ORaxWncIbOwN1ILRGR2g,7651
|
|
205
|
+
fnschool-20251011.81638.854.dist-info/METADATA,sha256=iGgLq--bWTo_FON2J--keu_xkU8kUNenpwg_wTOWskU,4752
|
|
206
|
+
fnschool-20251011.81638.854.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
207
|
+
fnschool-20251011.81638.854.dist-info/entry_points.txt,sha256=To2PDA9r0qhE0Wq1-M8hEE8uXxTrTe16BOcpKPT-q5g,47
|
|
208
|
+
fnschool-20251011.81638.854.dist-info/top_level.txt,sha256=s6ZKnNm94Q0-247a50eI7jDK98uPF6P2kC9Ovd3LUlM,9
|
|
209
|
+
fnschool-20251011.81638.854.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
fnschoo1
|
fnschool/__init__.py
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import sys
|
|
3
|
-
import argparse
|
|
4
|
-
import random
|
|
5
|
-
from pathlib import Path
|
|
6
|
-
import tomllib
|
|
7
|
-
import re
|
|
8
|
-
import math
|
|
9
|
-
import copy
|
|
10
|
-
from datetime import datetime, timedelta
|
|
11
|
-
from tkinter import filedialog, ttk
|
|
12
|
-
import tkinter as tk
|
|
13
|
-
|
|
14
|
-
import calendar
|
|
15
|
-
from datetime import datetime
|
|
16
|
-
|
|
17
|
-
import pandas as pd
|
|
18
|
-
import numpy as np
|
|
19
|
-
from openpyxl import load_workbook
|
|
20
|
-
from openpyxl.styles import numbers
|
|
21
|
-
from openpyxl.styles import Font
|
|
22
|
-
from fnschool.app import *
|
|
23
|
-
from fnschool.language import _
|
|
24
|
-
from fnschool.inoutput import *
|
|
25
|
-
from fnschool.path import *
|
|
26
|
-
from fnschool.entry import *
|
|
27
|
-
from fnschool.external import *
|
|
28
|
-
from fnschool.user import *
|
|
29
|
-
from fnschool.config import *
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
__version__ = "20250109.80531.837"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
# The end.
|
fnschool/__main__.py
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import sys
|
|
3
|
-
from pathlib import Path
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
p_dpath = (Path(__file__).parent.parent).as_posix()
|
|
7
|
-
if not p_dpath in sys.path:
|
|
8
|
-
sys.path.append(p_dpath)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
from fnschool import *
|
|
12
|
-
from fnschool.entry import *
|
|
13
|
-
|
|
14
|
-
read_cli()
|
|
15
|
-
|
|
16
|
-
# The end.
|
fnschool/app.py
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import sys
|
|
3
|
-
import random
|
|
4
|
-
|
|
5
|
-
app_name = "fnschool"
|
|
6
|
-
app_author = "larryw3i"
|
|
7
|
-
app_version = None
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def get_app_version():
|
|
11
|
-
|
|
12
|
-
global app_version
|
|
13
|
-
if not app_version:
|
|
14
|
-
from fnschool import __version__
|
|
15
|
-
|
|
16
|
-
app_version = __version__
|
|
17
|
-
return app_version
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def print_app():
|
|
21
|
-
|
|
22
|
-
app_name = random.choice(
|
|
23
|
-
[
|
|
24
|
-
[
|
|
25
|
-
r" _____ _ _ ____ ____ _ _ ___ ___ _ ",
|
|
26
|
-
r"| ___| \ | / ___| / ___| | | |/ _ \ / _ \| | ",
|
|
27
|
-
r"| |_ | \| \___ \| | | |_| | | | | | | | | ",
|
|
28
|
-
r"| _| | |\ |___) | |___| _ | |_| | |_| | |___ ",
|
|
29
|
-
r"|_| |_| \_|____/ \____|_| |_|\___/ \___/|_____|",
|
|
30
|
-
r"",
|
|
31
|
-
],
|
|
32
|
-
[
|
|
33
|
-
r"|`````````````````````````````````````````````````|",
|
|
34
|
-
r"| _____ _ _ ____ ____ _ _ ___ ___ _ |",
|
|
35
|
-
r"|| ___| \ | / ___| / ___| | | |/ _ \ / _ \| | |",
|
|
36
|
-
r"|| |_ | \| \___ \| | | |_| | | | | | | | | |",
|
|
37
|
-
r"|| _| | |\ |___) | |___| _ | |_| | |_| | |___ |",
|
|
38
|
-
r"||_| |_| \_|____/ \____|_| |_|\___/ \___/|_____||",
|
|
39
|
-
r"| |",
|
|
40
|
-
r"```````````````````````````````````````````````````",
|
|
41
|
-
r"",
|
|
42
|
-
],
|
|
43
|
-
[
|
|
44
|
-
"",
|
|
45
|
-
" ▄▄ ▗▖ ▗▄▖ ",
|
|
46
|
-
" ▐▛▀ ▐▌ ▝▜▌ ",
|
|
47
|
-
"▐███ ▐▙██▖▗▟██▖ ▟██▖▐▙██▖ ▟█▙ ▟█▙ ▐▌ ",
|
|
48
|
-
" ▐▌ ▐▛ ▐▌▐▙▄▖▘▐▛ ▘▐▛ ▐▌▐▛ ▜▌▐▛ ▜▌ ▐▌ ",
|
|
49
|
-
" ▐▌ ▐▌ ▐▌ ▀▀█▖▐▌ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌ ▐▌ ",
|
|
50
|
-
" ▐▌ ▐▌ ▐▌▐▄▄▟▌▝█▄▄▌▐▌ ▐▌▝█▄█▘▝█▄█▘ ▐▙▄",
|
|
51
|
-
" ▝▘ ▝▘ ▝▘ ▀▀▀ ▝▀▀ ▝▘ ▝▘ ▝▀▘ ▝▀▘ ▀▀",
|
|
52
|
-
"",
|
|
53
|
-
],
|
|
54
|
-
[
|
|
55
|
-
" _______________________________________",
|
|
56
|
-
"| ▄▄ ▗▖ ▗▄▖ |",
|
|
57
|
-
"| ▐▛▀ ▐▌ ▝▜▌ |",
|
|
58
|
-
"|▐███ ▐▙██▖▗▟██▖ ▟██▖▐▙██▖ ▟█▙ ▟█▙ ▐▌ |",
|
|
59
|
-
"| ▐▌ ▐▛ ▐▌▐▙▄▖▘▐▛ ▘▐▛ ▐▌▐▛ ▜▌▐▛ ▜▌ ▐▌ |",
|
|
60
|
-
"| ▐▌ ▐▌ ▐▌ ▀▀█▖▐▌ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌ ▐▌ |",
|
|
61
|
-
"| ▐▌ ▐▌ ▐▌▐▄▄▟▌▝█▄▄▌▐▌ ▐▌▝█▄█▘▝█▄█▘ ▐▙▄|",
|
|
62
|
-
"| ▝▘ ▝▘ ▝▘ ▀▀▀ ▝▀▀ ▝▘ ▝▘ ▝▀▘ ▝▀▘ ▀▀|",
|
|
63
|
-
"|_______________________________________|",
|
|
64
|
-
"",
|
|
65
|
-
],
|
|
66
|
-
[
|
|
67
|
-
"",
|
|
68
|
-
"▗▄▄▄▖▗▄ ▗▖ ▗▄▖ ▄▄ ▗▖ ▗▖ ▗▄▖ ▗▄▖ ▗▖ ",
|
|
69
|
-
"▐▛▀▀▘▐█ ▐▌▗▛▀▜ █▀▀▌▐▌ ▐▌ █▀█ █▀█ ▐▌ ",
|
|
70
|
-
"▐▌ ▐▛▌▐▌▐▙ ▐▛ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌ ",
|
|
71
|
-
"▐███ ▐▌█▐▌ ▜█▙ ▐▌ ▐███▌▐▌ ▐▌▐▌ ▐▌▐▌ ",
|
|
72
|
-
"▐▌ ▐▌▐▟▌ ▜▌▐▙ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌ ",
|
|
73
|
-
"▐▌ ▐▌ █▌▐▄▄▟▘ █▄▄▌▐▌ ▐▌ █▄█ █▄█ ▐▙▄▄▖",
|
|
74
|
-
"▝▘ ▝▘ ▀▘ ▀▀▘ ▀▀ ▝▘ ▝▘ ▝▀▘ ▝▀▘ ▝▀▀▀▘",
|
|
75
|
-
"",
|
|
76
|
-
],
|
|
77
|
-
[
|
|
78
|
-
"============================================",
|
|
79
|
-
"||▗▄▄▄▖▗▄ ▗▖ ▗▄▖ ▄▄ ▗▖ ▗▖ ▗▄▖ ▗▄▖ ▗▖ ||",
|
|
80
|
-
"||▐▛▀▀▘▐█ ▐▌▗▛▀▜ █▀▀▌▐▌ ▐▌ █▀█ █▀█ ▐▌ ||",
|
|
81
|
-
"||▐▌ ▐▛▌▐▌▐▙ ▐▛ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌ ||",
|
|
82
|
-
"||▐███ ▐▌█▐▌ ▜█▙ ▐▌ ▐███▌▐▌ ▐▌▐▌ ▐▌▐▌ ||",
|
|
83
|
-
"||▐▌ ▐▌▐▟▌ ▜▌▐▙ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌ ||",
|
|
84
|
-
"||▐▌ ▐▌ █▌▐▄▄▟▘ █▄▄▌▐▌ ▐▌ █▄█ █▄█ ▐▙▄▄▖||",
|
|
85
|
-
"||▝▘ ▝▘ ▀▘ ▀▀▘ ▀▀ ▝▘ ▝▘ ▝▀▘ ▝▀▘ ▝▀▀▀▘||",
|
|
86
|
-
"============================================",
|
|
87
|
-
"",
|
|
88
|
-
],
|
|
89
|
-
]
|
|
90
|
-
)
|
|
91
|
-
|
|
92
|
-
app_name_len = max([len(l) for l in app_name])
|
|
93
|
-
version = "v" + get_app_version()
|
|
94
|
-
version0 = f"{version:>{app_name_len}}"
|
|
95
|
-
version1 = f"{version:^{app_name_len}}"
|
|
96
|
-
|
|
97
|
-
app_name = "\n".join(app_name)
|
|
98
|
-
version = random.choice([version0, version1])
|
|
99
|
-
app_info = "\n" + app_name + version + "\n"
|
|
100
|
-
print(app_info)
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
# The end.
|
fnschool/canteen/__init__.py
DELETED
fnschool/canteen/__main__.py
DELETED
fnschool/canteen/bill.py
DELETED
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import sys
|
|
3
|
-
import calendar
|
|
4
|
-
from fnschool import *
|
|
5
|
-
|
|
6
|
-
from fnschool.canteen.spreadsheet.spreadsheet import *
|
|
7
|
-
from fnschool.canteen.operator import *
|
|
8
|
-
from fnschool.canteen.path import *
|
|
9
|
-
from fnschool.canteen.currency import Currency
|
|
10
|
-
from fnschool.canteen.consuming import Consuming
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class Bill:
|
|
14
|
-
def __init__(self):
|
|
15
|
-
self._spreadsheet = None
|
|
16
|
-
self._foods = None
|
|
17
|
-
self._time_nodes = None
|
|
18
|
-
self._operator_name = None
|
|
19
|
-
self._food_classes = None
|
|
20
|
-
self._operator = None
|
|
21
|
-
self._currency = None
|
|
22
|
-
self._consuming = None
|
|
23
|
-
self.significant_digits = 2
|
|
24
|
-
self._meal_type = None
|
|
25
|
-
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
@property
|
|
29
|
-
def currency(self):
|
|
30
|
-
if not self._currency:
|
|
31
|
-
self._currency = Currency().CNY if is_zh_CN else Currency().CNY
|
|
32
|
-
return self._currency
|
|
33
|
-
|
|
34
|
-
@property
|
|
35
|
-
def consuming(self):
|
|
36
|
-
if not self._consuming:
|
|
37
|
-
self._consuming = Consuming(self)
|
|
38
|
-
return self._consuming
|
|
39
|
-
|
|
40
|
-
def get_CNY_chars(self, value):
|
|
41
|
-
format_word = [
|
|
42
|
-
"分",
|
|
43
|
-
"角",
|
|
44
|
-
"元",
|
|
45
|
-
"拾",
|
|
46
|
-
"佰",
|
|
47
|
-
"仟",
|
|
48
|
-
"万",
|
|
49
|
-
"拾",
|
|
50
|
-
"佰",
|
|
51
|
-
"仟",
|
|
52
|
-
"亿",
|
|
53
|
-
"拾",
|
|
54
|
-
"佰",
|
|
55
|
-
"仟",
|
|
56
|
-
"万",
|
|
57
|
-
"拾",
|
|
58
|
-
"佰",
|
|
59
|
-
"仟",
|
|
60
|
-
"兆",
|
|
61
|
-
]
|
|
62
|
-
|
|
63
|
-
format_num = [
|
|
64
|
-
"零",
|
|
65
|
-
"壹",
|
|
66
|
-
"贰",
|
|
67
|
-
"叁",
|
|
68
|
-
"肆",
|
|
69
|
-
"伍",
|
|
70
|
-
"陆",
|
|
71
|
-
"柒",
|
|
72
|
-
"捌",
|
|
73
|
-
"玖",
|
|
74
|
-
]
|
|
75
|
-
if type(value) == str:
|
|
76
|
-
if "." in value:
|
|
77
|
-
try:
|
|
78
|
-
value = float(value)
|
|
79
|
-
except:
|
|
80
|
-
print_info(_("%s can't change.") % value)
|
|
81
|
-
else:
|
|
82
|
-
try:
|
|
83
|
-
value = int(value)
|
|
84
|
-
except:
|
|
85
|
-
print_info(_("%s can't change.") % value)
|
|
86
|
-
|
|
87
|
-
if type(value) == float:
|
|
88
|
-
real_numbers = []
|
|
89
|
-
for i in range(len(format_word) - 3, -3, -1):
|
|
90
|
-
if value >= 10**i or i < 1:
|
|
91
|
-
real_numbers.append(int(round(value / (10**i), 2) % 10))
|
|
92
|
-
|
|
93
|
-
elif isinstance(value, int):
|
|
94
|
-
real_numbers = []
|
|
95
|
-
for i in range(len(format_word), -3, -1):
|
|
96
|
-
if value >= 10**i or i < 1:
|
|
97
|
-
real_numbers.append(int(round(value / (10**i), 2) % 10))
|
|
98
|
-
|
|
99
|
-
else:
|
|
100
|
-
print_info(_("%s can't change.") % value)
|
|
101
|
-
|
|
102
|
-
zflag = 0
|
|
103
|
-
start = len(real_numbers) - 3
|
|
104
|
-
CNY_chars = []
|
|
105
|
-
for i in range(start, -3, -1):
|
|
106
|
-
if 0 < real_numbers[start - i] or len(CNY_chars) == 0:
|
|
107
|
-
if zflag:
|
|
108
|
-
CNY_chars.append(format_num[0])
|
|
109
|
-
zflag = 0
|
|
110
|
-
CNY_chars.append(format_num[real_numbers[start - i]])
|
|
111
|
-
CNY_chars.append(format_word[i + 2])
|
|
112
|
-
|
|
113
|
-
elif 0 == i or (0 == i % 4 and zflag < 3):
|
|
114
|
-
CNY_chars.append(format_word[i + 2])
|
|
115
|
-
zflag = 0
|
|
116
|
-
else:
|
|
117
|
-
zflag += 1
|
|
118
|
-
|
|
119
|
-
if CNY_chars[-1] not in (
|
|
120
|
-
format_word[0],
|
|
121
|
-
# format_word[1]
|
|
122
|
-
):
|
|
123
|
-
CNY_chars.append("整")
|
|
124
|
-
|
|
125
|
-
result = "".join(CNY_chars)
|
|
126
|
-
return result
|
|
127
|
-
|
|
128
|
-
@property
|
|
129
|
-
def spreadsheet(self):
|
|
130
|
-
if not self._spreadsheet:
|
|
131
|
-
self._spreadsheet = SpreadSheet(self)
|
|
132
|
-
return self._spreadsheet
|
|
133
|
-
|
|
134
|
-
@property
|
|
135
|
-
def foods(self):
|
|
136
|
-
if not self._foods:
|
|
137
|
-
self._foods = self.spreadsheet.purchasing.read_pfoods()
|
|
138
|
-
return self._foods
|
|
139
|
-
|
|
140
|
-
@foods.setter
|
|
141
|
-
def foods(self, foods):
|
|
142
|
-
self._foods = foods
|
|
143
|
-
|
|
144
|
-
@property
|
|
145
|
-
def meal_type(self):
|
|
146
|
-
if not self._meal_type:
|
|
147
|
-
if len(self.foods) > 0:
|
|
148
|
-
self._meal_type = self.foods[0].meal_type
|
|
149
|
-
|
|
150
|
-
return self._meal_type
|
|
151
|
-
|
|
152
|
-
@meal_type.setter
|
|
153
|
-
def meal_type(self, mtype):
|
|
154
|
-
self._meal_type = mtype
|
|
155
|
-
|
|
156
|
-
@meal_type.deleter
|
|
157
|
-
def meal_type(self):
|
|
158
|
-
self._meal_type = None
|
|
159
|
-
|
|
160
|
-
@property
|
|
161
|
-
def purchaser(self):
|
|
162
|
-
purchaser = self.foods[-1].purchaser
|
|
163
|
-
return purchaser
|
|
164
|
-
|
|
165
|
-
def make_spreadsheets_g(self):
|
|
166
|
-
pass
|
|
167
|
-
|
|
168
|
-
def make_spreadsheets(self):
|
|
169
|
-
self.spreadsheet.update()
|
|
170
|
-
pass
|
|
171
|
-
|
|
172
|
-
def merge_foodsheets(self):
|
|
173
|
-
self.spreadsheet.merge()
|
|
174
|
-
pass
|
|
175
|
-
|
|
176
|
-
@property
|
|
177
|
-
def time_nodes(self):
|
|
178
|
-
if not self._time_nodes:
|
|
179
|
-
year = self.get_consuming_year()
|
|
180
|
-
month = self.get_consuming_month()
|
|
181
|
-
self._time_nodes = sorted(
|
|
182
|
-
list(
|
|
183
|
-
set(
|
|
184
|
-
[f.xdate for f in self.foods]
|
|
185
|
-
+ [
|
|
186
|
-
datetime(
|
|
187
|
-
year,
|
|
188
|
-
month,
|
|
189
|
-
calendar.monthrange(year, month)[1],
|
|
190
|
-
)
|
|
191
|
-
]
|
|
192
|
-
)
|
|
193
|
-
)
|
|
194
|
-
)
|
|
195
|
-
|
|
196
|
-
return self._time_nodes
|
|
197
|
-
|
|
198
|
-
@property
|
|
199
|
-
def food_class_names(self):
|
|
200
|
-
fclass_names = ["蔬菜类"] + list(self.food_classes.keys())
|
|
201
|
-
return fclass_names
|
|
202
|
-
|
|
203
|
-
@property
|
|
204
|
-
def food_classes(self):
|
|
205
|
-
if not self._food_classes:
|
|
206
|
-
print_info(_("Food classes files:"))
|
|
207
|
-
for f in [
|
|
208
|
-
self.operator.food_classes_fpath,
|
|
209
|
-
food_classes_config0_fpath,
|
|
210
|
-
]:
|
|
211
|
-
|
|
212
|
-
print("\t", f)
|
|
213
|
-
|
|
214
|
-
with open(self.operator.food_classes_fpath, "rb") as f:
|
|
215
|
-
self._food_classes = tomllib.load(f)
|
|
216
|
-
print_info(
|
|
217
|
-
_(
|
|
218
|
-
'Your food classes were read from "{0}". '
|
|
219
|
-
+ "It will be used first."
|
|
220
|
-
).format(self.operator.food_classes_fpath)
|
|
221
|
-
)
|
|
222
|
-
|
|
223
|
-
food_classes0 = None
|
|
224
|
-
with open(food_classes_config0_fpath, "rb") as f:
|
|
225
|
-
food_classes0 = tomllib.load(f)
|
|
226
|
-
print_info(
|
|
227
|
-
_('Preset food classes were read from "{0}".').format(
|
|
228
|
-
food_classes_config0_fpath
|
|
229
|
-
)
|
|
230
|
-
)
|
|
231
|
-
for fclass, name_likes in food_classes0.items():
|
|
232
|
-
if fclass in self._food_classes.keys():
|
|
233
|
-
user_name_likes = self._food_classes.get(fclass)
|
|
234
|
-
for name_like in name_likes:
|
|
235
|
-
if not name_like in user_name_likes:
|
|
236
|
-
user_name_likes.append(name_like)
|
|
237
|
-
self._food_classes[fclass] = user_name_likes
|
|
238
|
-
else:
|
|
239
|
-
self._food_classes[fclass] = name_likes
|
|
240
|
-
|
|
241
|
-
print_info(_("Ok! I know it. (Press any key to continue)"))
|
|
242
|
-
get_input()
|
|
243
|
-
|
|
244
|
-
return self._food_classes
|
|
245
|
-
|
|
246
|
-
@property
|
|
247
|
-
def operator(self):
|
|
248
|
-
if not self._operator:
|
|
249
|
-
self._operator = Operator(self)
|
|
250
|
-
return self._operator
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
# The end.
|
fnschool/canteen/canteen.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# The end.
|